Commit Graph
100 Commits
Author SHA1 Message Date
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
Andrew Steinborn 2d0c826ec9 Introduce ServerConnection interface
This will become very useful for plugin messaging support.
2018-08-21 21:51:31 -04:00
Andrew Steinborn 718f615d3f Simplify and improve the startup timer. 2018-08-13 07:23:49 -04:00
Andrew Steinborn 671df77c1f Forward the keep-alive packet directly onto the client.
This improves anti-cheat compatibility.
2018-08-12 08:06:50 -04:00
Andrew Steinborn 21e72556c9 Correctly handle rapid disconnects. Fixes #31 2018-08-11 06:46:40 -04:00
Andrew Steinborn 8068f72729 Fix up player info forwarding. 2018-08-11 00:22:24 -04:00
Andrew Steinborn 95bd152fee More protocol sanity. 2018-08-10 23:44:52 -04:00
Andrew Steinborn 8bf3b99b10 Make sure the client has time to respond to the player info packet.
Apparently, Minecraft 1.13 can take a little too long to respond to
Velocity's player info forwarding packet. This especially noticeable in
offline mode: by the time the client does respond, Velocity has already
completed the login process and tried connecting to the server (it is
very quick under offline mode).

Noticed by Leymooo.
2018-08-10 23:40:51 -04:00
Andrew Steinborn 8998bc7c8f Presize the maps.
TODO: Replace that ugly autoboxed primitive without excessively blowing
up the size of the JAR
2018-08-10 20:56:22 -04:00
Andrew Steinborn 9af6829688 Fix sending commands to remote server. 2018-08-10 03:05:59 -04:00
Andrew Steinborn 58e072ab94 Bumped to kyoripowered/text 1.12-1.6.2 2018-08-09 20:56:12 -04:00
Andrew Steinborn 0834bec997 Merge branch 'tab-complete' 2018-08-09 10:15:22 -04:00
Andrew Steinborn b78ddf7b85 Fix scoreboard teams on Minecraft 1.8. 2018-08-09 10:15:19 -04:00
Andrew Steinborn 2e1de306fb Complete tab-complete support back to Minecraft 1.8. 2018-08-09 10:14:44 -04:00
Andrew Steinborn 9a36bd6cae Merge branch 'master' into tab-complete 2018-08-09 09:47:30 -04:00
Andrew Steinborn 1f0a4a8228 Add support for HMACed player forwarding data.
This provides a small degree of security but also makes Velocity "secure
by default", especially on shared hosts.
2018-08-09 05:24:47 -04:00
Andrew Steinborn 254508a5cf Add connection attempt rate-limiting. 2018-08-09 03:23:27 -04:00
Andrew Steinborn db8b7c807c Add kqueue transport support 2018-08-08 10:10:11 -04:00
Andrew Steinborn 512b1c2403 Remove erroneously added getter 2018-08-08 09:45:38 -04:00
Andrew Steinborn 84717a11da Update README.md 2018-08-08 09:22:47 -04:00
Andrew Steinborn 6bc5413038 Exclude all Gradle build folders 2018-08-08 05:59:26 -04:00
Andrew Steinborn a261823302 Add favicon support 2018-08-08 04:44:27 -04:00
Andrew Steinborn 54f9de04dc Add MC tab complete (incomplete, only 1.12.2 works) 2018-08-07 11:53:13 -04:00
Andrew Steinborn bb601dca4b Add console tab complete, shutdown command, gracefully kick players. 2018-08-07 11:02:35 -04:00
Andrew Steinborn a88d27af76 Ignore repeated shutdown requests. 2018-08-07 10:37:38 -04:00
Andrew Steinborn a7a227ed05 Add shutdown flag. 2018-08-07 10:14:34 -04:00
Andrew Steinborn 05693425bf Add a basic command handling framework inspired by Bukkit/BungeeCord.
This doesn't yet support tab complete, that will come later. Additionally,
a /server command (using your configuration) and /velocity (shows basic
copyright information about the proxy) have been added.
2018-08-07 09:34:31 -04:00
Andrew Steinborn 09eff5a2fb GS4 clients generally don't understand MC color codes (or JSON chat). 2018-08-07 07:56:28 -04:00
Andrew Steinborn b5fcc1b34a Fix GS4 issues. 2018-08-07 07:51:09 -04:00
Andrew Steinborn 3e0df79c98 Fix GS4 "can't bind to null" error. 2018-08-07 07:34:41 -04:00
Andrew Steinborn b983cdb7b3 Fix some spirous "connection closed" errors. 2018-08-07 07:18:54 -04:00
Andrew Steinborn a2b4291b36 Use Guava immutable integer arrays. 2018-08-07 07:18:21 -04:00