Fixed-step authoritative sim
Your RoomAuthority ticks at up to 240 Hz on a clock that never dilates simulated time — wall-clock lag is clamped, not accumulated.
Self-host the room engine or use the hosted rooms node. Fixed-step server simulation, seamless resume, baseline/delta replication — you write the game, the rooms do the networking.
Validation, simulation, snapshots — your whole game logic. The networking never imports your types, and vice versa.
A RoomServer on a real WebSocket, an in-process
MemoryTransportPair, or your own
GameConnection adapter — same engine, your shape.
Subclass RoomClient, get join/resume, acks, chat and
interpolated snapshots for free — native and web.
Complete runnable version: cd examples/counter && dart run — two clients, real WebSockets, chat and a shared counter. See
Getting started.
Your RoomAuthority ticks at up to 240 Hz on a clock that never dilates simulated time — wall-clock lag is clamped, not accumulated.
One-time resume tokens, a 15 s grace window, roster/chat replay and a playback clock for interpolated rendering.
Reliable 1 s baselines, disposable deltas on a loss-tolerant lane, 4-decimal quantization and display-only recovery. A lost delta can never corrupt the next one.
280-char single-line chat with bidi hardening, pings, roster, lock/kick/ban — quota- and rate-limited on the reliable lane.
One pure-Dart RoomClient for Flutter, native and browser (binary frames included); the engine itself compiles for the web.
No Dart needed: quota-enforced relay rooms, or server-simulated movement over configured colliders with anti-cheat by construction.
protocol the room engine RoomHub, the RoomAuthority contract, snapshot/wire codecs, transports, in-memory pipes, room social. No dart:io — compiles for the web.
client typed game client RoomClient subclassed per game: resumable reconnects, playback clock, WebSocket adapters for native and web.
server_sdk dedicated server + node RoomServer behind real WebSockets; RoomSupervisor, rooms listener, control-plane API, SQLite store; RelayAuthority and the engine-free movement template.
physics_react3d movement backend The reactphysics3d PhysicsBackend for movement rooms — thin native FFI binding; all game logic stays in server_sdk.
Consumed as git path dependencies — the yaml snippet.
Stable, machine-readable endpoints on this site: llms.txt, llms-full.txt, rooms-protocol.json (wire spec, cross-checked against the implementation at build time) and room-authority.md (the exact authority contract).