I don't see why you need new features to do this. You just have a special "waiting for players" mode at the start of the game, and once it's started, reject any new people joining (or just set the room size, so the signalling server sees that it's full, and then you can also de-list it from the list of current games so nobody even tries to join it). As with any multiplayer game the host is authoritative, so the host makes the decisions about when people can join and when to start the game.
i dont get that..
so you say i must create one room for all peers ?
what if my host left ?! all peers must reconnect again ...this is not good and so many other things happening like transfer messages between all peers for 1 game with 4 players ! and if i have 20 games running then i have so many message transfer and this is so much wasting bandwidth
in my game peers must join in rooms and set color and position and team and... then they start game.. but problem is :
if my host start the room with 6 max peers but if just only 4 peers in the room and they wants to start game .. then new peers can join... and if i kick them peers must click in so many rooms and they kicked all the time... !
so what i must doing ?
now i just disconnect and reconnect again and make room with another game instance .. so new room is hidden from list.. (reconnect is a problem because host can change in reconnect and sometimes peers can not join properly)
another way. i connect to each host and get state of game when i listing the rooms (so many connections to multiplayer server (scirra server) and possibility to get blocked (i can use delay for connect to each host but still so many connections))
another way.
you add this feature to construct 2..
is there another way ?