Commit Graph
100 Commits
Author SHA1 Message Date
Andrew Steinborn d9ee34feac Ignore the locally-generated lang directory 2023-01-08 13:37:01 -05:00
Andrew Steinborn 586cd56c05 Fire PluginMessageEvent correctly if it's sent when a connection is established
Fixes #774
2023-01-08 13:34:44 -05:00
Andrew Steinborn 022ae0fc00 Instead of re-encoding the client-server registry, pass through the original 2023-01-08 13:18:14 -05:00
Andrew Steinborn 7ed422b4ed Switch all Guava Cache uses to Caffeine 2023-01-01 19:05:13 -05:00
Andrew Steinborn aaa24752ac Update various other dependencies 2023-01-01 18:58:27 -05:00
Andrew Steinborn 3768e66e86 Also use Spotless to remove unused imports 2023-01-01 18:52:11 -05:00
Andrew Steinborn b0862d2d16 Use Spotless for license formatting 2023-01-01 18:46:33 -05:00
Andrew Steinborn d715e17acb Bump copyright date to 2023 2023-01-01 17:56:00 -05:00
Andrew SteinbornandGitHub d72d707b1c Convert Velocity buildscripts to Kotlin DSL (#918)
Spiritually indebted to #518 and @alexstaeding.

There's a minor break - we're going up to 3.2.0-SNAPSHOT as the API now compiles against Java 11. But this is more academic in practice.
2023-01-01 17:53:37 -05:00
Andrew Steinborn ffa4c95435 Fix GS4 query reloading logic
Closes #915. This isn't a fatal error, but it's a clear papercut.
2023-01-01 13:07:31 -05:00
Andrew Steinborn f62768be9a Fix native compile as libdeflate moved to CMake
Fixes #890 correctly. Also rebuild the compression/encryption natives on macOS and Linux ARM64.
2023-01-01 11:45:47 -05:00
Andrew Steinborn ef7ad150c2 Add plugin logger name to file logger configuration
Closes #903
2023-01-01 11:33:37 -05:00
Andrew Steinborn edadaab948 Update Netty 2023-01-01 11:31:34 -05:00
Andrew Steinborn 4ef9a33f4c Add native info to dump 2023-01-01 11:30:39 -05:00
Andrew Steinborn 118c4b451c Save /velocity dump output into a local file instead.
dump.velocitypowered.com is going to go offline on January 15th.
2023-01-01 11:26:45 -05:00
Andrew Steinborn 1ec77eb123 Fix #887
Velocity always handled ALL as an alias of ONLINE, so handle ONLINE the same way.
2022-12-11 23:29:57 -05:00
Andrew SteinbornandGitHub 2d0721516f Netty 4.1.85.Final 2022-11-09 22:13:22 -08:00
Andrew Steinborn 7d77bfb53c Update select dependencies 2022-09-21 00:48:21 -04:00
Andrew Steinborn 57ca66de2e readd local linux aarch64 cipher def 2022-09-12 00:34:04 -04:00
Andrew Steinborn ece90dedfb Update natives to latest libdeflate and add OpenSSL 3 native compiled on Fedora 36 for ARM64 2022-09-11 23:54:33 -04:00
Andrew Steinborn 6496983ca3 Fix cancelling commands on <1.19 clients (#827) 2022-08-08 00:42:31 -04:00
Andrew SteinbornandGitHub 662fbc4e3c Implement the ServerData packet by firing ProxyPingEvent (#771)
* Implement the ServerData packet by firing ProxyPingEvent

Mojang introduced the enable-status server property with Minecraft 1.19, which if enabled causes servers to close the connection when a client tries to ping them. Mojang wants to show the MOTD and favicon on the server select screen for those who manage to log in, so we need to implement this packet as well.

The good news is that we can send this packet as many times as needed on the same connection

This matches the behavior of pinging the server. This is a minor, but completely backwards-compatible, API breakage: Player inherits from InboundConnection so we do not have to change ProxyPingEvent, however plugins not expecting a Player might get confused.

* typo
2022-06-23 23:59:13 -04:00
Andrew Steinborn 93df65fdfb Update Gson
Resolves #763
2022-06-22 22:25:30 -04:00
Andrew Steinborn 13b13eb351 fix typo 2022-06-08 09:58:15 -04:00
Andrew Steinborn 4b1cdbcb31 I have sinned but it feels good 2022-06-08 01:18:19 -04:00
Andrew Steinborn 01c6777948 Fix several issues with JNI compression
The libraries will require a recompile.
2022-06-08 00:53:15 -04:00
Andrew Steinborn c2b237f196 DRY - one function to create respawn packets from JoinGame packets 2022-06-07 23:35:43 -04:00
Andrew Steinborn aa38d3e561 Implement a proper login state machine for logins
Fixes #688 and probably a host of other potential problems.
2022-04-23 18:07:34 -04:00
Andrew Steinborn d59d4505cb Add stop command alias for ShutdownCommand
Fixes #678
2022-04-08 23:00:03 -04:00
Andrew Steinborn 95a32ad421 fix 2022-03-31 22:13:05 -04:00
Andrew Steinborn 05d1938476 Netty 4.1.75.Final 2022-03-19 19:04:29 -04:00
Andrew Steinborn b5dcaa2315 Provide a more descriptive error message if Velocity isn't able to authenticate with Mojang servers
Fixes #636
2022-03-09 02:23:22 -05:00
Andrew Steinborn 35a1456c5f Update Linux natives for latest libdeflate
x86_64 libdeflate was compiled with Fedora Linux 35. aarch64 binaries were compiled with Ubuntu 18.04.
2022-03-09 02:12:15 -05:00
Andrew Steinborn b2800087d8 Ensure Forward doesn't broadcast to the current server
Fixes #641
2022-02-07 23:43:40 -05:00
Andrew Steinborn 058014aa75 Better document how to use the login plugin message API 2021-12-23 15:44:19 -05:00
Andrew Steinborn 8c39d9a1e4 Document every event Velocity will await on. 2021-12-23 02:52:56 -05:00
Andrew Steinborn ea3341d710 Another day, another Log4j CVE
Happy holidays, y'all.
2021-12-18 16:15:32 -05:00
Andrew Steinborn d7195060f5 Too many people are complaining about this 2021-12-16 22:08:39 -05:00
Andrew Steinborn fd842c4364 Exclude org/apache/logging/log4j/core/lookup/JndiLookup.class entirely
It's the one sure-fire way to prevent further exploits using JNDI through Log4j.
2021-12-14 19:37:37 -05:00
Andrew Steinborn f3d0b75797 Drop SpotBugs for now 2021-12-10 21:40:30 -05:00
Andrew Steinborn d3b3ef231b Update forwarding documentation link(!) 2021-11-07 13:00:58 -05:00
Andrew Steinborn 7c858424b5 Fix shading issues introduced with cb8781b3 2021-11-01 09:47:57 -04:00
Andrew Steinborn c89fff34c1 We're past the point where this is a bug-fix release. Bump to Velocity 3.1.0. 2021-10-31 23:24:57 -04:00
Andrew Steinborn 6b2b28796b Clean up and clarify plugin loader logic. 2021-10-31 23:24:39 -04:00
Andrew Steinborn 0b0c36dcfc Correct command meta alias removal behavior and add appropriate unit tests.
Apparently @hugmanrique caught the issue but suggested the wrong fix. This is the correct fix, and respects the Javadoc.
2021-10-31 19:05:21 -04:00
Andrew Steinborn 895eb1a424 Clean up and comment PluginDependencyUtils#sortCandidates 2021-10-31 18:56:13 -04:00
Andrew SteinbornandGitHub cb8781b3c9 Add support for sending and receiving login plugin messages from players and servers (#587) 2021-10-31 16:27:03 -04:00
Andrew Steinborn ac4b4a34ca Adventure 4.9.3 2021-10-31 08:58:37 -04:00
Andrew Steinborn 64b7769edb Netty 4.1.69.Final 2021-10-27 09:15:13 -04:00
Andrew Steinborn 41f66c7c04 Also guard sendTitlePart behind a protocol version check. 2021-10-15 10:16:34 -04:00
Andrew Steinborn d5047b6665 Fix copy-paste error 2021-10-15 08:30:11 -04:00
Andrew Steinborn 3f647e4eb2 Implement sendTitlePart for Players 2021-10-15 08:28:05 -04:00
Andrew Steinborn 20914ca134 Bump Adventure 2021-10-15 08:18:11 -04:00
Andrew Steinborn 0b088590a0 Fix license text 2021-10-10 16:39:59 -04:00
Andrew Steinborn 1aaecfff08 Add tests for EventTask#resumeWhenComplete and clarify Javadoc. 2021-10-10 16:37:22 -04:00
Andrew Steinborn 340e1b23d6 Fix none vhost forwarding with legacy Forge. 2021-09-27 00:37:58 -04:00
Andrew Steinborn effca0da82 Preserve virtual host the player connected to for modern/none forwarding
This makes these modes in-line with legacy forwarding
2021-09-25 17:51:58 -04:00
Andrew Steinborn d1135bd190 Allow the BungeeCord plugin messaging channel to be used by the server at transition time 2021-09-07 07:38:30 -04:00
Andrew Steinborn 4ca1798994 Update to Adventure 4.9.1 2021-09-07 07:33:43 -04:00
Andrew Steinborn 1b390c3eff Velocity 3.0.2-SNAPSHOT 2021-09-01 07:21:38 -04:00
Andrew Steinborn c8f7d6c632 Velocity 3.0.1 2021-09-01 07:18:09 -04:00
Andrew Steinborn 849e416c8d Fix IPv6 scope issue in legacy forwarding too 2021-09-01 07:14:38 -04:00
Andrew Steinborn 955f6b87e2 Assorted dependency updates 2021-09-01 06:36:00 -04:00
Andrew Steinborn 9a15c7e170 Fix Brigadier command node redirect serialization (#565) 2021-08-24 13:58:13 -04:00
Andrew Steinborn 5303239f66 fix bug 2021-08-21 02:23:29 -04:00
Andrew Steinborn e6a93ad0c6 Clean up JoinGame packet encoding/decoding
Specifically, the JoinGame packet handling is now split between pre-1.16 encodings of the packet and post-1.16 handlings of the packet. This packet is one of the most amorphous packets in the entire Minecraft protocol, from Velocity's perspective.
2021-08-21 02:17:34 -04:00
Andrew Steinborn 65db0fad6a Fix bug 2021-08-17 13:39:35 -04:00
Andrew Steinborn 6d4cb3b18f Fix TabList population
Bug reported by JakubBien on Discord
2021-08-17 13:30:15 -04:00
Andrew Steinborn d3ff6f8e33 Make sure to issue a backpressure-solving flush on a future iteration of the event loop
Thanks to @Spottedleaf for finding this issue.
2021-08-04 23:37:27 -04:00
Andrew Steinborn c32bc88064 Fix not forwarding channelReadComplete events in some cases 2021-08-04 23:01:28 -04:00
Andrew Steinborn d3e1b358fb Fix repeating "you were kicked from X" message 2021-07-30 15:42:34 -04:00
Andrew Steinborn 211da180b3 Revert 2124b5ec, suspect that event firing may be broken 2021-07-28 13:05:50 -04:00
Andrew Steinborn adcf428e8f Update Netty to 4.1.66.Final 2021-07-24 18:37:31 -04:00
Andrew Steinborn 2124b5ec12 Cache all types in EventTypeTracker 2021-07-24 18:30:13 -04:00
Andrew Steinborn 62d234bb26 Improve event system tests
Sleeping in a test is considered bad form. Replace the delay with checks to ensure that threads are spawned appropriately and a new test to ensure that continuation threads do run before other listeners.
2021-07-24 18:15:19 -04:00
Andrew Steinborn 2f82603f65 We don't need the sorted order that a List provides 2021-07-19 13:33:03 -04:00
Andrew Steinborn 349781cff8 Fix licensing stuff 2021-07-19 13:29:33 -04:00
Andrew Steinborn e017949abf Fix #547 and and #548
The first bug in #548 (and the only issue in #547) was a typo. The second bug was fixed by tracking "friends" of the event types, so we can invalidate everything as needed.
2021-07-19 13:26:37 -04:00
Andrew Steinborn f79736b8b7 Fix event ordering. 2021-07-12 08:37:26 -04:00
Andrew Steinborn 31aa996623 Minor server-switching code cleanup 2021-07-10 23:36:25 -04:00
Andrew Steinborn ea577019b8 Don't force-add a tab list entry if it already exists 2021-07-09 10:11:15 -04:00
Andrew Steinborn 0e0a14498f Fix some localization and API issues
Resolves #536
2021-07-08 03:08:02 -04:00
Andrew Steinborn a037aebfa0 Velocity 3.0.1-SNAPSHOT 2021-07-06 03:35:21 -04:00
Andrew Steinborn fd407c9d06 Velocity 3.0.0 2021-07-06 03:34:40 -04:00
Andrew SteinbornandGitHub 540d970a4d Minecraft 1.17.1 support (#530) 2021-07-06 03:32:13 -04:00
Andrew Steinborn 1f7d14f6d1 Checkstyle and friends 2021-06-27 21:18:52 -04:00
Andrew Steinborn 254e8f1a1e Use the "closest" locale from Velocity 2021-06-27 21:15:17 -04:00
Andrew Steinborn c6ef84eb7f Backport localization support to Velocity 3.0.0 from Polymer 2021-06-27 20:04:43 -04:00
Andrew Steinborn 3b6b73f216 Make announce-player-commands not suggest aliases
Fixes #533
2021-06-24 10:10:34 -04:00
Andrew Steinborn 59ca9a534d Ensure that the in-flight connection is always reset. 2021-06-20 17:36:44 -04:00
Andrew Steinborn d7abf4457c Readd FastUUID license 2021-06-18 07:05:38 -04:00
Andrew Steinborn d90952ca3a Fix licensing again 2021-06-14 14:00:35 -04:00
Andrew Steinborn c979c61155 Add some internal injection points for the benefit of ViaVersion
See #524 for more details
2021-06-14 13:59:56 -04:00
Andrew Steinborn 93724b7b33 Do not emit errors for kicks from servers 2021-06-14 00:04:18 -04:00
Andrew Steinborn 1dfe294b96 Remove GenericArgumentPropertySerializer
This was only used for boolean argument tyoes
2021-06-13 06:55:24 -04:00
Andrew Steinborn 5a337afb00 Include compatible protocol versions in the incompatible version message
Fixes #519
2021-06-13 05:17:09 -04:00
Andrew SteinbornandGitHub 83dff50bc7 Merge pull request #520 from hugmanrique/feat/3-command-impl-cleanup
[3.0] Command system implementation refactor
2021-06-13 09:12:06 +00:00
Andrew Steinborn ebd0fcc6b1 Remove unnecessary slicing of uncompressed packets 2021-06-13 04:00:48 -04:00
Andrew Steinborn c33f9e0466 Merge remote-tracking branch 'origin/dev/3.0.0' into dev/3.0.0
# Conflicts:
#	api/src/main/java/com/velocitypowered/api/proxy/Player.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java
2021-06-12 20:13:52 -04:00
Andrew Steinborn 797d802969 Bump to Adventure 4.8.1 2021-06-12 20:13:04 -04:00