Commit Graph

1439 Commits

Author SHA1 Message Date
Andrew Steinborn 1c2235af5a Explicitly find and complain about BungeeCord and Bukkit plugins.
They aren't supported with Velocity and will never be.
2018-12-24 09:44:26 -05:00
Andrew Steinborn 4a872ffabe Add asynchronous DNS resolution. 2018-12-24 07:37:59 -05:00
Andrew Steinborn e71bac2028 Fix ProtocolUtil#readString() to respect Unicode.
This brings Velocity's to conformance to what Mojang does in
PacketDataSerializer.
2018-12-24 05:25:58 -05:00
Andrew Steinborn 267d306569 Remove all uses of (mark|reset)ReaderIndex()
This is removed in Netty 5.x: netty/netty#8636
2018-12-23 23:30:26 -05:00
Andrew Steinborn 11daaa986a Add readable checks. 2018-12-23 18:50:02 -05:00
Andrew Steinborn 3a87e47796 Remove validation check since these usernames exist anyway. 2018-12-17 15:35:14 -05:00
Andrew Steinborn 5be64565e9 Print exception in task 2018-12-16 13:41:23 -05:00
Andrew Steinborn ca915a44a9 Bump write mark, to see if it improves #152 2018-12-15 21:13:52 -05:00
Andrew Steinborn 4b5664ec91 Remove redundant check. 2018-12-14 15:09:52 -05:00
Andrew Steinborn 2884c2ea90 Strictly validate usernames for online mode. 2018-12-14 15:04:21 -05:00
Andrew Steinborn 10293aa542 Fix login with IPv6 and other potential security issues 2018-12-14 14:41:46 -05:00
Andrew Steinborn 9a15a80627 Merge pull request #161 from VelocityPowered/anonymize-user-disconnect-messages
Anonymize all exception/connection-related errors from the user.
2018-12-14 13:11:51 -05:00
Andrew Steinborn cc5a7dba9b Clean up PluginDependencyUtilsTest 2018-12-14 01:47:43 -05:00
Andrew Steinborn 2d54a2c15b Record circular dependencies 2018-12-13 19:44:25 -05:00
Andrew Steinborn da12008736 Fix more formatting issues. 2018-12-13 04:53:45 -05:00
Andrew Steinborn 0100cdd244 More comment on the plugin dependency stuff. 2018-12-13 04:50:08 -05:00
Andrew Steinborn fc76a027de Rewrite dependency plugin resolving.
Velocity now resolves plugin dependencies using a depth-first search
(DFS), instead of using Kahn's algorithm like before. This properly handles duplicate indirect dependencies.

Thanks to @creeper123123321 for noticing this issue!
2018-12-13 04:06:43 -05:00
Andrew Steinborn f9843057ba Anonymize all exception/connection-related errors from the user.
We still print these out in the logs.
2018-12-11 01:50:29 -05:00
Andrew Steinborn ce6b061b79 Make Velocity's server list ping behavior more conformant.
This fixes pinging with 1.7.x and with certain ping libraries that send
the -1 protocol version.
2018-12-07 17:24:41 -05:00
Luck 6ff9180987 Remove redundant extra lambda in EventManager#fire implementation 2018-12-04 00:03:47 +00:00
Luck 3d3d6adf04 Remove redundant null check in VelocityMethodScanner 2018-12-03 23:55:39 +00:00
Luck cfae542dd2 Slightly optimize SimpleEventBus usage in VelocityEventManager 2018-12-03 23:53:50 +00:00
Luck 43da3d4541 Allow the same EventHandler to be registered with different PostOrders
The #equals implementations in KyoriToVelocityHandler silently prevented this previously.
2018-12-03 23:53:06 +00:00
Andrew Steinborn 5b9a8f160b Fallback to plugin ID. 2018-12-02 01:59:46 -05:00
Andrew Steinborn 65ca41cdb5 Warn when using Guava Subscribe annotation.
Additionally, registration of listeners will not be fatal if an
exception was thrown.
2018-12-02 01:58:21 -05:00
Andrew Steinborn a3bfa292c6 Merge pull request #139 from VelocityPowered/reload-command
Reload command
2018-12-01 18:04:09 -05:00
Andrew Steinborn bb01dc9edf Revert "Revert "Refactor Forge support to track the handshake & include keepalives""
This reverts commit dc67ee99ed.
2018-12-01 17:11:41 -05:00
Andrew Steinborn a9ae53e527 Introduce ConsoleCommandSource. See #155 2018-12-01 17:08:34 -05:00
Andrew Steinborn dc67ee99ed Revert "Refactor Forge support to track the handshake & include keepalives" 2018-12-01 14:04:14 -05:00
Andrew Steinborn ed4994a792 Merge pull request #136 from dualspiral/forge-handshake
Refactor Forge support to track the handshake & include keepalives
2018-12-01 14:03:16 -05:00
Andrew Steinborn 6e37fa5f33 When handling TabCompleteResponse, check if we have a command.
Fixes #154
2018-11-30 19:14:51 -05:00
Andrew Steinborn d3d683dfc0 Document velocity.toml more carefully. 2018-11-30 16:17:36 -05:00
Daniel Naylor 9260d1071a Fix from API breakage 2018-11-25 10:30:14 +00:00
Daniel Naylor a4852d7264 Silly me... 2018-11-25 10:19:46 +00:00
Daniel Naylor 2b49bb96bf This goes here 2018-11-25 10:19:46 +00:00
Daniel Naylor 9bab6b8c8e Update for master changes and comments 2018-11-25 10:19:46 +00:00
Daniel Naylor 3adf36f712 Fix comments. We still seem to have a plugin message coming though on login,
can't see why...
2018-11-25 10:19:46 +00:00
Daniel Naylor 8716e09d21 Don't use a magic string 2018-11-25 10:19:16 +00:00
Daniel Naylor ccd37e5b9c Track the forge handshake and re-engineer Forge support
The system is now organised into connection types and phases. Most of the core Velocity logic is now isolated from the Forge logic to allow for simpler maintainance and to try to support future loaders (Forge 1.13?) in a cleaner fashion.

There are a couple of points where Forge specific calls are in the main body, but these have been minimised.

Also send keepalives from Velocity to during backend server switch and after Forge handshake, to try to help Forge clients
2018-11-25 10:18:48 +00:00
Andrew Steinborn 8f859b980c Merge pull request #135 from Crypnotic/protocol-constants-rework
Expose ProtocolConstants to the API
2018-11-25 01:27:17 -05:00
Andrew Steinborn 5eeca16f7e Apply final modifier 2018-11-24 21:42:08 -05:00
Andrew Steinborn a083dfd3a4 Merge branch 'master' into reload-command
# Conflicts:
#	proxy/src/main/java/com/velocitypowered/proxy/VelocityServer.java
2018-11-24 21:41:12 -05:00
Andrew Steinborn 9a9b6f9ab3 Rename ConnectionManager#shutdown(ISA) -> ConnectionManager#close(ISA) 2018-11-24 21:38:26 -05:00
Andrew Steinborn bb4945b513 Fix awkward disconnection issues. 2018-11-24 20:12:29 -05:00
js6pak 97725ed906 Fix GS4 k, v section
Add "plugins" key before plugins list
2018-11-24 22:36:03 +01:00
Andrew Steinborn d9be210fe3 Fix this up 2018-11-23 18:54:53 -05:00
Andrew Steinborn 436c1624bc Make sure to mark the in-flight connection. 2018-11-23 18:42:14 -05:00
Andrew Steinborn e2ad6b740a Do not allow connections till JoinGame is received. 2018-11-23 18:42:14 -05:00
Andrew Steinborn 81d8c8374e Fix up Checkstyle styles from PR 2018-11-23 03:23:45 -05:00
Andrew Steinborn 38f460d56c Merge pull request #141 from VelocityPowered/options
Allow specifying bind port via command line
2018-11-23 03:19:03 -05:00