GitHub Documentation

Limit the instance of rooms

  • Hi everyone.
    Is there any way I can limited the client to add or create only one instance? Can I complete this requirement without modifying the framework? For example, I'm going to hold a competition. I want control to be created by the system, and I don't want players to create rooms.

    I think of a way, but I don't think it's elegant enough.

    //server side
    let room=matchMaker.createRoom("match" {secret:OnlySystemKnowPassWord});
    //client side
    ws.joinOrCreate("match");//aways faild

    Do you have any ideas? @endel thank you!

  • administrator

    Hi @BlueBang, this is a good feature request. The workaround you can currently do is using exactly what you've mentioned:

    let room = matchMaker.createRoom("match" { secret:OnlySystemKnowPassWord });
    // ...
    class MatchRoom extends Room {
      onCreate(options) {
        if (options.secret !== OnlySystemKnowPassWord) {
          throw new Error("not_allowed");


  • administrator

    You can check an example that does create a room from the server, and joins using client.consumeSeatReservation() here:

  • @endel Great. I can learn something new again. Thank you for your reply.😁


© 2021 Lucid Sight, Inc