Skip to content
Docs
Rooms

Multiple rooms

Run several rooms in one Node process.

You don't need a separate program for each room. One Node process can run several rooms side by side, for example one per game mode. Each room is independent: it has its own identity from the Creator Portal, its own engine threads and its own queue of events, so a busy room doesn't slow down the others.

rooms.js

Things to know when running several rooms:

  • Without listen, each room takes the next free UDP port from 4433 up to 4532.

  • A native engine failure closes only the affected room, with the close reason "engine_error".

  • A Node crash ends every room in the process, so keep handlers robust.

  • Events wait for the main thread in a bounded queue (limits.eventQueue, 4096 per room). When it is full, new chat gets a retryable busy response, and if any other event cannot be queued the room closes with "controller_overloaded".

  • Group rooms in the Creator Portal to organize them; groups do not affect hosting.