3
0
Mirror von https://github.com/PaperMC/Velocity.git synchronisiert 2024-12-26 00:00:55 +01:00
Commit graph

1273 Commits

Autor SHA1 Nachricht Datum
4drian3d
e45ca5f357
Improved Scheduler API (#696)
* Improved Scheduler API

- Added `Scheduler#builder(plugin)`
This method allows a more simplified builder while maintaining the main requirement of the executor plugin
- Added `Scheduler#taskByPlugin(plugin)`
Allows to obtain the tasks that a plugin has sent to execute and that are currently active
- Added `TaskBuilder#task(Consumer<SchuledTask>)`
Allows to specify a task with access to the task itself with the ability to cancel itself

* Applied requested changes

- Removed tasks builder method
- Added `Scheduler#buildTask(plugin, Consumer<ScheduledTask>)`

* Removed some unused imports

* Applied suggested change

* Fix possible test bug

* Applied more suggested changes

* Fixed tests inside tasks
2022-06-09 03:27:06 -04:00
Corey Shupe
04d3ed6820
Fix unsigned chat breaking decode on PlayerChat. (#730) 2022-06-08 00:12:56 -04:00
Andrew Steinborn
c2b237f196 DRY - one function to create respawn packets from JoinGame packets 2022-06-07 23:35:43 -04:00
Corey Shupe
c45597c885
Hotfix registry and argument ser/de (#729)
* Hotfix argument parser missing

* Fix join game registry announcing.
2022-06-07 23:23:50 -04:00
Corey Shupe
28b6f6dcef
Hotfix/patch modern forwarding v2 (#727) 2022-06-07 21:11:53 -04:00
Corey Shupe
d97ed956a7
Update/1.19 (#726)
Co-authored-by: FivePB <admin@fivepb.me>
2022-06-07 21:00:24 -04:00
Pasqual Koschmieder
3ae93875b8
fix missing server info in some events when kicked from current server (#703) 2022-05-08 23:08:50 -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
Robin
5ee96606f6
Override correct sendMessage method (#698) 2022-04-19 22:36:25 -04:00
4drian3d
acc407a6d5
Added ability to customize translations (#692)
* Added ability to customize translations

* Removed remaining usage of `Paths#get`

As of java 11 its replacement `Path#of` was created, which is called when using `Paths#get`, besides, according to documentation, it mentions that it can be deprecated at any time

And fix a minor typo in LegacyChannelIdentifier
2022-04-16 00:38:44 -04:00
4drian3d
3cb10f6ad4
Implement missing Pointers (#694)
- Implement Player's LOCALE and DISPLAY_NAME pointers
- Implement VelocityConsole's LOCALE pointer
2022-04-16 00:37:35 -04:00
Andrew Steinborn
d59d4505cb Add stop command alias for ShutdownCommand
Fixes #678
2022-04-08 23:00:03 -04:00
4drian3d
2a39b24770
Shutdown command improvements (#680)
- Migrate to Brigadier usage
- Added MiniMessage support for custom shutdown reason
2022-04-08 22:56:41 -04:00
4drian3d
b8223686ea
Added logPlayerConnections configuration option (#673) 2022-04-03 15:30:47 -04:00
Andrew Steinborn
95a32ad421 fix 2022-03-31 22:13:05 -04:00
4drian3d
9fc4341f40
Replacement of some deprecated method (#672)
- PlainComponentSerializer -> PlainTextComponentSerializer
- BinaryTagHolder#of -> BinaryTagHolder#binaryTagHolder
2022-03-31 22:09:44 -04:00
OOP-778
9f77431f36
Fix "pointers" for players never being used lol & Type pointers (#674)
* Fix "pointers" for players never being used lol

* Added Platform Facet API to add Type pointers

* Remove duplicate
2022-03-31 22:09:10 -04:00
virustotalop
e2743ffa4e
Add proxy shutdown localization (#663) 2022-03-19 18:54:24 -04:00
kyngs
f0ea638fa1
Disable Log4J's built-in shutdown hook, because it broke logging in the shutdown sequence when exiting by interrupting the process. This was caused by the Log4J's hook running before ours. (#637) 2022-03-13 23:59:50 -04:00
ebony-lamp
94e8b0df43
Add option to disable ip logging (#614) (#650) 2022-03-09 02:24:45 -05: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
Corey Shupe
9c44aff8c3
Flip output for queued resource pack status passthrough conditional (#659)
* Flip output for queued resource pack status passthrough conditional

* Hotfix to queue the intended resource pack info.
2022-03-03 01:52:21 -05:00
Shane Freeder
2fe50bedc5
1.18.2 support 2022-02-28 14:27:57 +00:00
kyngs
7bd0f9ea14
Add support for custom class loaders. (#647) 2022-02-19 16:04:56 -05:00
Rocco
8ab071badb
Fire events for queued login plugin messages (#632) 2022-02-19 16:03:09 -05:00
Andrew Steinborn
b2800087d8 Ensure Forward doesn't broadcast to the current server
Fixes #641
2022-02-07 23:43:40 -05:00
Corey Shupe
596d4758ba
Implement resource pack send event. (#625) 2022-02-01 23:30:45 -05:00
Andrew Steinborn
d7195060f5 Too many people are complaining about this 2021-12-16 22:08:39 -05:00
Vincent
3315397934
add legacy connection toString (#604) 2021-12-14 19:43:18 -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
Shane Freeder
5fe3663d51
Update Log4J 2021-12-10 01:57:42 +00:00
Shane Freeder
2cff5b3b02
Backport log4j 2.15.0 bugfix 2021-12-09 18:46:55 +00:00
FivePB (Xer)
30dd2ed380
Merge 1.18 Update
Merge pull request #577 from Xernium/future/1.18: [Future] Support for Minecraft 1.18
2021-11-25 19:24:39 +01:00
FivePB
7ed4f4c03a
Add new ClientSettings API
Add the new API introducted with the ClientSettings packet changes in 1.18
2021-11-25 17:04:10 +01:00
Riley Park
2586210ca6 Move to PaperMC organisation 2021-11-18 10:49:54 -08:00
Five (Xer)
315ff265c6
Snapshot 21w44a 2021-11-12 10:53:26 +01:00
Andrew Steinborn
d3b3ef231b Update forwarding documentation link(!) 2021-11-07 13:00:58 -05:00
Ivan Pekov
111d14c3fb
Introduce VelocityBrigadierMessage (#588) 2021-11-02 16:20:15 -04:00
Andrew Steinborn
7c858424b5 Fix shading issues introduced with cb8781b3 2021-11-01 09:47: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 Steinborn
cb8781b3c9
Add support for sending and receiving login plugin messages from players and servers (#587) 2021-10-31 16:27:03 -04:00
Frank van der Heijden
922c001b59
Expose CommandMeta in CommandManager and add a ref to the plugin instance (#544) 2021-10-31 16:23:35 -04:00
James Puleo
996ada1f39
Introduce PlayerClientBrandEvent, fired when the player sends the minecraft:brand message (#567) 2021-10-15 10:26:25 -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
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
Foorcee
08f1b87267
Redirect player without message (#581) 2021-10-09 20:32:04 -04:00
Five (Xer)
4ba4054f23
Snapshot 21w40a 2021-10-09 00:08:51 +02:00
Hugo Manrique
567582b2e2
Fix thread-unsafe command unregistration (#583)
Access to the dispatcher is guarded by `lock`.
2021-10-04 15:17:36 -04:00
Foorcee
aa210b3544
Don't allow illegal characters (#580) 2021-10-03 16:09:29 -04:00
Cubxity
d619bb56fd
feat: added VELOCITY_FORWARDING_SECRET environment variable (#582) 2021-10-03 16:07:45 -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
sagan
ea07c6661a
Don't crash when attempt servers order is empty, return empty optional instead (#576) 2021-09-15 07:42:14 -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
Joshua Dean Küpper
9e38aec129
fix the order of title packages (#572) 2021-09-01 07:42:44 -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
mdxd44
bfe2358386
Fix legacy handshake with hostnames that include IP addresses (#571) 2021-09-01 05:03:49 -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
Corey Shupe
ec4d2d45a1
Make Mojang Sessionserver Configurable (#560) 2021-08-17 13:14:39 -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
David Mayr
3d8e9091c0
Custom localization for each player (#537) 2021-07-25 21:50:44 -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
Hugo Manrique
76c6827926
Expose registered aliases in API (#549) 2021-07-24 14:34:50 -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
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
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 Steinborn
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
c2b82f878b Merge branch 'dev/1.1.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:12:31 -04:00
Andrew Steinborn
1b32f56168
Merge pull request #523 from Artuto/dev/1.1.0
Add support for retrieving the Player's client brand
2021-06-12 23:11:41 +00:00