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 must go to all participants, fast and in sequence.
A platform without segments pushes the routing logic into your code. You must track the room for each connection, do the fan-out, and manage the reconnects. That is infrastructure work, and it does not 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, and Celeris does the fan-out. You send one message, and all participants receive it.
Binary-first payloads keep game state messages compact. A player position message as binary is a fraction of the size of the same message as JSON. At 60 messages per second per player, that difference compounds.
Celeris has US and EU regions. It routes connections through AWS Global Accelerator. This network has 130 Points of Presence in 95 cities across 53 countries. AWS designed this network to decrease network delays and to make connections more consistent. A measured p95 latency of 32 ms on a single test node gives you headroom.
Connect 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, cancel the subscription to its segment. The lobby segment continues independently.
Relevant features
- Channels and segments: rooms, lobbies, and matches with no routing logic
- p95 32ms latency: a measured result with headroom for competitive game loops
- Binary-first messaging: compact state messages at a high frequency
- Multi-region: routed through AWS Global Accelerator's 130 Points of Presence, and messages reach subscribers in each region