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
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
2e38e0e1cb
Properly fix the previous patch
2020-04-11 21:52:01 -04:00
Andrew Steinborn
8df4467392
Upon connection exception, discard all incoming packets instead
2020-04-11 21:24:39 -04:00
Andrew Steinborn
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
Hugo Manrique
d722422947
Only finish non-repeating tasks
2020-03-13 18:52:15 +01:00
Hugo Manrique
6ec6beedbd
Remove tasks from lookup map upon completion
2020-03-13 18:17:06 +01: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
29168ae549
Update to new bStats revision
2020-02-13 12:57:48 -05:00
Crypnotic
8fba9d7438
Add cleanServerName to VelocityConfiguration to remove quotes and other unforeseen characters from server names before registration
2020-02-09 13:40:15 -06: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
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
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
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
58b52cce0c
Add flag to disable native transports
2019-07-12 14:32:37 -04:00
Seppe Volkaerts
145dfa8ac6
Wait for player disconnect events on shutdown. ( #229 )
2019-07-05 00:54:23 -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
226074a0df
Add suggestion for reconnecting for "not online-mode" message
2019-06-29 14:35:28 -04:00
Andrew Steinborn
1fd2bd9ee4
Avoid sending duplicate set latency/gamemode/display name packets
2019-06-15 17:08:05 -04:00
kashike
335c34a679
Explicity bind the main plugin class in the singleton scope
2019-06-14 01:06:08 -07:00
Andrew Steinborn
d7e4e20c76
This is Velocity 1.0.0
2019-06-12 18:10:33 -04:00
Andrew Steinborn
b19d36e939
Strictly enforce packet size limits for incoming compressed packets
2019-06-09 04:25:13 -04:00
Vjatšeslav Maspanov
f64b44ec21
Remove protocol linking ( #212 )
2019-06-02 19:44:23 -04:00
Andrew Steinborn
8d61e7ffd0
Removed redundant (non-)nullable annotations from boss bar.
2019-06-02 17:57:31 -04:00
kashike
0a53343547
Rename some bossbar-related fields and methods
2019-06-02 14:47:41 -07:00
MrIvanPlays
20b34447f8
Add BossBar API ( #213 )
2019-06-02 15:02:43 -04:00
Andrew Steinborn
dfe210707f
Replace uses of deprecated LegacyComponentSerializer.INSTANCE
2019-05-31 15:50:46 -04:00
Andrew Steinborn
4e71788aba
Work around kqueue transport bug with fallback connections.
2019-05-27 14:00:20 -04:00
Leymooo
85c6238d68
1.14.2 support
2019-05-27 17:20:42 +03: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
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