Using a empty motd with ping-passthrough causes a exception on the client
Expected Behavior
You can connect just fine, like you can connect directly to a Paper server with an empty motd.
Actual Behavior
You can't connect to the server and get kicked with an exception.
disconnect-2025-03-14_19.28.40-client.txt - https://paste.gg/p/anonymous/1ed0a17c8d99494db0d057fc0dd91808
Steps to Reproduce
- Setup Velocity with modern forwarding and
ping-passthrough = "all" - Setup a Paper (1.21.4-211-main@6ea4202) server with modern forwarding
- Connect to Velocity
Plugin List
none
Velocity Version
Velocity 3.4.0-SNAPSHOT (git-c9aa1cca-b480)
Additional Information
Originally discovered by @spongeknob on Discord. https://discord.com/channels/289587909051416579/908507866183372801/1349965472698994700
It happens because the Component in the ping event gets incorrectly serialized as an END tag instead of the received STRING type. It occurs when recreating the packet for the player connection in here.
Packet should be 0x080000...icon, instead player connection recieves 0x0000...icon.