Chapters Limits at a glance

Chapter 13 of 13

Limits at a glance

Every number in one table: response times, state sizes, Whisper groups, pending actions, signature freshness and Game Settings fields.

What Limit
Protocol version 1 (camtable in the manifest).
Engine response time, and the host’s time to commit an intent 3 seconds.
Host away, either mode The match is paused and actions are rejected (HOST_AWAY) for up to 15 minutes; timers are held. The host’s return resumes it, otherwise it ends.
Game actions waiting on a room 3 per player, 16 per room; one more is rejected (TOO_MANY_PENDING_ACTIONS, ROOM_BUSY).
Players in a Whisper 2 to 6 per group your rules name; 2 for one made by request. A player is in one Whisper at a time. Whispers exist only while a match runs, and only for a Play Option that declares whisper.
Whisper Requests Only while your state says whispers.requests: "open"; a request is for one other player.
Messages written in a Whisper At most 500 characters each; the room keeps the newest 50 of each Whisper, for its players who rejoin, and forgets them when it ends.
Call Mute Holds only while the match runs; lifts at its end, when the frame closes and when the player leaves.
State / views (each), either mode 64 KB serialized.
Engine response body 1 MB.
Engine rejected code / message 100 / 500 characters.
Engine signature freshness 5 minutes.
Manifest URL / engine URL scheme https (http for localhost).
Players per Play Option minPlayers to maxPlayers as you declare them.
Game Settings per Play Option 24 fields (GAME_SETTINGS_MAX_FIELDS); ids of up to 64 characters, option values of 1 to 64.

These constants are exported from @camtable/sdk/addon (ENGINE_TIMEOUT_MS, ENGINE_MAX_STATE_BYTES, ENGINE_MAX_RESPONSE_BYTES, GAME_SETTINGS_MAX_FIELDS, …).