Commit Graph
100 Commits
Author SHA1 Message Date
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
Andrew Steinborn adfb33ad21 Fix server-sent plugin message channels, fixing WDLCompanion and similar
Closes #203
2019-05-12 10:05:22 -04:00
Andrew Steinborn 5f0470fb0b Checkstyle, CappedCollection -> CappedSet 2019-05-10 07:42:47 -04:00
Andrew Steinborn 74afcee9ba Suspect this is the fix to #203, but I'm unsure 2019-05-10 04:53:57 -04:00
Andrew Steinborn c26dc75c44 More robust check 2019-05-10 04:44:01 -04:00
Andrew Steinborn 01be943c3f Initial work on cleaning up plugin message handling in Velocity 2019-05-10 04:32:29 -04:00
Andrew Steinborn 37999ed32e Support 1.14-pre2 2019-05-10 02:51:00 -04:00
Andrew SteinbornandGitHub 2bba87e8da Merge pull request #201 from VelocityPowered/text3
Bump text to 3.0.0
2019-05-06 23:20:29 -04:00
Andrew Steinborn 472f45df08 Don't resolve IP addresses in the config except for the bind one. 2019-04-29 01:59:55 -04:00
Andrew Steinborn de51ea18cc Forward other client-known plugin messages during the transition as well
Fixes #197
2019-04-29 00:52:06 -04:00
Andrew Steinborn 8517d58673 Reduce erroneous DNS lookups for Velocity in Kubernetes. 2019-04-27 20:37:31 -04:00
Andrew Steinborn dc6613a328 Update Gradle Shadow to fix build 2019-04-25 23:05:16 -04:00
Andrew Steinborn e9950da0c5 Enable multi-release flag to improve Java 9+ compatibility 2019-04-25 19:12:22 -04:00
Andrew Steinborn 5d10b16145 Velocity is 1.0.0-SNAPSHOT 2019-04-25 00:47:02 -04:00
Andrew Steinborn cbd922764e Fix Checkstyle (again) 2019-04-24 21:39:15 -04:00
Andrew Steinborn 632d0b6ba8 Handle plugin channel registrations during initial connect as well.
Fixes #193
2019-04-24 21:28:43 -04:00
Andrew SteinbornandGitHub 1661cece2d An Easter basket bearing gifts! (#191)
* Delay switch to new server until after JoinGame is sent.

Unfortunately, in some cases (especially vanilla Minecraft) some login
disconnects are sent after ServerLoginSuccess but before JoinGame.
We've been using ServerLoginSuccess but it has caused too many problems.
Now Velocity will switch to a stripped-down version of the play session
handler until JoinGame is received. This handler does very little by
itself: it simply forwards plugin messages (for Forge) and waits for the
JoinGame packet from the server.

This is an initial version: only vanilla Minecraft 1.12.2 was tested.
However this is the way Waterfall without entity rewriting does server
switches (which, in turn, is inherited from BungeeCord).

* Move to Gradle 5 and Error Prone.
2019-04-24 14:36:49 -04:00
Andrew Steinborn c8e33eef60 Properly compare against MIN/MAX_VALUE 2019-04-23 13:52:03 -04:00
Andrew Steinborn 545966a4e7 Minecraft 1.14 2019-04-23 13:46:49 -04:00
Andrew Steinborn 7472392ce2 Update Netty to 4.1.35.Final 2019-04-21 03:37:29 -04:00
Andrew Steinborn edcd13b532 Fix Checkstyle issues 2019-04-21 02:56:29 -04:00
Andrew Steinborn dea7c215d7 Allow empty channel names (but not namespaces). 2019-04-21 02:52:52 -04:00