Commit Graph

842 Commits

Author SHA1 Message Date
Andrew Steinborn a60c55007a Remove LegacyChatColorUtils
In most cases, you should only work with legacy text to deserialize or
serialize it for backwards compatibility or user configurations only.
2018-09-17 16:11:23 -04:00
Andrew Steinborn 037dceb599 Fix potential race 2018-09-16 15:35:25 -04:00
Andrew Steinborn 2a842bffbe Add missing null check 2018-09-16 15:32:51 -04:00
Andrew Steinborn 291069af80 Implement RegisteredServer#ping() 2018-09-16 13:59:44 -04:00
Andrew Steinborn 1f8152c3a5 ProxyServer#getServerInfo -> ProxyServer#getServer 2018-09-16 13:16:16 -04:00
Andrew Steinborn 8b94fe6ed2 Readd missing check 2018-09-16 02:41:35 -04:00
Andrew Steinborn 5ff36f1ae7 Merge branch 'master' into plugin-message-event
# Conflicts:
#	proxy/src/main/java/com/velocitypowered/proxy/connection/backend/BackendPlaySessionHandler.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/client/ClientPlaySessionHandler.java
2018-09-16 02:35:38 -04:00
Andrew Steinborn e1b2dc0d43 Introduce RegisteredServer API
This interface roughly maps the BungeeCord ServerInfo API. Accordingly,
this is a breaking API change, as many of the server-related events and
methods working with server info instances now provide/expect the
RegisteredServer interface instead.
2018-09-16 02:26:29 -04:00
Andrew Steinborn 88b7407aaf Fix rare NPE during server transition. Fixes #87 2018-09-15 13:37:30 -04:00
Andrew Steinborn ab568405dd Cleaned up client plugin message logic. 2018-09-15 02:22:52 -04:00
Andrew Steinborn 84947564e4 Handle unexpected disconnects without a reason. 2018-09-15 01:46:28 -04:00
Andrew Steinborn 871319d679 Allow custom connection and read timeouts. 2018-09-15 01:26:54 -04:00
Andrew Steinborn 2b1d55a0fc Expose original server in ServerPreConnectEvent 2018-09-15 01:16:26 -04:00
Andrew Steinborn e9568e1b6c Do not write plugin messages from the server if the player hasn't joined 2018-09-14 15:26:51 -04:00
Andrew Steinborn 9776675b70 Queue mod plugin messages instead. 2018-09-14 14:16:32 -04:00
Andrew Steinborn 496c579e46 Drop non-FML handshake packets if the game start process is not done. 2018-09-14 13:56:38 -04:00
Andrew Steinborn 0469aaa03a Fix several invalid connection closure issues. 2018-09-14 01:00:56 -04:00
PurpleIsEverything cf46659d9e Change to a 5 second connection timeout. 2018-09-13 22:53:23 -06:00
ShadowKitten 14590ca3ea Add CONNECT_TIMEOUT_MILLIS to fix timeout errors. 2018-09-13 22:41:21 -06:00
Andrew Steinborn d028c281c9 Merge pull request #76 from kashike/mrn
ServerPreConnectEvent#getInfo -> getServer
2018-09-14 00:17:25 -04:00
Andrew Steinborn 656987db03 Merge pull request #83 from dualspiral/fix/fml-plugin-messages
Only send FML/FML|MP plugin messages if the player has joined the server
2018-09-13 16:10:03 -04:00
Andrew Steinborn 6ca39e459e Merge pull request #80 from dualspiral/fix/reset-on-first
Don't fire a FML reset packet on first login, set it as required for the second join after the first completes
2018-09-13 16:09:51 -04:00
Daniel Naylor bcbf4cfd5f Only send FML/FML|MP plugin messages if the player has joined the server.
See #78
2018-09-13 10:33:27 +01:00
kashike c3fd559ac2 ServerPreConnectEvent#getInfo -> getServer 2018-09-12 22:41:51 -07:00
Daniel Naylor f10e9ac8e4 Don't fire a FML reset packet on first login, set it as required for the second join after the first.
Fixes #69
2018-09-12 10:21:28 +01:00
Leymooo bc86a12c57 expand PreLoginComponentResult with force offline mode 2018-09-12 11:47:28 +03:00
Leymooo d2b4b77134 Allow to edit GameProfile properties. 2018-09-11 19:00:34 +03:00
Leymooo 79bb43468f remove @NonNull, revert reindentation 2018-09-11 17:44:51 +03:00
Leymooo 74bf246c39 Add PostLoginEvent. Resolve #72 2018-09-11 16:15:54 +03:00
Daniel Naylor df637cd598 Ensure the reset packet is not sent when Forge isn't expecting it.
Fixes #69
2018-09-10 18:15:13 +01:00
Andrew Steinborn 56a50c60b5 Add missing readable check 2018-09-09 15:05:27 -04:00
Andrew Steinborn 46aa8efb35 Improve reliability of varint decoder. 2018-09-09 14:37:43 -04:00
Andrew Steinborn f2e3b5c7ec Increase plugin channels limit 2018-09-09 14:20:46 -04:00
Andrew Steinborn 0b1f95147a Implment simple backpressure support
In most cases this should only trigger on initial spawns and server
switches.
2018-09-08 01:00:21 -04:00
Andrew Steinborn f75a51638c Enable TCP_NODELAY on Minecraft proxy connections too 2018-09-07 23:29:49 -04:00
Andrew Steinborn a62238d073 Allow toggling announcing Forge support on and off 2018-09-07 18:18:38 -04:00
Andrew Steinborn be9547612f Misc code cleanup 2018-09-07 17:54:59 -04:00
Andrew Steinborn f8a3f24d6b Make sure to always forward on keep-alives from the client 2018-09-07 16:35:36 -04:00
Andrew Steinborn 30baee84bd Add the same check to ClientPlaySessionHandler 2018-09-06 16:11:44 -04:00
Andrew Steinborn 51a85d372b Add hasCompletedJoin() check as suggested 2018-09-06 16:09:13 -04:00
Daniel Naylor e86968e899 Don't forward most packets while join is still in progress 2018-09-06 19:38:50 +01:00
Daniel Naylor 7a5857a0b2 Modded clients can connect to vanilla servers again. Modded to modded seems to need some work still... 2018-09-06 19:15:18 +01:00
Daniel Naylor 10da7daf1d Send the FML marker if we are not performing legacy forwarding. 2018-09-05 19:19:37 +01:00
Daniel Naylor 9888f6f6f0 First attempt at getting Forge working nicely with Velocity. 2018-09-05 19:08:29 +01:00
Andrew Steinborn 5a424f5cbb Include version in boot message 2018-09-04 01:39:51 -04:00
Andrew Steinborn 5e0b13edcd Enhance config checks. 2018-09-04 01:37:08 -04:00
Andrew Steinborn 108996fc1f Missed this 2018-09-04 01:13:06 -04:00
Andrew Steinborn 69e88ca6fd Adds KickedFromServerEvent. Fixes #49 2018-09-04 01:12:20 -04:00
Andrew Steinborn c021eb2020 Don't output ProtocolVersion toString() in decode errors
This information is extremely technical in nature and the data is already
available for developer use by examining StateRegistry.
2018-09-04 00:50:24 -04:00
Andrew Steinborn c5dcfb1ba6 Prettier, conciser, and more useful ProtocolVersion#toString() 2018-09-03 23:45:11 -04:00