Andrew Steinborn
a155f91dfd
Support multiple plugins loaded from the same JAR
2021-05-15 23:42:54 -04:00
Andrew Steinborn
3579fa644b
Fix typo
2021-05-15 08:59:13 -04:00
Andrew Steinborn
2a39ddb03e
Add support for resolving dependencies that require a version range
2021-05-15 08:16:17 -04:00
Andrew Steinborn
e6e35d3754
Add a base interface for events
2021-05-14 12:24:43 -04:00
Andrew Steinborn
e65c4102a6
Add missing nullability annotation
2021-05-14 09:28:57 -04:00
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
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
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
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