Commit Graph

1540 Commits

Author SHA1 Message Date
aa4e8780bd Assign ServerConnection to Player before enabling auto read (#1309) 2024-07-04 10:57:30 +02:00
9d25d309d3 feat: Add basic API for server links (#1353)
* feat: add basic server links API

* refactor: more precondition checking on links

* refactor: remove whitespace

* refactor: adjust method order, JDs in ServerLink

* refactor: remove "throws" from constructors

* refactor: add @NotNull annotations

* refactor: requested changes

* refactor: just use `List#copyOf`
2024-06-18 09:29:58 -05:00
e60e2063a8 Add Configuration State API (#1261)
* Implement Configuration State events

* Implement PlayerFinishedConfigurationEvent

* Fixed PlayerFinishConfigurationEvent execution

* Apply suggestions

* Fix keep alive when blocking PlayerFinishConfigurationEvent

* Add ServerConnection to configuration events

* Separate PlayPacketQueueHandler to fix AutoReadHolderHandler

---------

Co-authored-by: Gero <gecam59@gmail.com>
2024-06-16 10:56:09 -05:00
350ea7f31e 1.21 support (#1338) 2024-06-12 20:33:01 +02:00
2d015cdf5c Add support for canceling ProxyPingEvent (#1264)
* Added support for canceling ProxyPingEvent
2024-06-08 14:28:33 -05:00
07f1f9e7bd Add Cookie API (#1313) 2024-05-30 16:52:30 +01:00
deacdb6228 Fix StackOverflowError in CommandGraphInjector when using redirects (#1335) 2024-05-30 13:40:07 +02:00
1c36b66dcb Fix null or empty has handling in LegacyResourcepackHandler (#1331) 2024-05-28 14:53:20 +01:00
42d4288334 Fix tab completions not being forwarded to backend if proxy command exists but is inaccessible (#1329) 2024-05-26 13:19:37 +01:00
71bb0246a8 Fix query listener reload bug (#1322) 2024-05-23 19:12:28 +01:00
a02b601b6c Pass through packets in config state (#1326) 2024-05-23 19:09:53 +01:00
afd8b55fb5 Fix permission for velocity dump command (#1318) 2024-05-09 18:56:03 -07:00
1228f14742 Hotfix cancelling unsigned 1.20.6 commands 2024-05-03 19:20:12 +01:00
368d1a7c12 Do not send empty upsert player info packets
There is no harm in this, but seemingly, some common mod blows up on this, and,
well, why eat buffer?
2024-05-01 18:03:37 +01:00
5cdcf86cf9 Properly pass connection exceptions to the logger 2024-05-01 17:22:18 +01:00
2534412be4 remove access controller (#1306) 2024-04-24 13:13:09 -07:00
f98c522fa6 Make copyright year a placeholder (#1305)
* make copyright year a placeholder

* review
2024-04-24 13:12:59 -07:00
7e45c17b04 Limit maximum amount of known packs by vanilla defaults (#1303) 2024-04-24 10:50:33 +01:00
b50f9eceff Fix command argument types for 1.20.5 2024-04-24 09:39:22 +01:00
3afd687bf1 Handle KnownPacks packet required for 1.20.5 vanilla connections (#1302) 2024-04-24 06:55:21 +01:00
8f4adb1cec 1.20.5 Support (#1198)
Added support to Minecraft 1.20.5 (Release Candidate 3)

* Initial 1.20.5 update

* Snapshot 24w03a

* Handle Transfer Handshake intent

* Snapshot 24w03b

* Implement PreTransferEvent

* 24w04a

* Updated EncryptionRequestPacket, JoinGamePacket and ServerDataPacket to 24w04a

* Snapshot 24w05a

* Snapshot 24w05b

* Snapshot 24w06a

* Added migration to add new configuration option

* Snapshot 24w07a

* Snapshot 24w09a

* Snapshot 24w10a

* Snapshot 24w12a

* Snapshot 24w14a

* 1.20.5-rc1

* fix unsigned commands

* fix NPE

* fix respawn packet id

* 1.20.5 Release Candidate 2

* Restored old ConnectionHandshakeEvent constructor

* Added `-Dvelocity.strictErrorHandling` system property

* 1.20.5 Release Candidate 3

---------

Co-authored-by: Gero <gecam59@gmail.com>
2024-04-22 21:12:25 -05:00
be678840de Added support for components when using CommandSyntaxException (#1295) 2024-04-21 13:49:44 -05:00
3b6419997c Align default prevent proxy connection settings with the default config file
This option generally creates a bunch of oddities in many setups, defaulting to false
as per the default toml config, is probably the better option here
2024-04-20 13:57:37 +01:00
9e42049a67 Improved PluginMessaging API (#1254)
* Improved PluginMessaging API by adding a method to easily encode the data to be sent

* Added javadocs

* Implement PluginMessageEncoder
2024-04-08 12:24:20 -05:00
a72aef526b New Crowdin updates (#1275) 2024-04-06 18:22:29 +01:00
3bce4d8576 Succesful is not an extended state 2024-04-02 14:02:34 +01:00
d4077ddc1a only send extended resource pack states on supported versions 2024-04-02 13:53:22 +01:00
ad50582836 Send downloaded/successful resource pack status when already applied (Fixes #1280) 2024-04-02 13:20:13 +01:00
615b575d91 [ci skip] Add plugin version info to event exception handler (#1263) 2024-03-23 11:51:44 -07:00
75d6dcc1b8 New Crowdin updates (#1201)
* New translations messages.properties (Romanian)

* New translations messages.properties (French)

* New translations messages.properties (Spanish)

* New translations messages.properties (Arabic)

* New translations messages.properties (Bulgarian)

* New translations messages.properties (Czech)

* New translations messages.properties (Danish)

* New translations messages.properties (German)

* New translations messages.properties (Finnish)

* New translations messages.properties (Hebrew)

* New translations messages.properties (Hungarian)

* New translations messages.properties (Italian)

* New translations messages.properties (Japanese)

* New translations messages.properties (Korean)

* New translations messages.properties (Dutch)

* New translations messages.properties (Polish)

* New translations messages.properties (Russian)

* New translations messages.properties (Slovak)

* New translations messages.properties (Albanian)

* New translations messages.properties (Swedish)

* New translations messages.properties (Turkish)

* New translations messages.properties (Ukrainian)

* New translations messages.properties (Chinese Simplified)

* New translations messages.properties (Chinese Traditional)

* New translations messages.properties (Vietnamese)

* New translations messages.properties (Portuguese, Brazilian)

* New translations messages.properties (Norwegian Nynorsk)

* New translations messages.properties (Estonian)

* New translations messages.properties (Tagalog)

* New translations messages.properties (Chinese Traditional, Hong Kong)

* New translations messages.properties (Norwegian Bokmal)

* New translations messages.properties (Serbian (Latin))

* New translations messages.properties (German)

* New translations messages.properties (Finnish)

* New translations messages.properties (Chinese Traditional)

* New translations messages.properties (German)

* New translations messages.properties (Finnish)

* New translations messages.properties (Korean)

* New translations messages.properties (Chinese Traditional)

* New translations messages.properties (Ukrainian)

* New translations messages.properties (French)

* New translations messages.properties (French)

* New translations messages.properties (Polish)

* New translations messages.properties (French)

* New translations messages.properties (Chinese Simplified)

* New translations messages.properties (Dutch)

* New translations messages.properties (Dutch)

* New translations messages.properties (Swedish)

* New translations messages.properties (Swedish)

* New translations messages.properties (Korean)

* New translations messages.properties (Czech)

* New translations messages.properties (Czech)
2024-03-17 22:20:03 -07:00
8891faa52c Added event when a command is executed from Velocity (#984)
* feat: added event for command invocation

This event is called when a command invocation attempt on the proxy occurs

* Fix javadoc issue
2024-03-05 10:11:17 -05:00
c34dafe2a2 Implement ProtocolState API (#1224)
* Implement ProtocolState API

* Renamed method to #getProtocolState

* Added sinceMinecraft javadoc tag

* Fixed PreLoginEvent#getUniqueId documentation
2024-03-03 16:21:22 -05:00
62c6ec044e Make sure that the backend server knows the pack application was successful
accepted, is just the first expected state, we also need to tell that the pack
was actually applied on the client in order to allow it to progress in the connection
process
2024-03-02 15:06:32 +00:00
82189a6a21 Tiny rework of Protocol Version API (#1260) 2024-03-01 22:42:02 -05:00
af09677f60 Fixed disconnection reason display due to outdated client version (#1259) 2024-02-29 14:41:05 -05:00
74c932e579 Fix sending keep alive response to wrong backend server (#1253) 2024-02-24 14:24:06 -05:00
409ab7b118 [ci skip] Add javadocs warnings about unsupported operations (#1250)
* Document possible blank spaces in the command of the CommandExecuteEvent

* Added Javadocs warning about unimplemented methods in Velocity

* Improved KickedFromServerEvent documentation

* Fixed `apiNote` javadoc generation
2024-02-23 14:11:42 -05:00
7ca0689989 Fixed duplicate sending of resource packs responses to backend server (#1249)
Also fixes the sending of SUCCESSFUL responses to the backend server that will apply a resource pack in case Velocity has already applied one or more resource packs to the player
2024-02-22 12:48:36 -05:00
2cf18b0a6d Fix login disconnect from 1.20.4 (#1245) 2024-02-16 07:34:01 -05:00
ecf936f356 Create a new HttpClient per connection (#1243)
* Create a new HttpClient for each connection

If the instance is using Java 21, the HttpClient resources will be cleaned using its AutoCloseable interface
2024-02-15 09:59:34 -05:00
ef861819e3 Do not apply a resource pack that has already been applied (#1236)
* Do not apply a resource pack that has already been applied

* Throw IllegalStateException in case of applying a resource pack already applied from the API

* Updated some dependencies

* Added support for ServerResourcePackSendEvent resource pack modification
2024-02-11 12:00:07 -05:00
15897c5258 Fix race condition when switching client from config to play state 2024-02-10 23:28:08 +01:00
d8bb4e97e4 Add API for custom chat completions like on Paper (#1232)
* Add API for custom chat completions like on Paper, renamed enum constant to match its function, NMS and wiki-vg

* add null and version checks
2024-02-09 16:23:16 -05:00
7bff6b19eb Use sealed types in command interfaces (#1239)
* Use sealed types in command interfaces

* Some minor code fixes
2024-02-09 14:15:53 -05:00
6506c4cc59 Remove duplicate space from log pattern (#1238) 2024-02-09 10:38:22 -05:00
e1f3b6b66f Expose connecting player's UUID in the PreLoginEvent (#1009)
* feature: Expose connecting player's UUID in the PreLoginEvent

* Applied suggestions

* Updated the javadocs compatible version to Java 17

---------

Co-authored-by: Adrian <adriangonzalesval@gmail.com>
2024-02-09 10:23:47 -05:00
d7799eaf60 Ensure that we send a response to the correct server when in flight (#1234)
* Ensure that we send a response to the correct server when in flight

* The rest of the codebase treats the hash as a String...

As does Mojang.

* Support sending the resource packet response to the in-process connection in the ModernResourcePackHandler

---------

Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
2024-02-08 11:15:14 -05:00
cbd07b1434 Refactor ResourcePacks handling (#1225)
* Initial ResourcePack refactor

* Implement sendResourcePacks method

* Initializes the ResourcePackHandler at player initialization

* Move adventure to velocity resource pack conversion to the same class

* Added some internal resource pack documentation

* Refactored Modern ResourcePack handling

* Handle RemoveResourcePackPacket from backend server

* Fixed license

* Use removeIf instead of manual iteration

* Improve ModernResourcePackHandler

* fix hash conversion

* bundle resource packs

* keep old constructors of PlayerResourcePackStatusEvent

* add @Nullable to PlayerResourcePackStatusEvent#getPackId

* Use a single instance of BundleDelimiterPacket

* Throw UnSupportedOperationException on operations not supported by LegacyResourcePackHandler

* Use a single instance on empty packets

* Handle active packet bundle sending from backend server in case of sending a packet bundle of resource packs

* Improve packet bundling

* Fixed login for players with version 1.20.2

---------

Co-authored-by: Gero <gecam59@gmail.com>
2024-02-08 08:51:45 -05:00
10430a2115 Validate plugin dependency IDs in accordance to plugin ID requirements (#1231) 2024-02-07 21:30:55 -05:00
5956751284 Bump client connection state before sending disconnection packets 2024-02-01 12:59:47 +00:00