Andrew Steinborn
f79736b8b7
Fix event ordering.
2021-07-12 08:37:26 -04:00
Andrew Steinborn
31aa996623
Minor server-switching code cleanup
2021-07-10 23:36:25 -04:00
Andrew Steinborn
ea577019b8
Don't force-add a tab list entry if it already exists
2021-07-09 10:11:15 -04:00
Andrew Steinborn
0e0a14498f
Fix some localization and API issues
...
Resolves #536
2021-07-08 03:08:02 -04:00
Andrew Steinborn
a037aebfa0
Velocity 3.0.1-SNAPSHOT
2021-07-06 03:35:21 -04:00
Andrew Steinborn
fd407c9d06
Velocity 3.0.0
2021-07-06 03:34:40 -04:00
Andrew Steinborn and GitHub
540d970a4d
Minecraft 1.17.1 support ( #530 )
2021-07-06 03:32:13 -04:00
Andrew Steinborn
1f7d14f6d1
Checkstyle and friends
2021-06-27 21:18:52 -04:00
Andrew Steinborn
254e8f1a1e
Use the "closest" locale from Velocity
2021-06-27 21:15:17 -04:00
Andrew Steinborn
c6ef84eb7f
Backport localization support to Velocity 3.0.0 from Polymer
2021-06-27 20:04:43 -04:00
Andrew Steinborn
3b6b73f216
Make announce-player-commands not suggest aliases
...
Fixes #533
2021-06-24 10:10:34 -04:00
Andrew Steinborn
59ca9a534d
Ensure that the in-flight connection is always reset.
2021-06-20 17:36:44 -04:00
Andrew Steinborn
d7abf4457c
Readd FastUUID license
2021-06-18 07:05:38 -04:00
Andrew Steinborn
d90952ca3a
Fix licensing again
2021-06-14 14:00:35 -04:00
Andrew Steinborn
c979c61155
Add some internal injection points for the benefit of ViaVersion
...
See #524 for more details
2021-06-14 13:59:56 -04:00
Andrew Steinborn
93724b7b33
Do not emit errors for kicks from servers
2021-06-14 00:04:18 -04:00
Andrew Steinborn
1dfe294b96
Remove GenericArgumentPropertySerializer
...
This was only used for boolean argument tyoes
2021-06-13 06:55:24 -04:00
Andrew Steinborn
5a337afb00
Include compatible protocol versions in the incompatible version message
...
Fixes #519
2021-06-13 05:17:09 -04:00
Andrew Steinborn and GitHub
83dff50bc7
Merge pull request #520 from hugmanrique/feat/3-command-impl-cleanup
...
[3.0] Command system implementation refactor
2021-06-13 09:12:06 +00:00
Andrew Steinborn
ebd0fcc6b1
Remove unnecessary slicing of uncompressed packets
2021-06-13 04:00:48 -04:00
Andrew Steinborn
c33f9e0466
Merge remote-tracking branch 'origin/dev/3.0.0' into dev/3.0.0
...
# Conflicts:
# api/src/main/java/com/velocitypowered/api/proxy/Player.java
# proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java
2021-06-12 20:13:52 -04:00
Andrew Steinborn
797d802969
Bump to Adventure 4.8.1
2021-06-12 20:13:04 -04:00
Andrew Steinborn
c2b82f878b
Merge branch 'dev/1.1.0' into dev/3.0.0
...
# Conflicts:
# api/src/main/java/com/velocitypowered/api/proxy/Player.java
# proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java
2021-06-12 20:12:31 -04:00
Andrew Steinborn and GitHub
baaf91a00d
Merge pull request #522 from lexikiq/feature/adventure-pointers
...
Expand Adventure Support
2021-06-13 00:10:36 +00:00
Andrew Steinborn and GitHub
1b32f56168
Merge pull request #523 from Artuto/dev/1.1.0
...
Add support for retrieving the Player's client brand
2021-06-12 23:11:41 +00:00
Andrew Steinborn
b0da4b60c7
Do not check if a plugin message channel is registered before forwarding it
...
This fixes issues with Servux and probably a crap ton of other bad mods. Purity on this front serves no real purpose than to say we're pedantic.
A future commit may remove all tracking of registered channels altogether. There's strong evidence (back to Minecraft 1.8, at least) that we don't have to track this data and only need to send channels for plugin message channels registered by Velocity itself. This will likely involve more testing to see if this uncovers client bugs with older versions of the game.
2021-06-12 10:30:46 -04:00
Andrew Steinborn
445688b9a1
Merge branch 'dev/1.1.0' into dev/3.0.0
...
# Conflicts:
# build.gradle
2021-06-09 01:29:51 -04:00
Andrew Steinborn
793ad443c6
Velocity 1.1.9-SNAPSHOT
2021-06-08 15:50:37 -04:00
Andrew Steinborn
caf7af12b8
WTF, actually 1.1.8 please.
2021-06-08 15:48:02 -04:00
Andrew Steinborn
9b42bc8c45
Whatever, let's update Adventure too I guess
2021-06-08 15:45:53 -04:00
Andrew Steinborn
d84609ab7c
Velocity 1.1.8
2021-06-08 15:45:26 -04:00
Andrew Steinborn
e1af30e0fa
whoops
2021-06-08 15:42:20 -04:00
Andrew Steinborn
8892e2a5c6
We don't need the hash to go along with the resource pack response
2021-06-08 15:41:54 -04:00
Andrew Steinborn
4619053962
Velocity 1.1.8-SNAPSHOT
2021-06-07 17:31:29 -04:00
Andrew Steinborn
a4649c81df
Velocity 1.1.7
2021-06-07 17:28:46 -04:00
Andrew Steinborn
a65f720f9d
Merge branch 'dev/1.1.0' into dev/3.0.0
...
# Conflicts:
# build.gradle
2021-06-07 15:32:52 -04:00
Andrew Steinborn
496372d7af
Check if the resource pack hash looks like it might be a SHA-1 hash
2021-06-07 15:32:36 -04:00
Andrew Steinborn
d7bf03b956
Minecraft 1.17
2021-06-07 14:16:16 -04:00
Andrew Steinborn
224e06d7ea
Bump to 1.1.7-SNAPSHOT
2021-06-07 12:48:11 -04:00
Andrew Steinborn
b6dc0089b4
Velocity 1.1.6
2021-06-07 12:47:00 -04:00
Andrew Steinborn
c2c119140f
Anticipatory bump to Minecraft 1.17
2021-06-07 12:46:21 -04:00
Andrew Steinborn and GitHub
b34f2f6944
Merge pull request #516 from A248/caffeine-3
...
Bump to Caffeine 3
2021-06-07 16:44:29 +00:00
Andrew Steinborn
65608bb360
Bump Gson version
2021-06-06 04:22:08 -04:00
Andrew Steinborn
ef7aeae4ed
Merge remote-tracking branch 'origin/dev/3.0.0' into dev/3.0.0
2021-06-06 03:52:03 -04:00
Andrew Steinborn
9d54a03a4b
Force SpotBugs to shut up here
...
This method is indeed called...
2021-06-06 03:51:42 -04:00
Andrew Steinborn
b1b3882fab
Merge branch 'Xernium-future/1.17' into dev/3.0.0
...
# Conflicts:
# api/src/main/java/com/velocitypowered/api/proxy/ProxyServer.java
# proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java
2021-06-06 03:48:49 -04:00
Andrew Steinborn and GitHub
f4550c3a37
Merge pull request #515 from hugmanrique/dev-3/command-api-changes
...
[3.0] Document some restrictions in the command API
2021-06-05 18:27:18 +00:00
Andrew Steinborn and GitHub
7fbfdb2f23
Merge pull request #513 from CoreyShupe/feature/Allow-Raw-Registered-Server-Creation
...
Initial implementation of raw registered server creation.
2021-06-01 13:12:41 +00:00
Andrew Steinborn and GitHub
dffbaba716
Merge pull request #514 from CoreyShupe/feature/CheckServerInfoEquality
...
Initial change to allow for server info equality.
2021-06-01 13:05:43 +00:00
Andrew Steinborn and GitHub
04db382a18
Merge pull request #507 from A248/remove-add-opens
...
Remove Add-Opens from manifest
2021-05-24 13:03:14 -04:00
Andrew Steinborn
64d30fba81
AsyncEventExecutor -> AwaitingEventExecutor
2021-05-23 17:51:07 -04:00
Andrew Steinborn
51f923bf2d
Fix Java 11 Javadoc URL
2021-05-23 17:21:44 -04:00
Andrew Steinborn
b9823085af
Update Guice to 5.0.1
...
This (aside from removal of deprecated methods) is the only notable API break in Velocity 3.0.0.
2021-05-23 17:20:52 -04:00
Andrew Steinborn
e14ea36150
We don't rely on kyori/event any more
2021-05-23 15:52:09 -04:00
Andrew Steinborn
3944eec491
Add async parameter to @Subscribe, also as a migration aid.
2021-05-23 15:42:17 -04:00
Andrew Steinborn
3f50964f36
Fix CommandManager method naming so that it is in sync with the 1.1.0 API
2021-05-23 14:20:59 -04:00
Andrew Steinborn
b632431ae9
don't build on Java 8
2021-05-23 14:15:22 -04:00
Andrew Steinborn
977300cc66
Remove text 3.x API and associated deprecated APIs
2021-05-23 14:13:51 -04:00
Andrew Steinborn
569bb4a16b
Just import the entire command manager from Polymer, without changing any names
2021-05-23 13:58:27 -04:00
Andrew Steinborn
590f18dbe0
Convert to Java 11 compressor
2021-05-23 13:58:01 -04:00
Andrew Steinborn
59f358441a
Bump Velocity to Java 11 minimum
...
Fixes #381 . There is generally a consensus that we should move forward with this. We do not anticipate a Velocity 2.0.0 release until well after the release of the next Java LTS version (Java 17).
This commit doesn't clean up anything for the new Java version yet.
2021-05-23 13:50:14 -04:00
Andrew Steinborn
d6dcb115f1
Remove remaining deprecated APIs
2021-05-23 13:49:06 -04:00
Andrew Steinborn
6816c15385
Remove bad test
2021-05-23 13:47:20 -04:00
Andrew Steinborn
2f0ee15051
Remove deprecated Velocity 1.0.0 Command API.
2021-05-23 13:46:47 -04:00
Andrew Steinborn
cceeeb3490
Velocity 3.0.0-SNAPSHOT
2021-05-19 16:11:40 -04:00
Andrew Steinborn and GitHub
06ecab2627
Merge pull request #493 from VelocityPowered/feature/combine-varint-prefix-with-compression
...
Further packet handling performance improvements
2021-05-09 03:07:44 -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
Andrew Steinborn and GitHub
0a4e226571
Merge pull request #492 from Leymooo/feature/combine-varint-prefix-with-compression
...
Do not copy memory in case when packet needs to compress
2021-05-08 17:01:56 -04:00
Andrew Steinborn
9318fe3dca
Update link to Adventure documentation
2021-05-06 21:08:57 -04: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
3d9a166892
Fix Checkstyle
2021-05-06 16:46:43 -04:00
Andrew Steinborn
3fdacd30d1
Explain why Player#sendPluginMessage may not do what some people think it ought to do
2021-05-06 16:43:45 -04:00
Andrew Steinborn and GitHub
bbc53da87e
Create FUNDING.yml
2021-05-06 16:10:56 -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
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
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
d7435fcbb6
Velocity 1.1.6-SNAPSHOT
2021-04-22 11:28:49 -04:00
Andrew Steinborn
92865b0307
Velocity 1.1.5
2021-04-22 11:23:57 -04:00
Andrew Steinborn
ce26ae76c2
Fix case-sensitivity for ping passthrough
2021-04-22 11:23:42 -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
f1cb3eb1a2
Move timeout handler to after frame decoder
...
Mitigates attacks like the one described in SpigotMC/BungeeCord#3066 . This cannot be considered a full protection, only a mitigation that expects full packets. The attack described is essentially the infamous Slowloris attack.
2021-04-15 22:56:37 -04:00
Andrew Steinborn
c51359e893
Move away from deprecated percent() method.
...
Also fixed another small nit.
2021-04-15 04:23:59 -04:00
Andrew Steinborn
4de71fe942
Fix color and overlay packets for Adventure boss bar
...
Someone discovered this bug but decided not to tell anyone. For the record, I'm the one who was brain-damaged... well, I made that particular copy-paste error.
2021-04-15 04:22:44 -04:00
Andrew Steinborn and GitHub
be21ac5a30
[ci-skip] Update license in README
2021-03-31 20:36:08 -04:00
Andrew Steinborn and GitHub
c747120b20
Relicense the Velocity proxy under the terms of GPLv3 ( #448 )
2021-03-31 16:04:06 -04:00
Andrew Steinborn
514115a85c
Do not use an ASCII string for handshake
2021-03-30 12:10:55 -04:00