Commit Graph
100 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 fc48db62b5 Improve native initialization logic, again 2018-09-17 15:02:49 -04:00
Andrew Steinborn e75ec71b32 Improve native initialization logic
This uses the double-check pattern as recommended in Effective Java.
2018-09-17 01:03:17 -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
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 54c3c37064 Update note about Forge support [ci skip] 2018-09-08 02:14:52 -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 8d045c9140 Bump versions of Gradle, log4j, and Netty. 2018-09-08 00:32:53 -04:00
Andrew Steinborn f75a51638c Enable TCP_NODELAY on Minecraft proxy connections too 2018-09-07 23:29:49 -04:00
Andrew Steinborn 5dbf8f1736 Include modlist in toBuilder() 2018-09-07 23:23:53 -04:00
Andrew Steinborn a62238d073 Allow toggling announcing Forge support on and off 2018-09-07 18:18:38 -04:00
Andrew Steinborn 3eca6e9df1 Mark Velocity as a modded server on the server list 2018-09-07 18:09:28 -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
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 d2133bf0b4 Javadocs here 2018-09-04 01:32:50 -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
Andrew Steinborn c30cc66461 Test logic when exception is thrown in thread 2018-09-03 23:30:18 -04:00
Andrew Steinborn 3b5d20e62d Include git revision and build number 2018-09-03 21:02:11 -04:00
Andrew Steinborn 01be081bda Update link to Velocity repo 2018-09-03 15:01:18 -04:00
Andrew Steinborn db1b19dcd6 Remove unused scoreboard API 2018-09-02 18:07:31 -04:00
Andrew Steinborn ff0f83b375 Add getBoundAddress() for NuVotifier 2018-09-02 16:34:25 -04:00
Andrew Steinborn 3791283860 Gracefully handle offline-mode login attempts on online-mode. 2018-09-01 14:18:30 -04:00
Andrew Steinborn 561df4e9b2 Avoid running tasks we need for later 2018-08-31 21:34:00 -04:00
Andrew Steinborn 19c4c300e5 Okay, really? 2018-08-31 16:59:15 -04:00
Andrew Steinborn 576c63893f Make sure Jenkins doesn't run deploy jobs for different branches 2018-08-31 16:57:37 -04:00
Andrew Steinborn d7e18b2cb1 Make channels case-insensitive because NuVotifier uses a mixed-case name 2018-08-31 15:27:11 -04:00
Andrew Steinborn d3a14721bc Fix typo that forced modern forwarding on. 2018-08-31 15:26:44 -04:00
Andrew Steinborn b7725a7764 More sane shutdown code. 2018-08-28 21:27:03 -04:00
Andrew Steinborn 5773fe240b Use a HashSet here as it is more appropriate for the situation. 2018-08-28 21:24:49 -04:00
Andrew Steinborn 6f8dae3a7e Removed all references to the static VelocityServer instance. 2018-08-27 00:45:00 -04:00
Andrew Steinborn fead4783af Another misc cleanup for bossbars. 2018-08-27 00:25:39 -04:00
Andrew Steinborn c2fa5d3ff1 Make sure to deny 1.12.2 and below clients in "modern" IP forwarding. 2018-08-27 00:25:30 -04:00
Andrew Steinborn b5ebb4541f Clean ups around the codebase. 2018-08-27 00:24:58 -04:00
Andrew Steinborn c7469ec13c Removed all entity ID rewriting logic.
This was all a no-op anyway, and should the need for this arise again,
it is trivial to re-add. However, Velocity does not need this, and
probably will never need it. Let's have the complexity go away.
2018-08-26 23:58:35 -04:00
Andrew Steinborn f27b7e4e2f Fix improper packet mapping for chat messages.
This fixes the statistics display on the client.
2018-08-26 23:47:23 -04:00
Andrew Steinborn 42f0dbf646 Expand README 2018-08-26 23:42:01 -04:00
Andrew Steinborn db3f2b86e1 Remove unused client settings field from ConnectedPlayer 2018-08-26 23:23:13 -04:00
Andrew Steinborn 8e0ca2033e Explicitly cover unexpected disconnects during login 2018-08-26 22:43:18 -04:00
Andrew Steinborn d482dc7f4f Clean this up 2018-08-26 19:44:15 -04:00
Andrew Steinborn 79f4abcf90 Expand /server command.
The command now supports displaying the server you are currently on and
takes full advantage of the JSON-based text component system to prettify
its output.
2018-08-26 19:41:18 -04:00
Andrew Steinborn 01c1002249 Make sure to schedule on the thread pool and not on the scheduler. 2018-08-26 18:43:55 -04:00
Andrew Steinborn 1e178cfe2a Properly block connecting to Velocity with legacy forwarding.
I also took the opportunity to improve the disconnect handling for
Disconnect messages from the server.
2018-08-26 18:18:02 -04:00
Andrew Steinborn 44c4221e19 Add /end alias for /shutdown. 2018-08-26 18:02:55 -04:00
Andrew Steinborn ef556afbf3 Rewrote scheduler to use ScheduledExecutorService for delay/repeat tasks 2018-08-26 17:56:43 -04:00
Andrew Steinborn ffd6217170 Broaden a catch clause so Java Errors while loading plugins don't halt the proxy. 2018-08-26 14:40:07 -04:00
Andrew Steinborn 27288685ff Register 1.13+ channels on legacy clients too.
Prior to this commit, Velocity registered 1.13 and "legacy" channels
differently. This commit unifies both for legacy clients to make
compatibility easier. It also fixes a related issue in the new LuckPerms
port to Velocity.
2018-08-26 14:39:31 -04:00
Andrew Steinborn 2f6642dcd8 Make the c/v/api/proxy/player package more general. 2018-08-25 21:44:53 -04:00
Andrew Steinborn f273c046ec Add javadoc and reorganize the player settings stuff. 2018-08-25 12:54:30 -04:00
Andrew Steinborn 2b3503e2df Fix compile. 2018-08-25 11:02:20 -04:00
Andrew Steinborn d0ecc2b623 Allow making the "players" response null. 2018-08-25 10:59:42 -04:00
Andrew Steinborn c1b1e71075 Fix a typo. 2018-08-25 10:56:32 -04:00
Andrew Steinborn ebb1810392 Merge remote-tracking branch 'origin/master' 2018-08-25 01:15:00 -04:00
Andrew Steinborn 168c36facf Bring to latest master 2018-08-25 01:13:00 -04:00
Andrew Steinborn a37a0d6665 Merge branch 'master' into native-crypto
# Conflicts:
#	native/src/main/java/com/velocitypowered/natives/util/Natives.java
2018-08-25 01:12:26 -04:00
Andrew Steinborn 1acf9e1bbb Make sure to clean up old stuff 2018-08-25 00:44:32 -04:00
Andrew Steinborn 9033b1c051 Prepare Javadoc deployment 2018-08-25 00:42:54 -04:00
Andrew Steinborn 7ee56d9f5f Massively improved Javadoc coverage to prepare for Javadoc site. 2018-08-25 00:29:22 -04:00
Andrew Steinborn 4fb415c845 A little cleanup on the GameProfileRequestEvent. 2018-08-24 21:51:31 -04:00
Andrew Steinborn 87ffb1ac2f Add even more Javadoc. 2018-08-24 21:50:56 -04:00
Andrew Steinborn bc2f3a7288 Clean up ConnectedPlayer initialization. 2018-08-24 21:30:58 -04:00
Andrew Steinborn 5389ec1baf Fix compile. 2018-08-24 21:16:48 -04:00
Andrew Steinborn afb6e69388 Improve Javadoc and the GameProfileRequestEvent. 2018-08-24 21:09:56 -04:00
Andrew Steinborn e6e3ccaa95 Fix minor bug with shutdown messages. 2018-08-23 21:57:10 -04:00
Andrew Steinborn 91265b12a3 Fix repeat 2018-08-23 21:51:15 -04:00
Andrew Steinborn 8fd026e025 Totally removed all uses of jsr305. Fixes #38 2018-08-22 21:46:17 -04:00
Andrew Steinborn 27760f5a97 Limit scope of "attempted server connections" to just initial log ons. 2018-08-22 21:10:14 -04:00
Andrew Steinborn 2d21c01f8a Fix boss bar handling on Minecraft 1.13+. 2018-08-22 21:08:47 -04:00
Andrew Steinborn ccb904eeb1 Update for Minecraft 1.13.1 support 2018-08-22 20:53:53 -04:00
Andrew Steinborn d9c35a680a Plugins can get plugin messages now. 2018-08-22 18:59:10 -04:00
Andrew Steinborn c36f417b1e Add support for sending plugin messages over the wire 2018-08-22 00:53:02 -04:00
Andrew Steinborn 8352f7fa70 Add disconnect API call 2018-08-22 00:47:29 -04:00
Andrew Steinborn db9f668290 Merge branch 'plugin-messages' 2018-08-22 00:27:29 -04:00
Andrew Steinborn d94b58e45e One last try, this ought to work. 2018-08-22 00:03:06 -04:00
Andrew Steinborn 8ea1aef173 I'm crazy 2018-08-21 23:58:42 -04:00
Andrew Steinborn f6f48e9b2d This should do it 2018-08-21 23:58:17 -04:00
Andrew Steinborn 13215f132e Debugging Jenkins here... 2018-08-21 23:47:29 -04:00
Andrew Steinborn 7263c1046f Attempt 2 at Maven repo, now with modified Docker base image 2018-08-21 23:42:31 -04:00
Andrew Steinborn fd65887f1f Attempt 1 at Maven repo! 2018-08-21 23:35:09 -04:00
Andrew Steinborn 6bb7bc7081 Merge branch 'master' into plugin-messages 2018-08-21 23:29:05 -04:00
Andrew Steinborn 55041aa1b1 Add basic implementation. 2018-08-21 23:03:09 -04:00
Andrew Steinborn 3ed499c7c0 Note that these classes are immutable. 2018-08-21 22:45:55 -04:00
Andrew Steinborn 2b6786e1fa Started work on plugin messaging API. 2018-08-21 22:41:30 -04:00
Andrew Steinborn 7b84da2fa7 Cleaning up some stuff in the proxy implementation. 2018-08-21 22:29:01 -04:00