Thin control plane
Rooms, capabilities, signaling, expiry, reconnects, and TURN credentials. No game rules and no authoritative world state.
Reusable multiplayer infrastructure
A deliberately small rendezvous service for browser games. It creates short-lived lobbies, authenticates participants, relays WebRTC setup messages, and then gets out of the gameplay path whenever the network allows it.
Gameplay authority stays in the game. The service never becomes the simulation server.
Rooms, capabilities, signaling, expiry, reconnects, and TURN credentials. No game rules and no authoritative world state.
Once negotiation succeeds, reliable and realtime gameplay channels travel between browsers instead of through the setup service.
Games that need large assets can opt into verified peer seeding with hashes, resumable chunks, bounded upload pacing, and relay-aware policy.
How it works
The server exists to establish safe connectivity. After setup, the interesting traffic belongs to the peers.
2–16 players
The lobby only defines who may signal. The browser decides whether those participants form a full mesh or connect through a host.
Current model
Authority boundary
The useful abstraction is the boundary: connectivity is reusable; game semantics remain specific to each game.
Setup service
Game / peers
Gameplay transport
For deterministic games, peers can apply the same compact sequenced command locally instead of repeatedly shipping large state snapshots.
The packet says what happened, not what every resulting coordinate must be. Sequence numbers make stale or duplicate inputs easy to reject.
| Channel | Semantics | Good fit |
|---|---|---|
| Reliable | Ordered and retransmitted until delivered. | Moves, joins, scores, resets, inventory changes, turn-based commands. |
| Realtime | Unordered with zero retransmits; fresh information wins. | Frequent movement/input hints where old packets are less valuable than new ones. |
Static client modules
The Pages demos import the production browser modules directly: two-player sessions, larger resilient lobbies, and optional verified peer content.
Live examples
These clients are entirely static. Point them at a reachable setup service to create or join a real session.