PaperMC / Velocity

The modern, next-generation Minecraft server proxy.
https://papermc.io/software/velocity
GNU General Public License v3.0
1.68k stars 583 forks source link

Pass through packets in config state #1326

Closed oxkitsune closed 1 month ago

oxkitsune commented 1 month ago

Since 1.20.5 there's an additional "handshake" when the client enters the configuration state. If there's no connection in flight, the play:serverbound/minecraft:configuration_acknowledged emitted by the client isn't passed through to the backend server. This means the backend server won't start sending the rest of the registry data to the client, thus the client ends up in an infinite "Reconfiguring... " screen.

In 99% of normal use cases there will be a connection in flight, but I sadly ran into a case where there wasn't a connection in flight. This PR solves this issue by just passing through the packet if there's no connection in flight.