Commit Graph

1269 Commits

Author SHA1 Message Date
Andrew Steinborn cb261c6513 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,
2020-07-20 21:55:33 -04:00
Andrew Steinborn f9f60e1489 Small code cleanups and switch more stuff to adventure 2020-07-19 18:23:47 -04:00
Andrew Steinborn 21ad6a433f Add MessageRaw support to BungeeCordMessageResponder 2020-07-16 15:18:11 -04:00
Andrew Steinborn f6bdab8e53 Clean up unused import 2020-07-16 12:44:36 -04:00
Andrew Steinborn 4f19bfde3d Fix various problems with GS4QueryHandler 2020-07-16 12:44:02 -04:00
Andrew Steinborn 2296a9d8dd Fix compile error caused by adventure changes 2020-07-16 11:50:48 -04:00
Andrew Steinborn 72ce5c86ba Improve Velocity networking pipeline when under stress 2020-07-16 11:44:55 -04:00
Andrew Steinborn f93e227491 Further improvements to pipeline in the worst-case scenario. 2020-07-15 18:26:48 -04:00
Andrew Steinborn a8651f561d Update to event 4.0.0-SNAPSHOT for an optimized event path 2020-07-15 17:07:38 -04:00
Andrew Steinborn 98f1faf759 Work around ByteToMessageDecoder trying to be send more messages upstream when we wanted to discard them altogether 2020-07-15 16:52:48 -04:00
Andrew Steinborn ce74dcc483 Try not to be crafty here 2020-07-15 16:33:42 -04:00
Andrew Steinborn ff99b2b248 Convert all Velocity commands to use adventure text components 2020-07-14 21:31:32 -04:00
Andrew Steinborn bcab3be2e2 Fix Checkstyle error 2020-07-14 21:31:16 -04:00
Andrew Steinborn 725fc2e16c Merge pull request #329 from Proximyst/dev/1.1.0-async-suggestions
Add async suggestions
2020-07-14 18:32:11 -04:00
Mariell Hoversholm 9c8c851d12 Add async command suggestions 2020-07-15 00:28:22 +02:00
Andrew Steinborn 4c3d9de5fe Add ServerPostConnectEvent as a less confusing (and non-blocking) alternative to ServerConnectedEvent 2020-07-12 16:13:04 -04:00
Andrew Steinborn f841d7590a Remove unused parameter 2020-07-12 11:57:07 -04:00
Andrew Steinborn 21bc050f9c Fix Checkstyle issues again 2020-07-12 11:56:50 -04:00
Andrew Steinborn d47462c606 Fix accidential deprecation 2020-07-12 11:42:44 -04:00
Andrew Steinborn 6e84261166 Merge branch 'dev/1.1.0' into adventure-api 2020-07-12 01:49:08 -04:00
Andrew Steinborn 86259f788f Adjust for recent adventure API changes. 2020-07-11 12:00:54 -04:00
Andrew Steinborn 81aed2cd1d Get the Nexus credentials from the environment 2020-07-04 03:36:39 -04:00
Andrew Steinborn 4469a89aaa Point all new Maven artifact deploys to Nexus 2020-07-04 03:19:57 -04:00
Andrew Steinborn 85d88d59d3 Fix pinging being "delayed" on 1.7 2020-07-03 19:16:55 -04:00
Andrew Steinborn 079b352c97 Add a new loginstatus for CANCELLED_BY_USER_BEFORE_COMPLETE 2020-07-03 17:48:20 -04:00
Andrew Steinborn 4c1db86760 Merge branch 'make-disconnectevent-more-sane' into dev/1.1.0 2020-07-03 17:26:24 -04:00
Andrew Steinborn 801ae4f33d Add one more case to disconnectedDuringLogin() 2020-07-03 17:26:11 -04:00
Andrew Steinborn 209291e702 Improve the test a little 2020-07-01 00:36:12 -04:00
Andrew Steinborn 07da606abd Add OnceTest 2020-06-30 22:54:49 -04:00
Andrew Steinborn 47560442ca Remove SyncMap for now, use more obvious and correct MapMaker 2020-06-30 22:46:21 -04:00
Andrew Steinborn 1b8955a76b Add initial adventure boss bar support 2020-06-30 22:33:07 -04:00
Andrew Steinborn 5285a3c155 Remove AdventureCompact in favor of the text 3.x serializer added in KyoriPowered/adventure-platform#23 2020-06-29 23:34:59 -04:00
Luck ea52cedfdf Fire ProxyShutdownEvent before closing the scheduler / event bus
Fixes #322
2020-06-29 11:18:52 -04:00
Andrew Steinborn 1938013ab2 Make DisconnectEvent more sane
This is a step towards fixing #289 and removing some less-than-optimal behavior in plugins I maintain internally.
2020-06-29 11:17:08 -04:00
Andrew Steinborn 5b9dbb74c9 Fix up some annotations 2020-06-29 10:42:01 -04:00
Andrew Steinborn 22afd1cf41 Since we're deprecating stuff, mark toml4j as deprecated 2020-06-28 23:25:09 -04:00
Andrew Steinborn 70698246bf Get everything compiling and Checkstyle clean 2020-06-28 23:20:46 -04:00
Andrew Steinborn c2edd82b16 Use more idiomatic adventure text serializer 2020-06-28 23:13:57 -04:00
Andrew Steinborn 0c6039a773 Make sure console is included in the ProxyServer audience 2020-06-28 22:57:28 -04:00
Andrew Steinborn c4f143a2bc Implement adventure title APIs 2020-06-28 22:52:46 -04:00
Andrew Steinborn 5c02d6b007 RegisteredServer and ProxyServer now implement MultiAudience 2020-06-28 22:01:45 -04:00
Andrew Steinborn 8ef2835a47 Fix API breaking change, deprecate ProxyAudience 2020-06-28 21:44:44 -04:00
Andrew Steinborn 70a989e955 Minor cleanup and add some missing Deprecated tags 2020-06-28 21:29:25 -04:00
Andrew Steinborn 2e7a598916 Initial commit of adventure-adapted Velocity API. 2020-06-28 21:23:01 -04:00
Andrew Steinborn 7fd76962f2 Graceful fallback if these values are absent 2020-06-27 23:03:47 -04:00
Andrew Steinborn 62703780e1 Fix a few areas of concern spotted by JITWatch 2020-06-27 21:33:05 -04:00
Andrew Steinborn 7e1f01f13a Bump Guice version to support Java 14 plugins 2020-06-26 23:44:08 -04:00
Andrew Steinborn 51819b563f Tolerate broken brand sending by some bots. 2020-06-24 22:32:44 -04:00
Andrew Steinborn 28d2366c73 Switch Velocity from existing toml4j+homebrew TOML serializer to night-config.
This allows us to allow many more valid configurations and allows us to eliminate a bunch of ugly hacks.
2020-06-24 21:31:39 -04:00
Andrew Steinborn 4bebda2549 Loosen Checkstyle rules for this. 2020-06-24 11:34:13 -04:00