Back to all docs
multiplayer:rooms

Multiplayer Toolkit

Create rooms, join sessions, leave cleanly, send realtime room events, and update shared room state.

multiplayerroomsrealtimefirebase

Room lifecycle

The multiplayer namespace wraps the Qubiz host bridge. Games request multiplayer:rooms, then create or join a room and exchange small event payloads. The current host uses Firebase Realtime Database when configured and returns unavailable when realtime services are absent.

  • Room event payloads should stay small and JSON-like.
  • Use authoritative server logic for competitive results when prizes or rankings matter.
  • Leave a room when the player exits the match or closes the lobby.
Create and update a room
const permissions = await QubizSDK.requestPermissions(["multiplayer:rooms"]);

if (permissions.status === "granted") {
  const room = await QubizSDK.multiplayer.createRoom({
    mode: "duel",
    maxPlayers: 2,
    player: { ready: true, score: 0 }
  });

  if (room.roomId) {
    await QubizSDK.multiplayer.updateState(room.roomId, {
      phase: "countdown",
      seed: 82741
    });
  }
}
Send a room event
await QubizSDK.multiplayer.sendEvent({
  roomId,
  type: "player:dash",
  payload: { x: 240, y: 128 },
  reliable: true
});