Commit Graph

1020 Commits

Author SHA1 Message Date
Andrew Steinborn 4d62d61485 We're well into 2020, just saying. 2020-05-08 14:04:07 -04:00
Andrew Steinborn 1441dec367 Implement brigadier:long argument type, fixes #295 2020-04-23 16:21:44 -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 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 aae151e3d9 No need to register multiple times 2020-04-12 17:21:00 -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
Hugo Manrique 2c2eca3548 Only finish non-repeating tasks 2020-04-11 21:09:15 -04:00
Hugo Manrique 55818ce5eb Remove tasks from lookup map upon completion 2020-04-11 21:09:02 -04:00
Crypnotic d4e51e2d07 Add cleanServerName to VelocityConfiguration to remove quotes and other unforeseen characters from server names before registration 2020-04-11 21:08:47 -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
Gabik21 2217e8a5c9 Fix 1.7 tablist behaving weird with colored names
The 1.7 tablist packet only contains three types of information:

 - Name of the tablist entry (limited to 16 characters including colors)
 - Ping of the entry
 - If this entry needs to be added or removed (client accepts duplicates
 as 'ping update')

The previous logic was trying to preserve parity with
GameProfile#getName returning a stripped down name to have a 'real'
username.
That is fundamentally broken, because entries with duplicate content,
but different colors are very common, especially with custom tablists.

For packets coming from a native 1.7 server we just won't define the
displayname anymore, as there is no such thing as a 'displayname',
because tablist entries are not bound to any player.

Using the Velocity Tablist API to modify existing entries will work, though
the backend server will completely loose control over the entry. Custom
entries added over the Velocity Tablist API will work, but are cut off
by the 16 character limitation.

This commit only fixes the bug, where entries are incorrectly handled
with their stripped name, a lot of the things explained above were
already implemented correctly.
2020-04-07 12:17:02 +02:00
Gabik21 5089da07fc Don't send ping update twice
VelocityTabListEntry#setLatency calls the update method, which
constructs a new packet and sends it to the client.
The backend packet we are processing also reaches the client, therefore
we are sending the same packet twice.
VelocityTabListEntry#setLatencyInternal is the correct method here.
2020-04-02 17:46:24 +02:00
kashike c54ea62012 update text to 3.0.3 2020-03-29 19:26:10 -07: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
alexstaeding da8cee2260 Make PluginContainer injectable (#272) 2020-02-07 16:22:47 -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
Alex 9f340347b6 Allow users to specify a reason in the shutdown command 2019-12-30 23:20:55 -07:00
Alex 941800ce96 Add VelocityServer#shutdown(boolean, TextComponent) 2019-12-30 23:20:25 -07: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