Commit Graph
100 Commits
Author SHA1 Message Date
Andrew Steinborn 10680f16d3 Reject invalid tab complete command requests. 2020-05-08 18:16:40 -04:00
Andrew Steinborn f7e70cff20 We're well into 2020, just saying. 2020-05-08 14:03:57 -04:00
Andrew Steinborn 88641662d8 Implement brigadier:long argument type, fixes #295 2020-04-23 16:19:49 -04:00
Andrew Steinborn bb129a3d0b 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:13 -04:00
Andrew Steinborn 187a625aa4 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:27:08 -04:00
Andrew Steinborn 4494033fbe No need to register multiple times 2020-04-12 17:20:38 -04:00
Andrew Steinborn 558c158592 Close one last "proxy crasher" loophole 2020-04-12 17:19:00 -04:00
Andrew Steinborn 5d3479aae5 Velocity 1.0.8-SNAPSHOT 2020-04-11 21:56:28 -04:00
Andrew Steinborn 3e24d7ea8d Velocity 1.0.7 2020-04-11 21:56:07 -04:00
Andrew Steinborn 2e38e0e1cb Properly fix the previous patch 2020-04-11 21:52:01 -04:00
Andrew Steinborn 6ad8381645 Velocity 1.0.7-SNAPSHOT 2020-04-11 21:30:25 -04:00
Andrew Steinborn 386e7e94c8 Velocity 1.0.6 2020-04-11 21:30:09 -04:00
Andrew Steinborn 8df4467392 Upon connection exception, discard all incoming packets instead 2020-04-11 21:24:39 -04:00
Andrew SteinbornandGitHub c0ef3edcc4 Merge pull request #274 from Crypnotic/bugfix/invalid-server-key
Clean server name keys before attempting to register
2020-04-08 16:45:02 -04:00
Andrew SteinbornandGitHub bb74fe769e Merge pull request #279 from hugmanrique/cleanup-task
Remove tasks from lookup map upon completion
2020-04-07 21:17:03 -04:00
Andrew Steinborn 5c6163d8cd Use more obvious/broken-down test cases for topological sort tests 2020-02-13 19:20:53 -05:00
Andrew Steinborn 7d1770d37e Deal with potentially nullable player sample entries 2020-02-13 13:32:22 -05:00
Andrew Steinborn 5b75927586 Bump to 1.0.6-SNAPSHOT for further development 2020-02-13 13:04:50 -05:00
Andrew Steinborn 11dfbd3b9e This is Velocity 1.0.5 2020-02-13 13:04:17 -05:00
Andrew Steinborn 29168ae549 Update to new bStats revision 2020-02-13 12:57:48 -05:00
Andrew Steinborn 0c7a995767 Don't attempt to retain the buffer if it goes to a closed connection 2020-01-24 01:22:44 -05:00
Andrew Steinborn a1577dd8a5 Minecraft 1.15.2 2020-01-21 13:28:37 -05:00
Andrew Steinborn ad8c6677ed Begin 1.0.5-SNAPSHOT 2019-12-23 02:02:39 -05:00
Andrew Steinborn 78af6f7cdf Velocity 1.0.4 2019-12-23 01:59:15 -05:00
Andrew Steinborn 1e50615993 Minecraft 1.15.1 2019-12-17 13:58:44 -05:00
Andrew Steinborn c3068ea26b Rename mystery field in JoinGame 2019-12-14 17:45:54 -05:00
Andrew Steinborn b56302b17e Minecraft 1.15 (backport from 1.1.0) 2019-12-10 12:22:24 -05:00
Andrew Steinborn e06e2e4cf9 Introduce velocity.natives-tmpdir property for properly handling noexec /tmp 2019-11-29 14:26:59 -05:00
Andrew Steinborn d8dba8a96c Graceful fallback when /tmp is amounted noexec on Linux
Fixes #260
2019-11-29 12:04:46 -05:00
Andrew Steinborn 2baa162d91 Make sure we only tab-complete commands for which we have access to 2019-11-26 14:07:55 -05:00
Andrew Steinborn 893391202b Manually backport e29e20b from Velocity 1.1.0 2019-11-26 13:47:58 -05:00
Andrew Steinborn da63406ee7 Fix potential UDP speculative reflection attack 2019-11-23 01:06:00 -05:00
Andrew Steinborn 17e6944dae Clean up HandshakeSessionHandler 2019-09-27 22:37:42 -04:00
Andrew Steinborn 1824c7ad7e Suppress invalid protocol spam 2019-09-27 22:23:40 -04:00
Andrew Steinborn aff06164cd Fix "all" not appearing in the tab-complete for /server 2019-09-15 19:54:33 -04:00
Andrew Steinborn c0010d6f8b Velocity 1.0.4-SNAPSHOT 2019-08-24 00:28:10 -04:00
Andrew Steinborn 36082126a0 Velocity 1.0.3 2019-08-24 00:27:43 -04:00
Andrew Steinborn e42c1d876d Fix Travis (again) 2019-08-24 00:27:20 -04:00
Andrew Steinborn 057b84c933 Remove inaccurate "Status" section
I'm just one person, I can't keep this stuff updated everywhere.
2019-08-17 20:12:32 -04:00
Andrew Steinborn 10ce976084 Update text 3.0.2
cc @lucko
2019-08-11 20:36:17 -04:00
Andrew Steinborn e3e7b726e0 Bump to Guice 4.2.2 for Java 11 plugin support 2019-08-09 15:38:36 -04:00
Andrew Steinborn c64d16326c Fix bug where connect() wouldn't reset in-flight connections 2019-08-08 17:22:55 -04:00
Andrew Steinborn 7c2cbdbf1f Explicitly parse IP addresses before using an unresolved address
This allows plugins to more correctly use InetSocketAddress#getAddress(),
however "gotchas" remain.
2019-08-07 16:21:15 -04:00
Andrew Steinborn 4940f6b447 Allow certain mangled large packets to pass through 2019-07-30 17:11:26 -04:00
Andrew Steinborn bfea41e7e3 Fix Travis build matrix 2019-07-26 01:36:43 -04:00
Andrew Steinborn 57433a657c Velocity 1.0.3-SNAPSHOT 2019-07-19 13:28:59 -04:00
Andrew Steinborn a60d134e1e Velocity 1.0.2 2019-07-19 13:28:38 -04:00
Andrew SteinbornandGitHub e8ed8ebeb7 Merge pull request #235 from NynjaCypher/master
1.14.4 protocol support
2019-07-19 13:07:04 -04:00
Andrew Steinborn 58b52cce0c Add flag to disable native transports 2019-07-12 14:32:37 -04:00
Andrew Steinborn 5b518eaf20 Remove kqueue bug workaround since the issue is now fixed upstream
See https://github.com/netty/netty/pull/9149
2019-07-02 02:37:15 -04:00
Andrew Steinborn e31b2b87dc Update Netty to 4.1.37.Final 2019-07-02 02:37:15 -04:00
Andrew Steinborn 226074a0df Add suggestion for reconnecting for "not online-mode" message 2019-06-29 14:35:28 -04:00
Andrew Steinborn a8684ddec5 Bump to 1.0.2-SNAPSHOT for continued development 2019-06-24 21:38:06 -04:00
Andrew Steinborn 904e39b73a Velocity 1.0.1 2019-06-24 21:37:45 -04:00
Andrew SteinbornandGitHub ed4a431297 Merge pull request #222 from Leymooo/1.14.3
1.14.3
2019-06-24 13:32:26 -04:00
Andrew Steinborn 5a209a098c Fix memory leak in NativeVelocityCipher 2019-06-22 16:03:55 -04:00
Andrew SteinbornandGitHub a3ce20914f Merge pull request #221 from Leymooo/1.14.3
1.14.3-pre4
2019-06-22 13:00:53 -04:00
Andrew Steinborn 1fd2bd9ee4 Avoid sending duplicate set latency/gamemode/display name packets 2019-06-15 17:08:05 -04:00
Andrew Steinborn 57c8c07c9d Bump to 1.0.1-SNAPSHOT for continued development 2019-06-12 18:14:44 -04:00
Andrew Steinborn d7e4e20c76 This is Velocity 1.0.0 2019-06-12 18:10:33 -04:00
Andrew Steinborn b0736548a9 Strengthen check in JavaVelocityCompressor 2019-06-09 04:43:24 -04:00
Andrew Steinborn b19d36e939 Strictly enforce packet size limits for incoming compressed packets 2019-06-09 04:25:13 -04:00
Andrew Steinborn 8d61e7ffd0 Removed redundant (non-)nullable annotations from boss bar. 2019-06-02 17:57:31 -04:00
Andrew Steinborn dfe210707f Replace uses of deprecated LegacyComponentSerializer.INSTANCE 2019-05-31 15:50:46 -04:00
Andrew Steinborn a77fee9ad1 Bump Velocity to text 3.0.1 2019-05-31 15:45:24 -04:00
Andrew SteinbornandGitHub 70242d54a0 Because someone asked, update the README 2019-05-31 15:02:14 -04:00
Andrew Steinborn 4e71788aba Work around kqueue transport bug with fallback connections. 2019-05-27 14:00:20 -04:00
Andrew SteinbornandGitHub 5baf3c8236 Merge pull request #210 from Leymooo/1.14.2-protocol
1.14.2 support
2019-05-27 13:46:01 -04:00
Andrew Steinborn b5f099824d Remove debug. 2019-05-26 18:37:33 -04:00
Andrew Steinborn 4d6e836890 Fix Checkstyle 2019-05-26 18:14:54 -04:00
Andrew Steinborn deeb068825 Merge branch 'metrics' 2019-05-26 18:10:56 -04:00
Andrew Steinborn 9d14af5a8b Add Metrics to Velocity
Velocity will send metrics to bStats.org. These statistics are
publicly viewable at https://bstats.org/plugin/server-implementation/Velocity

You can always opt-out by disabling metrics in your velocity.toml.
There is no obligation to allow us to collect metrics, but you can
show your support by leaving metrics on.
2019-05-26 18:10:44 -04:00
Andrew Steinborn df9883cc6c Reduce unnecessary memory copies in StatusSessionHandler
Take advantage of the fact that Java has mutable strings when writing
out server ping responses, which Netty can work with when writing out
UTF-8 character sequences. This reduces the memory allocation impact of
server list ping responses by ~31%.
2019-05-24 06:55:19 -04:00
Andrew Steinborn 3cee15a9cb Move proxy shutdown to take place in a new thread. 2019-05-23 15:09:11 -04:00
Andrew Steinborn df7eb4ade0 Ensure the proxy doesn't shut down too early if stdin is EOF. 2019-05-23 14:50:58 -04:00
Andrew Steinborn b881e9cf04 Do a small sanity check, however 2019-05-21 00:58:52 -04:00
Andrew Steinborn 821a7a45bc Small optimization for NativeVelocityCipher
Instead of going through the general process function, which does extra
checks to ensure that its arguments are sane, move "closer" to the action
by stripping down to the actual implementation.
2019-05-21 00:56:14 -04:00
Andrew Steinborn b09331b79b Small optimization for writing packets to the client from the server
The layers of indirection to get to the MinecraftConnection causes a
small, but not insignificant hit to performance.
2019-05-21 00:33:35 -04:00
Andrew Steinborn a684aaa325 Make sure to complete the result too 2019-05-19 21:56:09 -04:00
Andrew Steinborn 321b42d225 Add some exception logging to the transition session handler. 2019-05-19 21:55:38 -04:00
Andrew Steinborn 5524f3b720 Ensure empty (un)register packets are never sent.
Bukkit 1.13+, in particular, doesn't seem to like it very much. This was
also a bug in ViaVersion.
2019-05-17 18:16:28 -04:00
Andrew Steinborn 40b2c9993b Clean up some connection checks 2019-05-17 06:27:19 -04:00
Andrew SteinbornandGitHub 586be46bba Merge pull request #207 from lucko/fix/event-unregister
EventManager fixes
2019-05-17 06:06:03 -04:00
Andrew Steinborn 3ec67a7d4d Optimize VelocityEventManager#fireAndForget()
There isn't a need to create a CompletableFuture when firing an event
and we do not want to know when it is completed.
2019-05-16 17:29:55 -04:00
Andrew Steinborn 9e6e1856e6 Add /glist command.
A much-needed base command, this is now available in Velocity directly.
It is partially inspired by the RedisBungee /glist command, which I also
created.

By default, /glist only provides the player count of the proxy. You can
view the player list for an individual server with /glist <server>, or
you can view the information for all players with /glist all.
2019-05-16 01:46:54 -04:00
Andrew Steinborn b0b445c044 Fix Javadoc link for text API 2019-05-15 19:20:51 -04:00
Andrew Steinborn 4ab02cb636 Clean this up a bit 2019-05-15 19:02:31 -04:00
Andrew Steinborn a21eaa085a Do a better job of passing channel (un)registration to the client.
Also fixes a regression related to WDLCompanion.
2019-05-15 18:59:28 -04:00
Andrew Steinborn 552f02ed60 Fix Checkstyle 2019-05-15 17:10:07 -04:00
Andrew Steinborn 6d42a3c37c Explicitly rewrite legacy plugin message channels for 1.13+ clients. 2019-05-15 17:04:45 -04:00
Andrew Steinborn d805f79d9b Try to unbreak ViaVersion a little bit. 2019-05-15 15:52:07 -04:00
Andrew SteinbornandGitHub 742865bf0a Merge pull request #204 from VelocityPowered/plugin-message-cleanups
Plugin message handling cleanup and fixes
2019-05-15 06:31:18 -04:00
Andrew Steinborn 6eabf82513 Fix inaccurate comment. 2019-05-14 04:26:16 -04:00
Andrew Steinborn d7136150fd Get rid of the Guava Subscribe annotation check
I think we can trust that if you're working with Velocity, you can find
the right Velocity subscribe annotation.
2019-05-14 04:18:18 -04:00
Andrew Steinborn 5bd9f0a96f CappedSet.newCappedSet() -> CappedSet.create() 2019-05-14 04:11:49 -04:00
Andrew Steinborn fc9e2d576d Update for Minecraft 1.14.1 2019-05-13 12:12:08 -04:00
Andrew Steinborn 57085feb42 Better document what plugin channels we need to forward onto clients. 2019-05-12 11:09:50 -04:00
Andrew Steinborn 3c9cc2c4a8 Remove unrelated change 2019-05-12 10:48:47 -04:00
Andrew Steinborn 16d557a109 Fix checkstyle 2019-05-12 10:46:11 -04:00
Andrew Steinborn b5fcf685be Kill debug 2019-05-12 10:06:01 -04:00