13
0
geforkt von Mirrors/Velocity
Commit graph

1456 Commits

Autor SHA1 Nachricht Datum
Gero
d999ee2058 Fix PlayerConfigurationEvent only being called for initial configuration on 1.20.5+ 2024-07-14 16:29:30 +02:00
Andrew Steinborn
ebc418f6cc Do not use classes from io.netty.util.internal
In this case, we don't even need a concurrency-friendly MPSC queue, since this code only ever gets run in the event loop associated to the channel, so a simple `ArrayDeque` is enough for our needs.
2024-07-13 21:50:27 -04:00
Rubén
d5e7fa5b84
Add ServerResourcePackRemoveEvent (#1379)
* Add ServerResourcePackRemoveEvent

* Add nonnull check

* Fix indentation

* Fix import code style
2024-07-12 05:02:00 -05:00
Gero
6073f698e2
Add PlayerConfigurationEvent and PlayerEnteredConfigurationEvent (#1371)
* Configuring the player (i.e. sending resource packs) should now be done in the new PlayerConfigurationEvent.

* The new PlayerEnteredConfigurationEvent is called when a player acknowledged the switch to configuration state.

* The PlayerEnterConfigurationEvent is no longer called twice. It is now called when the backed wants to reconfigure the player.

* The PlayerFinishConfigurationEvent should no longer be used to configure the player (i.e. sending resource packs). This is because since 1.20.5 the backend server can't send keep alive packets between switching state anymore and the connection will thus time out.
2024-07-12 11:16:42 +02:00
Shane Freeder
82e81909d8
Add handling for KickPlayerRaw 2024-07-10 23:00:20 +01:00
Andrew Steinborn
5154f02910 Improved fix for #1372
Realized that the precondition that gets violated happens way too early, in `Maps.uniqueIndex()`.
2024-07-05 22:07:15 -04:00
Andrew Steinborn
6224adf70a Don't try to load a candidate plugin with the same ID more than once
Fixes #1372. Honestly, this was an oversight that I'm somewhat surprised that nobody caught until recently.
2024-07-05 22:01:31 -04:00
Gegy
4eae510fb7 Don't forward chat acknowledgement if the client didn't acknowledge any chat 2024-07-04 21:34:47 -07:00
Gegy
c6bb15c69b Fix: only treat command as signed if it has signatures
The Vanilla client will send 'last seen' even if the message is not signed, so this is much stricter than it needs to be. This should allow commands without any signed arguments to be modified/consumed by the proxy.
2024-07-04 21:34:47 -07:00
Gegy
077968089e Fix: pass through last seen update in a few missing places
This is hardly useful in the case of signed player chat messages, as these fundamentally cannot be spoofed or modified - however, for any unsigned input (particularly commands without any signed arguments), 'last seen' updates are still required and should be passed through in a consistent state.
2024-07-04 21:34:47 -07:00
Gegy
b5ee9dd20a Capture a consistent and reusable 'last seen' state for use in command packets 2024-07-04 21:34:47 -07:00
Gegy
ec9745769f Explicitly reject consuming signed command when denied by event
This would fail down the line anyway due to inconsistent chat state (if holding a 'last seen' update)
2024-07-04 21:34:47 -07:00
Gegy
3b7ffa837e Don't require command to be signed to pass it through as-is 2024-07-04 21:34:47 -07:00
Gegy
92c48507eb Extract common command handler paths 2024-07-04 21:34:47 -07:00
Gegy
be73131d5d Remove unneeded check
SessionCommandHandler is only constructed for >= 1.19.3.
2024-07-04 21:34:47 -07:00
Gegy
6b03b28a61 Refactor ChatQueue to track and expose general chat state 2024-07-04 21:34:47 -07:00
wallenjos01
aa4e8780bd
Assign ServerConnection to Player before enabling auto read (#1309) 2024-07-04 10:57:30 +02:00
William
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
Adrian
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
Gero
350ea7f31e
1.21 support (#1338) 2024-06-12 20:33:01 +02:00
Adrian
2d015cdf5c
Add support for canceling ProxyPingEvent (#1264)
* Added support for canceling ProxyPingEvent
2024-06-08 14:28:33 -05:00
Luccboy
07f1f9e7bd
Add Cookie API (#1313) 2024-05-30 16:52:30 +01:00
Gero
deacdb6228
Fix StackOverflowError in CommandGraphInjector when using redirects (#1335) 2024-05-30 13:40:07 +02:00
R00tB33rMan
1c36b66dcb
Fix null or empty has handling in LegacyResourcepackHandler (#1331) 2024-05-28 14:53:20 +01:00
Gero
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
Pantera (Mad_Daniel)
71bb0246a8
Fix query listener reload bug (#1322) 2024-05-23 19:12:28 +01:00
Gijs de Jong
a02b601b6c
Pass through packets in config state (#1326) 2024-05-23 19:09:53 +01:00
booky10
afd8b55fb5
Fix permission for velocity dump command (#1318) 2024-05-09 18:56:03 -07:00
Shane Freeder
1228f14742
Hotfix cancelling unsigned 1.20.6 commands 2024-05-03 19:20:12 +01:00
Shane Freeder
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
Shane Freeder
5cdcf86cf9
Properly pass connection exceptions to the logger 2024-05-01 17:22:18 +01:00
powercas_gamer
2534412be4
remove access controller (#1306) 2024-04-24 13:13:09 -07:00
powercas_gamer
f98c522fa6
Make copyright year a placeholder (#1305)
* make copyright year a placeholder

* review
2024-04-24 13:12:59 -07:00
UserNugget
7e45c17b04
Limit maximum amount of known packs by vanilla defaults (#1303) 2024-04-24 10:50:33 +01:00
Shane Freeder
b50f9eceff
Fix command argument types for 1.20.5 2024-04-24 09:39:22 +01:00
Jeroen B
3afd687bf1
Handle KnownPacks packet required for 1.20.5 vanilla connections (#1302) 2024-04-24 06:55:21 +01:00
Adrian
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
Adrian
be678840de
Added support for components when using CommandSyntaxException (#1295) 2024-04-21 13:49:44 -05:00
Shane Freeder
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
Adrian
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
Limbo
a72aef526b
New Crowdin updates (#1275) 2024-04-06 18:22:29 +01:00
Shane Freeder
3bce4d8576
Succesful is not an extended state 2024-04-02 14:02:34 +01:00
Shane Freeder
d4077ddc1a
only send extended resource pack states on supported versions 2024-04-02 13:53:22 +01:00
Shane Freeder
ad50582836
Send downloaded/successful resource pack status when already applied (Fixes #1280) 2024-04-02 13:20:13 +01:00
Adrian
615b575d91
[ci skip] Add plugin version info to event exception handler (#1263) 2024-03-23 11:51:44 -07:00
Limbo
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
Joo200
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
Adrian
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
Shane Freeder
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
Maxim Breitman
82189a6a21
Tiny rework of Protocol Version API (#1260) 2024-03-01 22:42:02 -05:00