3
0
Mirror von https://github.com/PaperMC/Velocity.git synchronisiert 2024-09-29 14:40:21 +02:00
Commit graph

1140 Commits

Autor SHA1 Nachricht Datum
Andrew Steinborn
0af9d9d77b Reimplement packet length checks 2021-05-14 09:24:39 -04:00
Andrew Steinborn
14be98c88c Banish all use of Optionals from Velocity entirely 2021-05-13 04:35:50 -04:00
Andrew Steinborn
6cd3b00428 Fix suppress warnings on the packets 2021-05-13 04:25:06 -04:00
Andrew Steinborn
3c41211163 Switch over to Error Prone (now with NullAway!)
There is one major change: we now have a separate artifact for the annotation processor.

As for NullAway, we are currently exempting the clientbound join game/respawn packets. They are ugly and need to be refactored.
2021-05-13 04:13:15 -04:00
Andrew Steinborn
00cc636d6a Remove essentially all use of Java Optionals from the API
Also fix extended handshake event handling
2021-05-12 12:33:55 -04:00
Andrew Steinborn
6fcef41146 Reimplement #434 but aligned to the Velocity 2.0.0 API 2021-05-12 10:03:48 -04:00
Andrew Steinborn
11928f3737 Fix warning when using a Unix domain socket to connect to a server 2021-05-12 09:15:37 -04:00
Andrew Steinborn
47a1332514 Add equals/hashCode to all results and remove another result I don't like
Fixes #483
2021-05-11 06:52:46 -04:00
Andrew Steinborn
f4fc07768b Simplify event result structure and add some convenience methods 2021-05-11 06:40:22 -04:00
Andrew Steinborn
b239a91388 Finish overhaul of packet state/registry system 2021-05-11 03:21:08 -04:00
Andrew Steinborn
af38e19a26 Merge branch 'dev/2.0.0' into 2/new-registry 2021-05-11 01:53:22 -04:00
Andrew Steinborn
591463532e Rename Dutch and Russian localization files so Crowdin can pick them up 2021-05-10 00:51:52 -04:00
Andrew Steinborn
e52d2d7570
Merge pull request #468 from EasyClifton/patch-1
Russian translations
2021-05-10 00:47:16 -04:00
Andrew Steinborn
79be5acd39
Merge pull request #473 from FaberoM/dev/2.0.0
Add fi_FI translations.
2021-05-10 00:46:49 -04:00
Fabian Mäkilä
f506bd3ee2 Add translations for the dump command 2021-05-10 01:14:46 +03:00
EasyClifton
76f2e724bb
Fix lines 2021-05-09 23:49:05 +03:00
EasyClifton
c4cd574a61
Update messages_ru.properties
Here, it hurt my brain a little, but it's done. Slapped (a, ов) to the end of the plural glist form, although I'm still not sure it's correct.
2021-05-09 23:46:32 +03:00
tjalp
da433ac74b
Restore messages_nl.properties & add new translations 2021-05-09 12:31:28 +02:00
Andrew Steinborn
1e8454c76a Localize the dump command 2021-05-09 04:22:42 -04:00
Andrew Steinborn
cdc9ebf72d Fix merge issues 2021-05-09 03:56:26 -04:00
Andrew Steinborn
a4e91793ca Merge branch 'dev/1.1.0' into dev/2.0.0
# Conflicts:
#	api/build.gradle
#	api/src/main/java/com/velocitypowered/api/proxy/connection/Player.java
#	build.gradle
#	proxy/src/main/java/com/velocitypowered/proxy/command/builtin/VelocityCommand.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/MinecraftConnection.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/client/StatusSessionHandler.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftCompressEncoder.java
#	proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftCompressorAndLengthEncoder.java
#	proxy/src/test/java/com/velocitypowered/proxy/command/CommandManagerTests.java
2021-05-09 03:51:54 -04:00
Andrew Steinborn
11ed4b46e4 whoops 2021-05-09 02:57:52 -04:00
Andrew Steinborn
5170da8fd7 Improve writeVarInt inlining by peeling the two most common cases 2021-05-09 02:57:01 -04:00
Andrew Steinborn
150fd9a9cf Add highly-optimized VarInt writing method 2021-05-08 23:26:43 -04:00
Andrew Steinborn
6369a95ec9 Readd safe and slow compression handling and hide it behind a system property 2021-05-08 18:40:23 -04:00
Leymooo
a8e0516d18 Also do not copy memory in case when packet needs to compress 2021-05-07 19:36:30 +03:00
Andrew Steinborn
37a4199d43 Combine VarInt prefix encoding with compression
This saves us a memory copy in the common "there is no need to compress this packet" case.
2021-05-06 19:56:45 -04:00
Andrew Steinborn
fb3f21abc6 More bitshifting magic 2021-05-06 00:48:19 -04:00
Andrew Steinborn
1cef82d54d Unroll the VarInt writing loop
This is about as optimized as it can get. Thanks to @Leymooo for the idea, I simply expanded on it. We optimize for the common 1-3 byte cases, and punt more "complicated" cases to the original VarInt writing function we had before.
2021-05-05 22:13:54 -04:00
Andrew Steinborn
d42cc4f984 Force a flush after a certain threshold of packets have been queued for sending
Fixes #486.
2021-05-04 18:51:01 -04:00
Nicolas RAYNAUD
e0153267db
Fixed copyright year (#490) 2021-05-04 18:22:50 -04:00
Andrew Steinborn
7c76ae9a27 Make sure to check not only the entire array but also how much was written 2021-05-04 16:32:37 -04:00
Andrew Steinborn
3dc8e25ec7 Fix varint writing (for real!)
Thanks to @Leymooo for reporting and providing test cases. (I also added one of my own tests which proved the most useful to debugging the issue.)
2021-05-04 16:30:32 -04:00
Riley Park
2713831f77 Revert "Avoid calling writeVarInt in the (very) common uncompressed packet case"
This reverts commit c041bea1b6.
2021-05-03 19:38:39 -07:00
Andrew Steinborn
c041bea1b6 Avoid calling writeVarInt in the (very) common uncompressed packet case 2021-05-03 20:17:51 -04:00
Andrew Steinborn
0debb81392 I was nagged to make it more consistent 2021-05-03 20:08:16 -04:00
Andrew Steinborn
0811ebb312 Gotta add the license header to the test file 2021-05-03 19:18:06 -04:00
Andrew Steinborn
4ca97a6df9 Reapply "Optimize varint writing"
Inspired by the approach described at the bottom of https://richardstartin.github.io/posts/dont-use-protobuf-for-telemetry

Given that we do a lot of varint writing as well, this should provide a small performance boost for larger/complex packets whilst not regressing hard on smaller packets.

This includes a test to ensure that the behavior is as expected and fixes the initialization loop so that the correct results will be given. Much thanks to @octylFractal for acting as my duck while trying to figure this out.
2021-05-03 19:14:48 -04:00
Andrew Steinborn
e531cdb373 Revert "Optimize varint writing"
This reverts commit 3db2fe8d63.
2021-05-03 18:07:25 -04:00
Andrew Steinborn
3db2fe8d63 Optimize varint writing
Inspired by the approach described at the bottom of https://richardstartin.github.io/posts/dont-use-protobuf-for-telemetry

Given that we do a lot of varint writing as well, this should provide a small performance boost for larger/complex packets whilst not regressing hard on smaller packets.
2021-05-03 17:31:32 -04:00
Andrew Steinborn
347853b945 Disable hinting test for now 2021-04-25 10:18:58 -04:00
Andrew Steinborn
81311e7516 Don't attempt to decode empty buffers (fixes #482)
Stuff like this makes me want to drop support for <=1.13 versions of Minecraft.
2021-04-25 10:14:13 -04:00
Andrew Steinborn
f00b9b73ea Make ServerboundHandshakePacket immutable 2021-04-23 19:16:47 -04:00
Andrew Steinborn
3dc3c40c33 Convert some more packets to use PacketReader/PacketWriter 2021-04-23 19:01:40 -04:00
Fabian Mäkilä
48a69c7cc5 Add missing hyphen 2021-04-23 17:20:26 +03:00
FabianAdrian
c729acc829
Change some wording based on suggestions
Co-authored-by: Antti <antti@ellila.fi>
2021-04-23 17:13:33 +03:00
Andrew Steinborn
ce26ae76c2 Fix case-sensitivity for ping passthrough 2021-04-22 11:23:42 -04:00
Andrew Steinborn
e416b9fc45 Reapply f1cb3eb and add the same fix to ping passthrough 2021-04-22 11:22:55 -04:00
Andrew Steinborn
a5565847d1 Merge branch 'dev/1.1.0' into dev/2.0.0
# Conflicts:
#	proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java
2021-04-22 11:21:33 -04:00
Mariell Hoversholm
8b38fba08e
feat: nb_NO and nn_NO localisation (#467) 2021-04-21 16:21:51 -04:00