Gessa Docs
Generated Reference

Reference

Runtime Error Catalog

Sources: server/src/modules/runtime/errors/runtimeErrorCatalog.ts:RUNTIME_ERROR_CATALOG.
engine v1.0.234Copy for LLM

This generated snapshot is derived from RUNTIME_ERROR_CATALOG in server/src/modules/runtime/errors/runtimeErrorCatalog.ts. It is the closed taxonomy of runtime gateway error codes: every runtime failure reaches the boundary already carrying one of these machine codes, and the boundary maps that code to the static player-safe copy recorded here.

The frontend presentation registry (web_client/spa/src/runtime/generated/runtimeErrorRegistry.gen.ts) is generated from this same catalog by scripts/generate-runtime-error-registry.mjs, so the player title, player message, category, retryable, and terminal values on both sides cannot drift.

The operator description is log-facing and is not shown to a player.

Error code count: 64. Category count: 10. Engine-contract code prefix: runtime_engine_contract_.

Categories

Every code belongs to one closed top-level category. The disposition is the total, compile-checked classification from runtimeErrorCategoryDisposition.

CategoryDispositionCode count
authdenied8
schema_violationmalformed7
release_mismatchstale_release10
boot_failurebooting9
overloadshedding6
transporttransport5
lifecyclelifecycle13
revokedrevoked1
capacityat_capacity2
rate_limitedthrottled3

Error codes

CodeCategoryRetryableTerminalPlayer titlePlayer messageDescription
runtime_auth_invalidauthnoyesSign in to playWe couldn't verify your game session. Refresh the page or sign in again to continue.Runtime player credential MAC/signature invalid, malformed, or an impostor token: genuine auth failure. Terminal.
runtime_credential_expiredauthyesnoReconnectingRefreshing your game session.Runtime player credential expired (expiresAtMs <= now). Sliding re-mint over the live socket (03 section 2); degraded, not terminal.
runtime_connection_unverifiedauthyesyesSign in to playRefresh the page or sign in again to continue.Legacy unverified-connection catch-all. Migrate throw sites to runtime_auth_invalid / runtime_credential_expired / runtime_release_stale_link / runtime_session_ended.
game_access_deniedauthnoyesYou don't have accessAsk the creator for access to this game.Principal is not authorized for this game/room (private room, ban, missing grant, wrong player session).
runtime_schema_violationschema_violationnoyesGame couldn't loadThe game sent an update this app couldn't read. Refresh and try again.Malformed client frame: ZodError from RuntimeClientEnvelopeSchema.parse or an otherwise unparseable envelope.
runtime_identity_mismatchschema_violationnoyesGame couldn't loadRefresh and try again.Runtime envelope identity mismatch: a supplied room, player session or deployment coordinate differs from the authenticated connection.
game_connection_payload_too_largeschema_violationnoyesGame couldn't loadThe game sent too much data. Refresh and try again.Inbound envelope exceeds RUNTIME_GATEWAY_POLICY.maxEnvelopeBytes.
runtime_protocol_unsupportedrelease_mismatchnoyesUpdate to keep playingThis game connection is out of date. Refresh and try again.Client protocol version does not equal server RUNTIME_PROTOCOL_VERSION.
runtime_engine_contractrelease_mismatchnoyesGame version not supportedThis game version is not supported yet. Refresh and try again.Engine-contract mismatch. Code is a prefix family: runtime_engine_contract_<suffix>.
runtime_admission_missingrelease_mismatchnoyesGame unavailableThis game has no published release for this environment yet. Try again soon.Versioned admission: no versioned release for the requested environment (VersioningV1Error).
runtime_admission_supersededrelease_mismatchyesyesUpdate to keep playingThis game was updated to a newer version. Refresh and try again.Versioned admission: pinned deployment was superseded by a newer release. A fresh attempt admits to the new release.
runtime_target_unhealthyrelease_mismatchyesnoGetting the game readyThe game runtime is not ready yet. Try again in a moment.Versioned admission: target deployment is not healthy yet.
runtime_admission_incoherentrelease_mismatchnoyesGame needs attentionThis game's release needs attention before it can start. Try again soon.Versioned admission: the release resolved to an incoherent state and cannot start.
admission_identity_requiredauthyesyesSign in to playWe couldn't confirm your session. Sign in to continue.Admission policy: the principal carried no account identity; the player shell retries once through guest start before surfacing this.
admission_account_requiredauthnoyesAccount requiredThis game requires an account. Sign in or create one to play.Admission policy: the deployment denies guest accounts and the participant is a guest account.
admission_bannedauthnoyesYou can't join this gameYour account can't join this game right now.Admission: an active ban (deployment, game or platform scope) matched the participant's account, device or network coordinates.
admission_account_too_newauthnoyesAccount too newThis game is open to established accounts. Try again once your account is a little older.Admission policy: the account is younger than the deployment's minimum account age.
runtime_room_policy_invalidrelease_mismatchnoyesGame unavailableThis game is not available with those settings. Refresh and try again.Room-creation request violated a non-capacity policy bound (tick/snapshot rate, snapshot > tick, unsupported region).
runtime_protocol_epoch_unservablerelease_mismatchnoyesGame unavailableThis game is not available right now. Try again in a moment.Room's immutable authority protocol epoch has no corridor for the requested operation. Operator/deployment invariant violation; no retry advances an immutable epoch.
runtime_release_stale_linkrelease_mismatchnoyesGame link is out of dateThis game link points to an older version. Refresh and try again.Credential game/room/deployment scope mismatch (verifyRuntimePlayerCredential game/room/deployment checks). Stale link, not auth fraud.
game_not_foundrelease_mismatchnoyesGame not foundCheck the link and try again.Requested game or deployment does not resolve (deployment not found / resource not found).
runtime_snapshot_timeoutboot_failureyesnoGame world is taking too longThe server accepted you, but the first playable world update has not arrived.First full snapshot did not arrive within the boot deadline. Terminal only once the transport is disconnected (applied FE-side).
runtime_delta_gapboot_failureyesnoGame world is taking too longThe server accepted you, but the first playable world update has not arrived.A delta arrived with a sequence gap before the first playable frame. Terminal only once the transport is disconnected (applied FE-side).
runtime_delta_without_snapshotboot_failureyesnoGame world is taking too longThe server accepted you, but the first playable world update has not arrived.A delta arrived before any baseline snapshot. Terminal only once the transport is disconnected (applied FE-side).
runtime_resync_failedboot_failurenoyesGame couldn't loadRefresh and try again.Warm-resume resync failed to weld to the replay window.
runtime_play_session_timeoutboot_failurenoyesGame couldn't loadRefresh and try again.Play-session boot exceeded its deadline.
runtime_play_session_failedboot_failurenoyesGame couldn't loadRefresh and try again.Play-session boot failed terminally.
rejected_terminal_policyboot_failurenoyesGame couldn't loadRefresh and try again.Admission rejected under a terminal policy: no retry can satisfy it.
game_admission_blockedboot_failurenoyesGame needs an updateThis game needs an update before it can start. Try again soon.Content admission gate (e.g. a ProjectAsset lineage receipt / backfill) blocks any session start until the game's stored content is updated.
game_content_not_publishableboot_failurenoyesGame couldn't loadOne of this game's assets isn't stored durably yet. Re-import the asset or finish its upload, then try again.Immutable publication refused the content-version mint: a runtime asset variant lacks immutable byte identity (versionless s3 reference, null object version, or identity disagreement). The server log names the asset and variant.
runtime_compute_unavailableoverloadyesnoGame is busyThe game is getting ready. Please try again in a moment.Canonical compute admission, worker failure or deadline prevented snapshot preparation. Retry the same idempotent admission; never run the snapshot on the serving loop.
runtime_handshake_budgetoverloadyesnoToo many attemptsThe game is busy. Wait a moment and try again.Handshake admission budget exceeded (WS 1013). Client honors retryAfterMs under the reconnect jitter.
runtime_command_rate_limitedoverloadyesnoSlow downYou're sending input too fast. It will catch up in a moment.Per-connection command pressure budget exceeded (connection-scope reject).
runtime_room_pressure_sheddingoverloadyesnoGame is busyThe game is under heavy load and may feel choppy for a moment.Runtime ingress or room pressure exceeded: reject before admission, resumably close an overloaded raw socket (WS 1013), or shed low-priority room replication / use thin snapshots.
runtime_shard_sheddingoverloadyesnoGame is busyThe game is under heavy load and may feel choppy for a moment.Shard-level overload ladder active (thin snapshots / reduced rate / paused non-essential lanes / joins refused). Shard-scope shed; per-room order composes underneath.
game_fullcapacityyesyesGame is fullTry again in a little while.Room fan-out or per-room player cap exhausted. Overflow is retryable (queues in P2), so terminal-but-retryable.
runtime_shard_over_budgetcapacityyesyesGame is fullTry again in a little while.Placement refused: per-instance or per-shard room/player budget exhausted (capacity floor, D14). A fresh attempt admits once a room closes and frees budget.
game_connection_rate_limitedrate_limitedyesnoToo many attemptsWait a moment and try again.Connection-attempt rate limit for this principal/IP.
game_connection_failedtransportyesyesGame couldn't loadThe game connection failed. Try again.Generic transport failure. Post-taxonomy this is rare: an UNTYPED error at the boundary maps to runtime_internal, not here.
runtime_liveness_reapedtransportyesnoReconnectingThe game connection dropped. Reconnecting now.Liveness ping/pong reaped a half-open socket (WS 1008 gateway_liveness_timeout). Resumable.
runtime_transport_droppedtransportyesnoReconnectingThe game connection dropped. Reconnecting now.Abnormal (1006) transport drop. Resumable via warm resume.
runtime_reconnect_exhaustedtransportnoyesConnection lostWe couldn't reconnect to the game. Refresh and try again.Client reconnect attempt ceiling reached (bounded + full jitter, 03 section 4).
runtime_internaltransportnoyesGame couldn't loadSomething went wrong. Refresh and try again.An UNTYPED error reached the boundary: a missing coded throw. Logs loudly (logRuntimeGatewayLaunderedFallback); it signals a bug, not an accepted fallback path.
runtime_authority_recoveringlifecycleyesnoReconnectingThe game connection is being restored.Owner-lease/routing transient (isRuntimeRecoverableAuthorityError).
runtime_authoritative_frame_conflictlifecycleyesnoReconnectingThe game connection is catching up.Authority persistence conflict (Postgres 23505 unique violation). Reconciles forward.
runtime_session_endedlifecyclenoyesGame session endedThis game session has ended. Refresh to start a new one.Player session not found for credential (service.ts openGatewayConnection). Session lifecycle ended, not an auth failure.
runtime_supersededlifecyclenoyesPlaying somewhere elseYou started playing in another tab or on another device. You can close this tab.Occupancy supersede (WS 4001, reason occupancy_superseded). A newer admission of the same Account departed this seat; the process-local registry or the backplane closed the socket. FE renders 'playing elsewhere' and never reconnects; never an auth failure (docs/cycles/occupancy-law/SPEC.md S13).
game_open_in_progresslifecycleyesyesGame is already openClose the other tab or refresh this one to continue.Still-opening idempotency race (transient duplicate join). Retryable; a durable idempotency mismatch is a different, non-retryable outcome.
reconnect_or_exitlifecycleyesnoReconnectingThe game connection is being restored.Lifecycle-continuable drain notice: a still-rendering game keeps drawing and rolls forward to the live deployment (INV3 active-never-fails).
game_server_startinglifecycleyesnoGetting the game readyThe game server is getting ready. Try again in a moment.Room owner lease is not active yet (room warming up).
game_server_restartinglifecycleyesnoServer is restartingTry again in a moment.Room draining / sleeping / recovering / restarting.
game_updatinglifecycleyesnoGame is updatingTry again in a moment.Deployment superseded by a redeploy in flight; rolls forward once the new deployment admits.
game_unavailablelifecycleyesnoGame unavailableCheck the link or try again in a moment.Game has no active deployment / no published world right now.
runtime_session_revokedrevokednoyesYou've been signed outYour access to this game was ended. Sign in again to continue.Explicit revocation, fence loss, kick, ban, or logout-everywhere (03 section 3). The only non-supersede path to instant termination.
occupancy_conflictlifecycleyesnoMoving your sessionYour session is being moved. One moment.An occupancy invariant refused a write (a partial unique index on Postgres, the mirrored predicate on the memory twin): a second live seat for the Account, a second live seat for a Profile in one room, or a duplicate live ticket, party membership, or match participant. Retry once; the retry observes the committed state (docs/cycles/occupancy-law/SPEC.md S4.1, I-01, I-02, I-15).
occupancy_client_mismatchlifecyclenonoSession belongs to another windowThis seat is being driven from another window. Start playing here to take it over.A socket attach for a live seat came from a client instance that is not the seat's client instance. The client admits instead, which supersedes (docs/cycles/occupancy-law/SPEC.md S4.2, I-12).
admission_rate_limitedrate_limitedyesnoSlow downToo many attempts to join. Try again in a moment.The admission budget keyed by Account or by network denied a seat-minting request; the response carries the retry delay (docs/cycles/occupancy-law/SPEC.md S10, I-18).
room_creation_rate_limitedrate_limitedyesnoSlow downToo many attempts to join. Try again in a moment.The room-creation budget keyed by Account or by game denied a request that would have created a room; the response carries the retry delay (docs/cycles/occupancy-law/SPEC.md S10, I-18).
placement_not_client_ownedschema_violationnoyesUpdate to keep playingThis game link is out of date. Refresh and try again.A public play request carried a client placement field (room key, shard, capacity, rates, region, join policy). Public placement derives from the deployment; a client defect, never a player action (docs/cycles/occupancy-law/SPEC.md S9, I-17).
identity_field_not_allowedschema_violationnoyesUpdate to keep playingThis game link is out of date. Refresh and try again.A human or guest principal supplied an identity field (player id) on a ticket, party, or admission request. Identity derives from the principal inside the occupancy authority; a client defect (docs/cycles/occupancy-law/SPEC.md S8, I-14).
runtime_request_conflictschema_violationnoyesGame couldn't loadRefresh and try again.A mutation reused an idempotency key with a different request body (IdempotencyReplayConflictError). A durable mismatch, not the still-opening join race (game_open_in_progress): repeating the same request can never succeed, so it is never retryable.
runtime_request_invalidschema_violationnoyesGame couldn't loadRefresh and try again.A mutation arrived without its required x-idempotency-key header (runtimeRequestInvalidError). A client contract defect, not a transient state: the same request can never succeed until the client sends the header, so it is never retryable.
observer_bound_exceededoverloadyesnoToo many views openYou are already watching this room from too many places. Close one and try again.An Account asked to observe one room past the observer bound, refused inside createObserverSession under the room lock on both twins. The bound is a policy value, not a literal (docs/cycles/occupancy-law/SPEC.md S8, I-16).
occupancy_connection_not_currentlifecyclenonoConnection replacedAnother connection is driving this session now.The occupancy fence refused a packet or a close from a socket that is not the seat's current connection (a superseded or replaced socket). Compared against the seat row, never a message; the stale socket closes on its own typed close (docs/cycles/occupancy-law/SPEC.md S5, I-08, I-09).

Code details

The engine-contract family is matched by code prefix rather than an exact key; its canonical entry is keyed by the bare stem.

runtime_auth_invalid

FieldValue
Categoryauth
Dispositiondenied
Retryableno
Terminalyes
Player titleSign in to play
Player messageWe couldn't verify your game session. Refresh the page or sign in again to continue.
Operator descriptionRuntime player credential MAC/signature invalid, malformed, or an impostor token: genuine auth failure. Terminal.

runtime_credential_expired

FieldValue
Categoryauth
Dispositiondenied
Retryableyes
Terminalno
Player titleReconnecting
Player messageRefreshing your game session.
Operator descriptionRuntime player credential expired (expiresAtMs <= now). Sliding re-mint over the live socket (03 section 2); degraded, not terminal.

runtime_connection_unverified

FieldValue
Categoryauth
Dispositiondenied
Retryableyes
Terminalyes
Player titleSign in to play
Player messageRefresh the page or sign in again to continue.
Operator descriptionLegacy unverified-connection catch-all. Migrate throw sites to runtime_auth_invalid / runtime_credential_expired / runtime_release_stale_link / runtime_session_ended.

game_access_denied

FieldValue
Categoryauth
Dispositiondenied
Retryableno
Terminalyes
Player titleYou don't have access
Player messageAsk the creator for access to this game.
Operator descriptionPrincipal is not authorized for this game/room (private room, ban, missing grant, wrong player session).

runtime_schema_violation

FieldValue
Categoryschema_violation
Dispositionmalformed
Retryableno
Terminalyes
Player titleGame couldn't load
Player messageThe game sent an update this app couldn't read. Refresh and try again.
Operator descriptionMalformed client frame: ZodError from RuntimeClientEnvelopeSchema.parse or an otherwise unparseable envelope.

runtime_identity_mismatch

FieldValue
Categoryschema_violation
Dispositionmalformed
Retryableno
Terminalyes
Player titleGame couldn't load
Player messageRefresh and try again.
Operator descriptionRuntime envelope identity mismatch: a supplied room, player session or deployment coordinate differs from the authenticated connection.

game_connection_payload_too_large

FieldValue
Categoryschema_violation
Dispositionmalformed
Retryableno
Terminalyes
Player titleGame couldn't load
Player messageThe game sent too much data. Refresh and try again.
Operator descriptionInbound envelope exceeds RUNTIME_GATEWAY_POLICY.maxEnvelopeBytes.

runtime_protocol_unsupported

FieldValue
Categoryrelease_mismatch
Dispositionstale_release
Retryableno
Terminalyes
Player titleUpdate to keep playing
Player messageThis game connection is out of date. Refresh and try again.
Operator descriptionClient protocol version does not equal server RUNTIME_PROTOCOL_VERSION.

runtime_engine_contract

FieldValue
Categoryrelease_mismatch
Code familyprefix runtime_engine_contract_
Dispositionstale_release
Retryableno
Terminalyes
Player titleGame version not supported
Player messageThis game version is not supported yet. Refresh and try again.
Operator descriptionEngine-contract mismatch. Code is a prefix family: runtime_engine_contract_<suffix>.

runtime_admission_missing

FieldValue
Categoryrelease_mismatch
Dispositionstale_release
Retryableno
Terminalyes
Player titleGame unavailable
Player messageThis game has no published release for this environment yet. Try again soon.
Operator descriptionVersioned admission: no versioned release for the requested environment (VersioningV1Error).

runtime_admission_superseded

FieldValue
Categoryrelease_mismatch
Dispositionstale_release
Retryableyes
Terminalyes
Player titleUpdate to keep playing
Player messageThis game was updated to a newer version. Refresh and try again.
Operator descriptionVersioned admission: pinned deployment was superseded by a newer release. A fresh attempt admits to the new release.

runtime_target_unhealthy

FieldValue
Categoryrelease_mismatch
Dispositionstale_release
Retryableyes
Terminalno
Player titleGetting the game ready
Player messageThe game runtime is not ready yet. Try again in a moment.
Operator descriptionVersioned admission: target deployment is not healthy yet.

runtime_admission_incoherent

FieldValue
Categoryrelease_mismatch
Dispositionstale_release
Retryableno
Terminalyes
Player titleGame needs attention
Player messageThis game's release needs attention before it can start. Try again soon.
Operator descriptionVersioned admission: the release resolved to an incoherent state and cannot start.

admission_identity_required

FieldValue
Categoryauth
Dispositiondenied
Retryableyes
Terminalyes
Player titleSign in to play
Player messageWe couldn't confirm your session. Sign in to continue.
Operator descriptionAdmission policy: the principal carried no account identity; the player shell retries once through guest start before surfacing this.

admission_account_required

FieldValue
Categoryauth
Dispositiondenied
Retryableno
Terminalyes
Player titleAccount required
Player messageThis game requires an account. Sign in or create one to play.
Operator descriptionAdmission policy: the deployment denies guest accounts and the participant is a guest account.

admission_banned

FieldValue
Categoryauth
Dispositiondenied
Retryableno
Terminalyes
Player titleYou can't join this game
Player messageYour account can't join this game right now.
Operator descriptionAdmission: an active ban (deployment, game or platform scope) matched the participant's account, device or network coordinates.

admission_account_too_new

FieldValue
Categoryauth
Dispositiondenied
Retryableno
Terminalyes
Player titleAccount too new
Player messageThis game is open to established accounts. Try again once your account is a little older.
Operator descriptionAdmission policy: the account is younger than the deployment's minimum account age.

runtime_room_policy_invalid

FieldValue
Categoryrelease_mismatch
Dispositionstale_release
Retryableno
Terminalyes
Player titleGame unavailable
Player messageThis game is not available with those settings. Refresh and try again.
Operator descriptionRoom-creation request violated a non-capacity policy bound (tick/snapshot rate, snapshot > tick, unsupported region).

runtime_protocol_epoch_unservable

FieldValue
Categoryrelease_mismatch
Dispositionstale_release
Retryableno
Terminalyes
Player titleGame unavailable
Player messageThis game is not available right now. Try again in a moment.
Operator descriptionRoom's immutable authority protocol epoch has no corridor for the requested operation. Operator/deployment invariant violation; no retry advances an immutable epoch.
FieldValue
Categoryrelease_mismatch
Dispositionstale_release
Retryableno
Terminalyes
Player titleGame link is out of date
Player messageThis game link points to an older version. Refresh and try again.
Operator descriptionCredential game/room/deployment scope mismatch (verifyRuntimePlayerCredential game/room/deployment checks). Stale link, not auth fraud.

game_not_found

FieldValue
Categoryrelease_mismatch
Dispositionstale_release
Retryableno
Terminalyes
Player titleGame not found
Player messageCheck the link and try again.
Operator descriptionRequested game or deployment does not resolve (deployment not found / resource not found).

runtime_snapshot_timeout

FieldValue
Categoryboot_failure
Dispositionbooting
Retryableyes
Terminalno
Player titleGame world is taking too long
Player messageThe server accepted you, but the first playable world update has not arrived.
Operator descriptionFirst full snapshot did not arrive within the boot deadline. Terminal only once the transport is disconnected (applied FE-side).

runtime_delta_gap

FieldValue
Categoryboot_failure
Dispositionbooting
Retryableyes
Terminalno
Player titleGame world is taking too long
Player messageThe server accepted you, but the first playable world update has not arrived.
Operator descriptionA delta arrived with a sequence gap before the first playable frame. Terminal only once the transport is disconnected (applied FE-side).

runtime_delta_without_snapshot

FieldValue
Categoryboot_failure
Dispositionbooting
Retryableyes
Terminalno
Player titleGame world is taking too long
Player messageThe server accepted you, but the first playable world update has not arrived.
Operator descriptionA delta arrived before any baseline snapshot. Terminal only once the transport is disconnected (applied FE-side).

runtime_resync_failed

FieldValue
Categoryboot_failure
Dispositionbooting
Retryableno
Terminalyes
Player titleGame couldn't load
Player messageRefresh and try again.
Operator descriptionWarm-resume resync failed to weld to the replay window.

runtime_play_session_timeout

FieldValue
Categoryboot_failure
Dispositionbooting
Retryableno
Terminalyes
Player titleGame couldn't load
Player messageRefresh and try again.
Operator descriptionPlay-session boot exceeded its deadline.

runtime_play_session_failed

FieldValue
Categoryboot_failure
Dispositionbooting
Retryableno
Terminalyes
Player titleGame couldn't load
Player messageRefresh and try again.
Operator descriptionPlay-session boot failed terminally.

rejected_terminal_policy

FieldValue
Categoryboot_failure
Dispositionbooting
Retryableno
Terminalyes
Player titleGame couldn't load
Player messageRefresh and try again.
Operator descriptionAdmission rejected under a terminal policy: no retry can satisfy it.

game_admission_blocked

FieldValue
Categoryboot_failure
Dispositionbooting
Retryableno
Terminalyes
Player titleGame needs an update
Player messageThis game needs an update before it can start. Try again soon.
Operator descriptionContent admission gate (e.g. a ProjectAsset lineage receipt / backfill) blocks any session start until the game's stored content is updated.

game_content_not_publishable

FieldValue
Categoryboot_failure
Dispositionbooting
Retryableno
Terminalyes
Player titleGame couldn't load
Player messageOne of this game's assets isn't stored durably yet. Re-import the asset or finish its upload, then try again.
Operator descriptionImmutable publication refused the content-version mint: a runtime asset variant lacks immutable byte identity (versionless s3 reference, null object version, or identity disagreement). The server log names the asset and variant.

runtime_compute_unavailable

FieldValue
Categoryoverload
Dispositionshedding
Retryableyes
Terminalno
Player titleGame is busy
Player messageThe game is getting ready. Please try again in a moment.
Operator descriptionCanonical compute admission, worker failure or deadline prevented snapshot preparation. Retry the same idempotent admission; never run the snapshot on the serving loop.

runtime_handshake_budget

FieldValue
Categoryoverload
Dispositionshedding
Retryableyes
Terminalno
Player titleToo many attempts
Player messageThe game is busy. Wait a moment and try again.
Operator descriptionHandshake admission budget exceeded (WS 1013). Client honors retryAfterMs under the reconnect jitter.

runtime_command_rate_limited

FieldValue
Categoryoverload
Dispositionshedding
Retryableyes
Terminalno
Player titleSlow down
Player messageYou're sending input too fast. It will catch up in a moment.
Operator descriptionPer-connection command pressure budget exceeded (connection-scope reject).

runtime_room_pressure_shedding

FieldValue
Categoryoverload
Dispositionshedding
Retryableyes
Terminalno
Player titleGame is busy
Player messageThe game is under heavy load and may feel choppy for a moment.
Operator descriptionRuntime ingress or room pressure exceeded: reject before admission, resumably close an overloaded raw socket (WS 1013), or shed low-priority room replication / use thin snapshots.

runtime_shard_shedding

FieldValue
Categoryoverload
Dispositionshedding
Retryableyes
Terminalno
Player titleGame is busy
Player messageThe game is under heavy load and may feel choppy for a moment.
Operator descriptionShard-level overload ladder active (thin snapshots / reduced rate / paused non-essential lanes / joins refused). Shard-scope shed; per-room order composes underneath.

game_full

FieldValue
Categorycapacity
Dispositionat_capacity
Retryableyes
Terminalyes
Player titleGame is full
Player messageTry again in a little while.
Operator descriptionRoom fan-out or per-room player cap exhausted. Overflow is retryable (queues in P2), so terminal-but-retryable.

runtime_shard_over_budget

FieldValue
Categorycapacity
Dispositionat_capacity
Retryableyes
Terminalyes
Player titleGame is full
Player messageTry again in a little while.
Operator descriptionPlacement refused: per-instance or per-shard room/player budget exhausted (capacity floor, D14). A fresh attempt admits once a room closes and frees budget.

game_connection_rate_limited

FieldValue
Categoryrate_limited
Dispositionthrottled
Retryableyes
Terminalno
Player titleToo many attempts
Player messageWait a moment and try again.
Operator descriptionConnection-attempt rate limit for this principal/IP.

game_connection_failed

FieldValue
Categorytransport
Dispositiontransport
Retryableyes
Terminalyes
Player titleGame couldn't load
Player messageThe game connection failed. Try again.
Operator descriptionGeneric transport failure. Post-taxonomy this is rare: an UNTYPED error at the boundary maps to runtime_internal, not here.

runtime_liveness_reaped

FieldValue
Categorytransport
Dispositiontransport
Retryableyes
Terminalno
Player titleReconnecting
Player messageThe game connection dropped. Reconnecting now.
Operator descriptionLiveness ping/pong reaped a half-open socket (WS 1008 gateway_liveness_timeout). Resumable.

runtime_transport_dropped

FieldValue
Categorytransport
Dispositiontransport
Retryableyes
Terminalno
Player titleReconnecting
Player messageThe game connection dropped. Reconnecting now.
Operator descriptionAbnormal (1006) transport drop. Resumable via warm resume.

runtime_reconnect_exhausted

FieldValue
Categorytransport
Dispositiontransport
Retryableno
Terminalyes
Player titleConnection lost
Player messageWe couldn't reconnect to the game. Refresh and try again.
Operator descriptionClient reconnect attempt ceiling reached (bounded + full jitter, 03 section 4).

runtime_internal

FieldValue
Categorytransport
Dispositiontransport
Retryableno
Terminalyes
Player titleGame couldn't load
Player messageSomething went wrong. Refresh and try again.
Operator descriptionAn UNTYPED error reached the boundary: a missing coded throw. Logs loudly (logRuntimeGatewayLaunderedFallback); it signals a bug, not an accepted fallback path.

runtime_authority_recovering

FieldValue
Categorylifecycle
Dispositionlifecycle
Retryableyes
Terminalno
Player titleReconnecting
Player messageThe game connection is being restored.
Operator descriptionOwner-lease/routing transient (isRuntimeRecoverableAuthorityError).

runtime_authoritative_frame_conflict

FieldValue
Categorylifecycle
Dispositionlifecycle
Retryableyes
Terminalno
Player titleReconnecting
Player messageThe game connection is catching up.
Operator descriptionAuthority persistence conflict (Postgres 23505 unique violation). Reconciles forward.

runtime_session_ended

FieldValue
Categorylifecycle
Dispositionlifecycle
Retryableno
Terminalyes
Player titleGame session ended
Player messageThis game session has ended. Refresh to start a new one.
Operator descriptionPlayer session not found for credential (service.ts openGatewayConnection). Session lifecycle ended, not an auth failure.

runtime_superseded

FieldValue
Categorylifecycle
Dispositionlifecycle
Retryableno
Terminalyes
Player titlePlaying somewhere else
Player messageYou started playing in another tab or on another device. You can close this tab.
Operator descriptionOccupancy supersede (WS 4001, reason occupancy_superseded). A newer admission of the same Account departed this seat; the process-local registry or the backplane closed the socket. FE renders 'playing elsewhere' and never reconnects; never an auth failure (docs/cycles/occupancy-law/SPEC.md S13).

game_open_in_progress

FieldValue
Categorylifecycle
Dispositionlifecycle
Retryableyes
Terminalyes
Player titleGame is already open
Player messageClose the other tab or refresh this one to continue.
Operator descriptionStill-opening idempotency race (transient duplicate join). Retryable; a durable idempotency mismatch is a different, non-retryable outcome.

reconnect_or_exit

FieldValue
Categorylifecycle
Dispositionlifecycle
Retryableyes
Terminalno
Player titleReconnecting
Player messageThe game connection is being restored.
Operator descriptionLifecycle-continuable drain notice: a still-rendering game keeps drawing and rolls forward to the live deployment (INV3 active-never-fails).

game_server_starting

FieldValue
Categorylifecycle
Dispositionlifecycle
Retryableyes
Terminalno
Player titleGetting the game ready
Player messageThe game server is getting ready. Try again in a moment.
Operator descriptionRoom owner lease is not active yet (room warming up).

game_server_restarting

FieldValue
Categorylifecycle
Dispositionlifecycle
Retryableyes
Terminalno
Player titleServer is restarting
Player messageTry again in a moment.
Operator descriptionRoom draining / sleeping / recovering / restarting.

game_updating

FieldValue
Categorylifecycle
Dispositionlifecycle
Retryableyes
Terminalno
Player titleGame is updating
Player messageTry again in a moment.
Operator descriptionDeployment superseded by a redeploy in flight; rolls forward once the new deployment admits.

game_unavailable

FieldValue
Categorylifecycle
Dispositionlifecycle
Retryableyes
Terminalno
Player titleGame unavailable
Player messageCheck the link or try again in a moment.
Operator descriptionGame has no active deployment / no published world right now.

runtime_session_revoked

FieldValue
Categoryrevoked
Dispositionrevoked
Retryableno
Terminalyes
Player titleYou've been signed out
Player messageYour access to this game was ended. Sign in again to continue.
Operator descriptionExplicit revocation, fence loss, kick, ban, or logout-everywhere (03 section 3). The only non-supersede path to instant termination.

occupancy_conflict

FieldValue
Categorylifecycle
Dispositionlifecycle
Retryableyes
Terminalno
Player titleMoving your session
Player messageYour session is being moved. One moment.
Operator descriptionAn occupancy invariant refused a write (a partial unique index on Postgres, the mirrored predicate on the memory twin): a second live seat for the Account, a second live seat for a Profile in one room, or a duplicate live ticket, party membership, or match participant. Retry once; the retry observes the committed state (docs/cycles/occupancy-law/SPEC.md S4.1, I-01, I-02, I-15).

occupancy_client_mismatch

FieldValue
Categorylifecycle
Dispositionlifecycle
Retryableno
Terminalno
Player titleSession belongs to another window
Player messageThis seat is being driven from another window. Start playing here to take it over.
Operator descriptionA socket attach for a live seat came from a client instance that is not the seat's client instance. The client admits instead, which supersedes (docs/cycles/occupancy-law/SPEC.md S4.2, I-12).

admission_rate_limited

FieldValue
Categoryrate_limited
Dispositionthrottled
Retryableyes
Terminalno
Player titleSlow down
Player messageToo many attempts to join. Try again in a moment.
Operator descriptionThe admission budget keyed by Account or by network denied a seat-minting request; the response carries the retry delay (docs/cycles/occupancy-law/SPEC.md S10, I-18).

room_creation_rate_limited

FieldValue
Categoryrate_limited
Dispositionthrottled
Retryableyes
Terminalno
Player titleSlow down
Player messageToo many attempts to join. Try again in a moment.
Operator descriptionThe room-creation budget keyed by Account or by game denied a request that would have created a room; the response carries the retry delay (docs/cycles/occupancy-law/SPEC.md S10, I-18).

placement_not_client_owned

FieldValue
Categoryschema_violation
Dispositionmalformed
Retryableno
Terminalyes
Player titleUpdate to keep playing
Player messageThis game link is out of date. Refresh and try again.
Operator descriptionA public play request carried a client placement field (room key, shard, capacity, rates, region, join policy). Public placement derives from the deployment; a client defect, never a player action (docs/cycles/occupancy-law/SPEC.md S9, I-17).

identity_field_not_allowed

FieldValue
Categoryschema_violation
Dispositionmalformed
Retryableno
Terminalyes
Player titleUpdate to keep playing
Player messageThis game link is out of date. Refresh and try again.
Operator descriptionA human or guest principal supplied an identity field (player id) on a ticket, party, or admission request. Identity derives from the principal inside the occupancy authority; a client defect (docs/cycles/occupancy-law/SPEC.md S8, I-14).

runtime_request_conflict

FieldValue
Categoryschema_violation
Dispositionmalformed
Retryableno
Terminalyes
Player titleGame couldn't load
Player messageRefresh and try again.
Operator descriptionA mutation reused an idempotency key with a different request body (IdempotencyReplayConflictError). A durable mismatch, not the still-opening join race (game_open_in_progress): repeating the same request can never succeed, so it is never retryable.

runtime_request_invalid

FieldValue
Categoryschema_violation
Dispositionmalformed
Retryableno
Terminalyes
Player titleGame couldn't load
Player messageRefresh and try again.
Operator descriptionA mutation arrived without its required x-idempotency-key header (runtimeRequestInvalidError). A client contract defect, not a transient state: the same request can never succeed until the client sends the header, so it is never retryable.

observer_bound_exceeded

FieldValue
Categoryoverload
Dispositionshedding
Retryableyes
Terminalno
Player titleToo many views open
Player messageYou are already watching this room from too many places. Close one and try again.
Operator descriptionAn Account asked to observe one room past the observer bound, refused inside createObserverSession under the room lock on both twins. The bound is a policy value, not a literal (docs/cycles/occupancy-law/SPEC.md S8, I-16).

occupancy_connection_not_current

FieldValue
Categorylifecycle
Dispositionlifecycle
Retryableno
Terminalno
Player titleConnection replaced
Player messageAnother connection is driving this session now.
Operator descriptionThe occupancy fence refused a packet or a close from a socket that is not the seat's current connection (a superseded or replaced socket). Compared against the seat row, never a message; the stale socket closes on its own typed close (docs/cycles/occupancy-law/SPEC.md S5, I-08, I-09).
Was this helpful?Report an issueContact support

On this page