Better handle not failing over on a read timeout

The existing Velocity logic was pretty optimistic, hoping the player connection would stay alive long enough to accept a connection to another server. Now, if we notice a read timeout on the server end, we'll treat the disconnect as "unsafe" and disconnect the player immediately.

I've added a configuration option to solve the issue in the way BungeeCord does it. This could cause issues with servers that extensively modify the server pipeline and could degrade the user experience, though. Let's try this more conservative and see if it helps,
This commit is contained in:
Andrew Steinborn
2020-07-20 21:55:33 -04:00
parent f9f60e1489
commit cb261c6513
8 changed files with 40 additions and 11 deletions

View File

@@ -117,6 +117,12 @@ bungee-plugin-message-channel = true
# Shows ping requests to the proxy from clients.
show-ping-requests = false
# By default, Velocity will attempt to gracefully handle situations where the user unexpectedly
# loses connection to the server without an explicit disconnect message by attempting to fall the
# user back, except in the case of read timeouts. BungeeCord will disconnect the user instead. You
# can disable this setting to use the BungeeCord behavior.
failover-on-unexpected-server-disconnect = true
[query]
# Whether to enable responding to GameSpy 4 query responses or not.
enabled = false