Repro against 0.10.18 lixserv:
1. Open 3 clients and have them all connect to the same server. Don't enter a room yet. Make the clients different colors, let's say, red, green, blue.
2. Red and green enter the same room.
Blue is waiting outside the room.
3. Red picks a level.
Now is the first time that anybody is even able to press ready. Blue is still outside.
4. Red presses ready.
You'll see that red and green agree on all ready statuses in the room: Both red and green believe that red is ready and that green is not ready yet.
5. Blue enters the room.
Here, we see the first desync: Blue believes that nobody is ready. Red believes that only red is ready. Green agrees that only red is ready. This is the heart of the bug: After you've entered a room of players with mixed readiness, the players in the room necessarily agree on who's ready.
6. Both green and blue press ready.
Here, both red and green see the topic's bug. Both red and green now think that everybody is ready, and they're surprised that the game won't start. Blue thinks that only green and blue are ready and that red isn't ready yet.
7. Red unreadies, then readies again.
This works around the bug. Now, the game starts. I believe that, after step 6, lixserv agreed with the blue player: Nobody was ready after blue entered the room, and to start a game, it wasn't enough for only green and blue to press ready.
-- Simon