Reference
Stable codes.
Show snapshot.lastError or the thrown code. Do not invent a parallel protocol.
| Code | Typical cause |
|---|---|
UNAUTHORIZED | No session or expired session |
FORBIDDEN | Authenticated but not allowed |
TENANT_MISMATCH | Project / room belong to another tenant |
PROJECT_SUSPENDED | Play and deploy are stopped |
ROOM_NOT_FOUND | Room gone or never existed |
ROOM_FULL | maxPlayers reached |
INVITE_INVALID | Not a Loki-issued code |
INVITE_EXPIRED | Code past TTL |
STALE_VERSION | Host state / action version conflict |
HOST_REQUIRED | Only the host may send this |
RATE_LIMITED | Slow down |
QUOTA_EXCEEDED | Account or project cap |
INVALID_MESSAGE | Envelope failed schema |
UNSUPPORTED_VERSION | Client/server protocol mismatch |
SERVICE_UNAVAILABLE | Runtime not ready |
SDK wrappers also use SynchronizedRoomError and RealtimeRoomError.