3
0
Mirror von https://github.com/PaperMC/Velocity.git synchronisiert 2024-11-17 05:20:14 +01:00
Commit graph

1136 Commits

Autor SHA1 Nachricht Datum
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
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
Andrew Steinborn
688babb4da Actually fix loading locales from paths with spaces in them 2021-04-19 08:48:42 -04:00
Andrew Steinborn
1bd691f91b Checkstyle strikes again! 2021-04-19 08:03:55 -04:00
Andrew Steinborn
7c0b622742 Try #2 at explicit path 2021-04-19 08:01:58 -04:00
Andrew Steinborn
6a349d24ac Specify an explicit path instead of using Paths.get() to construct it 2021-04-19 07:54:48 -04:00
Andrew Steinborn
efa9f6f303 Make sure we fallback to en_US. Fixes #474 2021-04-19 07:42:16 -04:00
Seppe Volkaerts
71db78e172
Fix the automatic registration of main plugin event listeners. (#471) 2021-04-18 19:18:01 -04:00
Seppe Volkaerts
6ac5643212 Fix ambiguous newFileSystem method when using Java 13. 2021-04-18 22:54:18 +02:00
Andrew Steinborn
d26d61f038 Fix pluralization of /glist player summary 2021-04-18 11:16:11 -04:00
Andrew Steinborn
ca52f8989e Load forced hosts as lowercase too, see #464 2021-04-18 08:22:36 -04:00
Andrew Steinborn
ff54622663 Forced hosts should be case-insensitive. Fixes #464 2021-04-18 08:20:04 -04:00
Andrew Steinborn
c069a0730f Fix "too many servers" message 2021-04-17 22:23:04 -04:00
Andrew Steinborn
f2ddd391a5 Fix localization loading from JAR 2021-04-17 09:15:34 -04:00
Andrew Steinborn
6c369c7d09 Fix SpotBugs stuff 2021-04-17 09:05:23 -04:00
Andrew Steinborn
3209103317 Licensing fun 2021-04-17 09:01:21 -04:00
Andrew Steinborn
69cba59630 Load localizations automatically.
Also included a sample "backwards" localization to demonstrate that it does in fact work.
2021-04-17 09:00:48 -04:00
Andrew Steinborn
c0b6f461cb Add localization support. Fixes #230
This is less flexible, but it is an Adventure-native solution and doesn't require an onerous amount of work to maintain.
2021-04-17 08:30:31 -04:00
Andrew Steinborn
5d07c29cf6 Fix SpotBugs issue 2021-04-17 07:08:35 -04:00
Andrew Steinborn
50f4742240 Add some cases where the locale should fallback to the default 2021-04-17 07:06:23 -04:00
Andrew Steinborn
3d0ca2732e Run all components in cases where the locale is known through the translation registry. 2021-04-17 07:02:39 -04:00
Andrew Steinborn
4318c179a4 Fix Javadocs for PairedPluginChannelId and KeyedPluginChannelId 2021-04-17 06:19:29 -04:00