You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a follow-up after some more testing and inspection of the source code from #1082
Test setup
I used the following test setup:
Velocity:
3.2.0-SNAPSHOT b265
Configured with one backend server, `player-info-forwarding-mode = "modern"
Paper:
1.20.1 b194
Configured as backend server with active velocity forwarding.
Test execution
Join the server
Write some chat message, e.g. test
Write some proxy command, e.g. /server
Write some chat message, e.g. test
Receive a kick for Chat message validation failure
Logs from paper:
[17:14:21 INFO]: Joo200 joined the game
[17:14:21 INFO]: Joo200[/127.0.0.1:56728] logged in with entity id 245 at ([world]3.822689117283443, 67.0, -9.025347058973914)
[17:14:24 INFO]: <Joo200> test
// Proxy intercepted /server
// Player sent "test"
[17:14:29 WARN]: Failed to validate message acknowledgements from Joo200
[17:14:29 INFO]: Joo200 lost connection: Chat message validation failure
[17:14:29 INFO]: Joo200 left the game
Solution?
We could send a command package to the backend server with the command prefixed with some invalid chat character. That invalid chat message can be stopped by the backend and interpreted as "proxy already handled the command". That way we could handle chat messages too and let the backend server handle intercepted messages.
This workaround would require a config option in velocity and some changes in paper and other backend server such as fabric or forge. I only use Paper as backend server and can add a patch for paper.
The text was updated successfully, but these errors were encountered:
The idea is to add support for sending a message to the backend server which allows it to cycle the chain properly, this was the entire intent for supporting this stuff however it fell to the wayside due to mojang continually changing stuff early on
This specific instance was fixed by 1100. Any other instances would generally be irrelevant to this specific case, but, protocol hacks are generally unsupported, and this mechanism is fragile.
This is a follow-up after some more testing and inspection of the source code from #1082
Test setup
I used the following test setup:
3.2.0-SNAPSHOT b265
Configured with one backend server, `player-info-forwarding-mode = "modern"
1.20.1 b194
Configured as backend server with active velocity forwarding.
Test execution
test
/server
test
Logs from paper:
Solution?
We could send a command package to the backend server with the command prefixed with some invalid chat character. That invalid chat message can be stopped by the backend and interpreted as "proxy already handled the command". That way we could handle chat messages too and let the backend server handle intercepted messages.
This workaround would require a config option in velocity and some changes in paper and other backend server such as fabric or forge. I only use Paper as backend server and can add a patch for paper.
The text was updated successfully, but these errors were encountered: