Multiplayer & gaming
Low-latency delivery for game state, player actions, and presence. Segments map cleanly to rooms, lobbies, and matches.
The problem
Games need rooms. A match is isolated from other matches. A lobby is different from the game in progress. Player state needs to broadcast to all participants, fast, in sequence.
Building this on top of a platform that doesn't understand segments means you're writing routing logic yourself:tracking which connection belongs to which room, fanning out manually, handling reconnects. That's infrastructure work that doesn't ship features.
How Celeris solves it
Channels and segments are the native model. A game lobby is a segment. A match is a segment. All players in the same match connect to the same channel and the same segment:Celeris handles the fanout. You send one message; all participants receive it.
Binary-first payloads keep game state updates compact. A player position update as binary is a fraction of the size of the same update as JSON. At 60 updates per second per player, that difference compounds.
US and EU regions at launch use global routing designed to reduce network delays and keep connections more consistent. p95 latency at 32ms on a single test node gives you headroom before the transport becomes the bottleneck.
Connecting a player to a match
const client = createClient({ credentialProvider });
const channel = client.channel("game-server-1");
const match = channel.segment(`match-${matchId}`); // one segment per match
match.onMessage((payload) => {
applyGameState(decodeState(payload)); // your own decoder
});
match.subscribe();
await channel.connect();
// Broadcast a player action to all participants
await match.publish({
payload: encodeState({ playerId: localPlayer.id, action: "move" }),
});
When the match ends, close the segment. The lobby segment continues independently.
Relevant features
- Channels and segments
, lobbies, and matches without routing logic - p95 32ms latency
enough for competitive game loops - Binary-first messaging
state updates at high frequency - Multi-region
and EU regions with global routing, regional isolation by default