Packet id 0x12 isn't registered
[31.07 22:51:59.762] INFO : [wb-minestom-1] java.lang.IllegalStateException: Packet id 0x12 isn't registered!
[31.07 22:51:59.762] INFO : [wb-minestom-1] at net.minestom.server.network.packet.client.ClientPacketsHandler.create(ClientPacketsHandler.java:35)
[31.07 22:51:59.762] INFO : [wb-minestom-1] at net.minestom.server.network.PacketProcessor.create(PacketProcessor.java:45)
[31.07 22:51:59.762] INFO : [wb-minestom-1] at net.minestom.server.network.PacketProcessor.process(PacketProcessor.java:53)
[31.07 22:51:59.762] INFO : [wb-minestom-1] at net.minestom.server.network.player.PlayerSocketConnection.lambda$processPackets$0(PlayerSocketConnection.java:103)
[31.07 22:51:59.762] INFO : [wb-minestom-1] at net.minestom.server.utils.PacketUtils.readPackets(PacketUtils.java:231)
[31.07 22:51:59.762] INFO : [wb-minestom-1] at net.minestom.server.network.player.PlayerSocketConnection.processPackets(PlayerSocketConnection.java:97)
[31.07 22:51:59.762] INFO : [wb-minestom-1] at net.minestom.server.network.socket.Worker.lambda$run$0(Worker.java:103)
[31.07 22:51:59.762] INFO : [wb-minestom-1] at java.base/sun.nio.ch.SelectorImpl.processReadyEvents(SelectorImpl.java:297)
[31.07 22:51:59.762] INFO : [wb-minestom-1] at java.base/sun.nio.ch.EPollSelectorImpl.processEvents(EPollSelectorImpl.java:201)
[31.07 22:51:59.762] INFO : [wb-minestom-1] at java.base/sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:141)
[31.07 22:51:59.762] INFO : [wb-minestom-1] at java.base/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:130)
[31.07 22:51:59.762] INFO : [wb-minestom-1] at java.base/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:168)
[31.07 22:51:59.762] INFO : [wb-minestom-1] at net.minestom.server.network.socket.Worker.run(Worker.java:83)
0x12 is the ID for Serverbound Plugin Messages during play phase. As far as I understand the issue, the client sends Acknowledge Finish Configuration and assumes the server changed the state to PLAY.
To reproduce this, create a velocity proxy. Change the demo server: disable mojangauth, enable bungeecordproxy. Configure velocity to forward to the server with bungeecord. Ingame run /config I can't tell if this is a problem causing other issues, but I think it should be addressed.
Note that for some reason just using bungeecord doesn't work. It doesn't properly support re-entering configuration phase. So the only way to test this properly is veloocity with legacy mode
This happens because of the registration of the bungeecord:main plugin channel.