Andrew Steinborn
9f6d8e1840
Merge branch 'dev/1.1.0' into decode-multiple
2020-05-29 19:03:03 -04:00
Andrew Steinborn
b028d9ca8f
Use standard Guava annotation
2020-05-28 10:44:42 -04:00
Andrew Steinborn
cb99b184ed
Allow plugins to mutate available commands sent to the client.
...
This is the first unstable API being introduced and is primarily to get feedback on the system.
2020-05-28 07:14:49 -04:00
Andrew Steinborn
305949487e
Add @UnstableApi annotation. Resolves #313
2020-05-28 07:05:19 -04:00
Andrew Steinborn
d66766a38b
Merge branch 'dev/1.1.0' into decode-multiple
2020-05-26 05:25:11 -04:00
Andrew Steinborn
eeb660ce00
Fix bad ordering
2020-05-26 05:25:03 -04:00
Andrew Steinborn
0d1acdb056
Merge branch 'dev/1.1.0' into decode-multiple
2020-05-25 16:09:19 -04:00
Andrew Steinborn
d538516f4c
Bump Netty version
2020-05-25 16:08:53 -04:00
Andrew Steinborn
ebad3d1005
Use Integer.MIN_VALUE for the sentinel for readVarIntSafely()
2020-05-25 16:05:36 -04:00
Andrew Steinborn
d7bbe7531a
Additional protocol hardening.
2020-05-25 15:58:52 -04:00
Andrew Steinborn
ae8852dc9d
Native tests should only run on Linux
2020-05-25 13:29:02 -04:00
Andrew Steinborn
62d3f61a77
Merge branch 'dev/1.1.0' into decode-multiple
...
# Conflicts:
# proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java
2020-05-25 13:27:44 -04:00
Andrew Steinborn
abd81a0216
Fix Checkstyle errors.
2020-05-25 13:24:41 -04:00
Andrew Steinborn
0cb4c02107
Run all commands on a separate thread pool.
2020-05-25 13:09:04 -04:00
Andrew Steinborn
ec1fc3944d
Make sure this runs on the event loop.
2020-05-25 12:08:24 -04:00
Andrew Steinborn
942e2f2e1a
Better generic cleanup.
2020-05-25 11:56:56 -04:00
Andrew Steinborn
74ff56cbc9
Also reset when an exception is thrown.
2020-05-25 11:49:45 -04:00
Andrew Steinborn
64c16e61d2
Reset in-flight connection only if the server disconnects the client.
2020-05-25 11:44:02 -04:00
Andrew Steinborn
b0f1398b45
Further confinement of preconnect checks to event loop.
2020-05-25 10:26:05 -04:00
Andrew Steinborn
fa954ab717
Confine preconnect validation/setup logic to event loop.
2020-05-25 09:38:41 -04:00
Andrew Steinborn
75ddeb062f
Confine preconnect validation/setup logic to event loop.
2020-05-25 09:38:22 -04:00
Andrew Steinborn
a98a7dd67e
Merge branch 'dev/1.1.0' into decode-multiple
2020-05-24 11:41:17 -04:00
Andrew Steinborn
793e938dd1
Drop macOS native support
...
This served a good purpose when I used macOS as a primary development system, but those days are gone (I use Linux now). The spirit of multiple variants is preserved by our special Java 11+ optimized compression.
2020-05-24 10:58:28 -04:00
Andrew Steinborn
b3bd773fea
Switch out Cloudflare zlib for libdeflate.
...
libdeflate is significantly faster than vanilla zlib, zlib-ng, and Cloudflare zlib. It is also MIT-licensed (so no licensing concerns). In addition, it simplifies a lot of the native code (something that's been tricky to get right).
While we're at it, I have also taken the time to fine-time compression in Velocity in general. Thanks to this work, native compression only requires one JNI call, an improvement from the more than 2 (sometimes up to 5) that were possible before. This optimization also extends to the existing Java compressors, though they require potentially two JNI calls.
2020-05-24 10:56:26 -04:00
Andrew Steinborn
742b8d98cb
Fix noexecstack for natives.
2020-05-20 04:55:55 -04:00
Andrew Steinborn
91e9769c5a
Cap /server list to 50 servers.
...
Any more, and the server list is arguably useless. Thanks to BXBW for finding this particular issue!
2020-05-17 00:24:00 -04:00
Andrew Steinborn
feb7c2f893
Reject invalid tab complete command requests.
2020-05-08 18:22:21 -04:00
Andrew Steinborn
b42045c050
Reject invalid tab complete command requests.
2020-05-08 18:17:02 -04:00
Andrew Steinborn
2418cc271a
Merge pull request #307 from mikroskeem/feature/prevent-proxy-connections
...
Add prevent-proxy-connections option
2020-05-08 14:57:20 -04:00
Andrew Steinborn
4d62d61485
We're well into 2020, just saying.
2020-05-08 14:04:07 -04:00
Andrew Steinborn
3bc8323ed5
We're well into 2020, just saying.
2020-05-08 14:03:35 -04:00
Andrew Steinborn
5424c55f09
Merge pull request #301 from Leymooo/command-event
...
fix build
2020-04-30 01:13:30 -04:00
Andrew Steinborn
42ad7594ae
Merge pull request #300 from Leymooo/command-event
...
fix command forwarding to server
2020-04-29 15:26:29 -04:00
Andrew Steinborn
e759668f53
Merge pull request #299 from Leymooo/command-event
...
Add event for commands
2020-04-29 12:51:47 -04:00
Andrew Steinborn
37a1a49fda
Allow disabling BungeeCord plugin message channel.
2020-04-28 14:10:54 -04:00
Andrew Steinborn
1441dec367
Implement brigadier:long argument type, fixes #295
2020-04-23 16:21:44 -04:00
Andrew Steinborn
957c0dd307
Implement brigadier:long argument type, fixes #295
2020-04-23 16:21:22 -04:00
Andrew Steinborn
81a0cbe3b9
Fix rare race condition with transitioning
...
If the player unexpectedly disconnects after ServerConnectEvent is
fired, but before the connection transitions to the new player, Velocity
would throw an exception thinking the connection was not present. This
is the correct behavior, but the behavior is very surprising. Instead we
will double-check to ensure the connection has not been lost before we
continue with transitioning to the new server.
2020-04-22 10:31:05 -04:00
Andrew Steinborn
20eb14143d
Bump Netty to 4.1.49.Final
...
This is intended to fix netty/netty#10165 directly, and supersede our current workaround.
2020-04-22 10:28:41 -04:00
Andrew Steinborn
e6ea191c92
Bump Netty to 4.1.49.Final
...
This is intended to fix netty/netty#10165 directly, and supersede our current workaround.
2020-04-22 10:28:17 -04:00
Andrew Steinborn
2b84d35798
Fix bug in ConnectOther message
...
Credits to @Jay113355 for spotting this
2020-04-21 06:23:04 -04:00
Andrew Steinborn
24c9fc0ef1
Relax GameProfileRequestEvent#setGameProfile to allow faking even in online-mode
2020-04-19 09:20:03 -04:00
Andrew Steinborn
d0cbcf65e9
Fix some tab-complete regressions
2020-04-19 09:07:17 -04:00
Andrew Steinborn
413578f979
Fix rare race condition with transitioning
...
If the player unexpectedly disconnects after ServerConnectEvent is
fired, but before the connection transitions to the new player, Velocity
would throw an exception thinking the connection was not present. This
is the correct behavior, but the behavior is very surprising. Instead we
will double-check to ensure the connection has not been lost before we
continue with transitioning to the new server.
2020-04-19 03:39:15 -04:00
Andrew Steinborn
5c93fd3866
Merge pull request #294 from creeper123123321/backend-initializer
...
(Implementation) Allow injecting into backend connection
2020-04-14 01:43:24 -04:00
Andrew Steinborn
aae151e3d9
No need to register multiple times
2020-04-12 17:21:00 -04:00
Andrew Steinborn
4ddc55a5b7
No need to register multiple times
2020-04-12 17:20:54 -04:00
Andrew Steinborn
49ab2764c4
Close one last "proxy crasher" loophole
2020-04-12 17:18:53 -04:00
Andrew Steinborn
f49d36b719
Close one last "proxy crasher" loophole
2020-04-12 17:05:36 -04:00
Andrew Steinborn
b04b43954f
Merge branch 'dev/1.1.0' into decode-multiple
2020-04-11 22:05:43 -04:00
Andrew Steinborn
6ed61848e9
Upon connection exception, discard all incoming packets instead
2020-04-11 21:19:54 -04:00
Andrew Steinborn
98b03376e5
Merge pull request #281 from Gabik21/tablist-improvement
...
Don't send ping update twice (1.7)
2020-04-07 13:35:18 -04:00
Andrew Steinborn
4374f1e4d6
Merge pull request #288 from Gabik21/fix-1.7-weirdness
...
Fix tablist behaving wrong with colors (1.7) (Fixes #282 )
2020-04-07 11:51:21 -04:00
Andrew Steinborn
ae7f0143de
Do not trim the args for string-based command APIs
2020-02-28 16:54:46 -05:00
Andrew Steinborn
29bedf0943
Do not trim the args for string-based command APIs
2020-02-28 16:54:25 -05:00
Andrew Steinborn
65acb13dca
Checkstyle
2020-02-21 18:51:41 -05:00
Andrew Steinborn
3e053d63b4
Allow ping passthrough for descriptions too
2020-02-21 18:36:10 -05:00
Andrew Steinborn
9edbef981c
Uncomment compile lines from script
2020-02-18 01:35:54 -05:00
Andrew Steinborn
b3ac73a51e
Use Cloudflare zlib for more aggressive optimizations
2020-02-18 01:34:39 -05:00
Andrew Steinborn
496027f7c1
Add AMD64-specific compile script
2020-02-18 01:15:33 -05:00
Andrew Steinborn
932f3bc2bf
Merge branch 'dev/1.1.0' into decode-multiple
2020-02-17 20:52:19 -05:00
Andrew Steinborn
c63bd4cd02
Fix checkstyle error
2020-02-17 20:35:28 -05:00
Andrew Steinborn
8ae7945b9f
Upon connection exception, discard all incoming packets instead
2020-02-17 19:34:22 -05:00
Andrew Steinborn
599adc6d2c
Merge remote-tracking branch 'origin/dev/1.1.0' into dev/1.1.0
...
# Conflicts:
# proxy/src/test/java/com/velocitypowered/proxy/plugin/util/PluginDependencyUtilsTest.java
2020-02-17 16:33:34 -05:00
Andrew Steinborn
37994449d7
Fix regressions with plugin dependency loading from #272
...
This is a quick and dirty fix because it's late. I'll need to
commit a better fix later.
2020-02-16 03:19:13 -05:00
Andrew Steinborn
3b6f8e2421
Use more obvious/broken-down test cases for topological sort tests
2020-02-16 00:29:35 -05:00
Andrew Steinborn
9444cfa70f
Use more obvious/broken-down test cases for topological sort tests
2020-02-13 19:21:40 -05:00
Andrew Steinborn
a5350c6822
Deal with potentially nullable player sample entries
2020-02-13 13:32:47 -05:00
Andrew Steinborn
e558b7ca1f
Update to new bStats revision
2020-02-13 12:58:24 -05:00
Andrew Steinborn
77526d9bf4
Merge pull request #266 from alex11441/dev/1.1.0
...
Allow users to specify a reason in the shutdown command
2020-01-24 16:01:23 -05:00
Andrew Steinborn
c7bac69290
Don't attempt to retain the buffer if it goes to a closed connection
2020-01-24 01:22:32 -05:00
Andrew Steinborn
53c951bc52
Revert "Another experiment for memory leaks: Create a brand-new buffer for passthrough uncompressed content"
...
This reverts commit 92571a65db .
It looks like c3fab89bd7 nabbed it at last.
2020-01-24 01:21:50 -05:00
Andrew Steinborn
6e41ce7f15
Minecraft 1.15.2
2020-01-21 13:28:27 -05:00
Andrew Steinborn
be867a8ca9
Minecraft 1.15.2
2020-01-21 13:28:01 -05:00
Andrew Steinborn
c3fab89bd7
Don't attempt to retain the buffer if it goes to a closed connection
2020-01-20 17:37:21 -05:00
Andrew Steinborn
92571a65db
Another experiment for memory leaks: Create a brand-new buffer for passthrough uncompressed content
2020-01-14 22:18:05 -05:00
Andrew Steinborn
c14ceb315d
Return the magic-3 loop again... :(
2020-01-01 10:14:15 -05:00
Andrew Steinborn
a15c8ecc2b
Merge branch 'dev/1.1.0' into decode-multiple
2019-12-31 21:43:11 -05:00
Andrew Steinborn
08df080771
Try to diagnose memory leak
2019-12-31 21:43:02 -05:00
Andrew Steinborn
fb0446f4fc
Add DisconnectEvent#disconnectedDuringLogin()
2019-12-24 23:56:39 -05:00
Andrew Steinborn
2073d79771
Minecraft 1.15.1
2019-12-17 13:57:48 -05:00
Andrew Steinborn
deede70070
Rename mystery field in JoinGame
2019-12-17 13:57:48 -05:00
Andrew Steinborn
4c09024952
Minecraft 1.15.1
2019-12-17 13:57:23 -05:00
Andrew Steinborn
fa489f6014
Rename mystery field in JoinGame
2019-12-14 17:45:10 -05:00
Andrew Steinborn
b92d0d2657
Merge branch 'dev/1.1.0' into decode-multiple
2019-12-10 11:47:22 -05:00
Andrew Steinborn
07c2024307
Minecraft 1.15
2019-12-10 11:47:10 -05:00
Andrew Steinborn
02ae891be9
Merge branch 'dev/1.1.0' into decode-multiple
2019-12-09 18:03:41 -05:00
Andrew Steinborn
b5aeeab2a8
Minecraft 1.15-pre7
2019-12-09 18:00:08 -05:00
Andrew Steinborn
97da6753b5
Merge branch 'dev/1.1.0' into decode-multiple
2019-12-06 03:10:25 -05:00
Andrew Steinborn
8c3f7e2ecc
Optimize DNS resolution logic for AsyncHttpClient
2019-12-01 15:17:17 -05:00
Andrew Steinborn
75359256b3
Introduce velocity.natives-tmpdir property for properly handling noexec /tmp
2019-11-29 14:27:27 -05:00
Andrew Steinborn
2f55912995
Graceful fallback when /tmp is amounted noexec on Linux
...
Fixes #260
2019-11-29 12:04:12 -05:00
Andrew Steinborn
667610c251
Fix command block tab complete on <=1.12.2
2019-11-28 15:28:02 -05:00
Andrew Steinborn
d137d6ce46
Fix command block tab complete on <=1.12.2
2019-11-28 15:22:26 -05:00
Andrew Steinborn
d1acd5b6d5
Merge branch 'dev/1.1.0' into decode-multiple
2019-11-28 13:23:46 -05:00
Andrew Steinborn
50b50f3cbb
Fix 1.13+ tab complete for server commands
2019-11-28 13:12:53 -05:00
Andrew Steinborn
ae82bb21af
Merge branch 'dev/1.1.0' into decode-multiple
2019-11-27 01:09:21 -05:00
Andrew Steinborn
68e5372b2e
QuietException should be a RuntimeException
2019-11-27 01:04:48 -05:00
Andrew Steinborn
467fe34da3
Provide useful information for "unexpectedly disconnected from server"
...
Fixes #233
2019-11-27 01:01:50 -05:00
Andrew Steinborn
94035366c2
Merge pull request #255 from VelocityPowered/bungeequack-integrate
...
Integrate BungeeQuack functionality into Velocity
2019-11-26 16:33:37 -05:00