Commit Graph
100 Commits
Author SHA1 Message Date
Andrew Steinborn 508ba35697 Exclude plugins from Git. 2018-09-18 16:48:52 -04:00
Andrew Steinborn 2bfb7061ee Turn StatusRequest into a singleton. 2018-09-18 16:48:21 -04:00
Andrew Steinborn f973ded4ee Tighten identifier checks since NuVotifier fixed this 2018-09-17 16:18:47 -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