Andrew Steinborn
0ddadc90e2
Demonize legacy formatting completely.
...
Velocity has always supported components from day 1. It's time to officially frown upon legacy formatting for good.
2021-05-18 12:09:35 -04:00
Seppe Volkaerts
404936a53f
Fix bStats error when starting in dev.
2021-05-17 23:29:40 +02:00
Andrew Steinborn
9643159826
Don't exclude fastutil Int2Object maps
2021-05-17 11:38:50 -04:00
Andrew Steinborn
9efda3d42d
Merge branch 'l10n_dev/2.0.0' into dev/2.0.0
...
# Conflicts:
# proxy/src/main/resources/com/velocitypowered/proxy/l10n/messages_fi_FI.properties
# proxy/src/main/resources/com/velocitypowered/proxy/l10n/messages_nl_NL.properties
# proxy/src/main/resources/com/velocitypowered/proxy/l10n/messages_ru_RU.properties
2021-05-16 03:14:03 -04:00
Andrew Steinborn
90ecb7182a
Resync and merge all translation commits into one
2021-05-16 03:13:13 -04:00
Andrew Steinborn
a6d4ad6950
Some classloader/dependency versioning fix ups
2021-05-16 00:33:03 -04:00
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
07f8980f82
Fix compile errors
2021-05-14 16:28:16 -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
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