Game systems

Multiplayer without your own server: rooms and voice

How ready-made iDos Games multiplayer works - rooms in the lobby, public or by invite, ready check, room chat and voice chat, the host starts the game for everyone, players connect over WebRTC - and how to turn it on.

Updated: Русский

Multiplayer gives your game online play without a game server of your own: rooms in the lobby, invites, voice chat, and the host starts the game for the whole room. Players connect to each other over WebRTC; the platform only finds them and connects them.

What the player sees

  • Rooms of the games that play online: public, or private with an invite code.
  • "Create a room": name, 2, 4 or 8 players and the game's own room settings.
  • Members with host, "Ready" and offline marks, room chat and removing a member.
  • Voice chat: mic off, push-to-talk on V or open mic, mute and volume of every member, who is speaking.
  • "Play" of the host takes every device of the room into the game.
Multiplayer
12 450
320
Mira's room3/4 · public
Join
Friends only2/8 · by invite
Code
My room · 3/4

You (host) · Mira ✓ · Arrow ✓ · waiting…

Voice
Play
Create a room
Rooms of the games that play online: public or private by invite.
Members with "Ready", room chat and voice chat.
The host's "Play" takes the whole room into the game.
Example. The multiplayer lobby: rooms, members, voice and "Play" for the whole room.

How it works

  • The lobby owns the room and its session; games never create or join rooms themselves.
  • A game plays online by registering in the lobby; then "With friends" appears next to its "Play".
  • Late joiners can enter a running game when the game allows it. The voxel sandbox is the reference.

Step 01Add the system to your project

Ask the AI coder: "Make the game multiplayer for 4 players". It installs the system and registers the game; the voxel sandbox template has it from the start.

Step 02Set it up in the dashboard

Open the dashboard, pick your project and go to Live Operations → v2 → Multiplayer.

  • Turn multiplayer on and set the maximum players per room.
  • The relay server (TURN) for players behind strict networks is set up here too.

The AI button on the page opens an assistant: describe what you need, it proposes changes, and you review them and press Save.

Step 03Test and release

Check the system in the test version of your app. Settings go to the live app as a separate action - see publishing and links.

For developers

Rooms work through client.multiplayer and RealtimeSession (@idosgames/core/realtime); a game connects through ctx.multiplayer.

TypeScript
// In the game module's setup(): the game plays online through the lobby rooms
ctx.multiplayer.registerGame({
  mode: 'my-game',
  topology: 'Host',
  chatMode: 'ServerRelay', // the lobby's room chat
  maxPlayers: 4,
  joinInProgress: true,
  // On every member's device once the host pressed "Play"
  start: async (room) => startOnline(room.session, { host: room.isHost, leave: room.leave }),
})
  • Leave with room.leave(): the lobby owns the room.
  • Show "Play with friends" only while the multiplayer feature is available: without it the game stays single-player.

Every field is described in the multiplayer-realtime skill, served by the SDK MCP server.

Frequently asked questions

Do I need a game server?

No. Players connect to each other over WebRTC; the platform runs the rooms and the connection setup.

Is there voice chat?

Yes. Rooms have voice chat with push-to-talk, mute and volume per member.

See also

Make your own game

Describe the idea in a sentence - the AI coder builds it, and it goes live at its own link.