The first solution I tried was to auto kick any people trying to join the room. The issue I have with this is that, when the peer requests a 'room list', the room list is pulled based on its state.
The current room will be locked in practice, but there is no way for the C3 multiplayer system to know this. So I will have many people trying to join games and they have no way of knowing if it is open or closed.
The idea of forwarding them to the next open game is good, but it doesn't really work for me, since each active game is highly customized. So there is no such thing as 'the next room' for me.
I wish I could just have the host lock the room.