Expand description
Shared types used in protocol messages.
These types are used by both client and server messages and represent the core data structures of the game.
Structs§
- Admin
Game Info - Admin game info (for admin panel).
- BotSpec
- One bot seat requested for a custom game.
- Build
Info - Build provenance for one artifact (frontend or backend). The wire contract
for the backend’s
GET /api/version, and the shape the frontend mirrors for its own baked-in info. Every field degrades to"unknown"(ordirty=false) rather than failing a build, so a build without git context still produces a well-formed value. - Custom
Meta - Marker payload for a custom (sandbox) game. Empty for now; a struct (not a bare bool) so we can carry custom metadata later without a wire break.
- Debug
Player Info - Player info in debug state response.
- Debug
Websocket Context - WebSocket connection context in debug state response.
- Event
Config - Random-event config for a custom (sandbox) game. Absent for FFA/Adventure.
- Game
Config - Configuration options for starting a new game.
- Game
Player Info - Player info specifically for
GameStartedmessage (includes turn order). - Game
Snapshot - Complete snapshot of the game state.
- Game
Summary - Summary of a game visible from the lobby.
- Grid
Cell - A single cell in the game grid.
- Level
Targets - Per-level score thresholds for Adventure Mode star awards.
- Lobby
Game Info - Game info as shown in lobby games list.
- Lobby
Game Player Info - Player info in lobby game list (simplified).
- Lobby
Player Info - Player information in the lobby (pre-game).
- News
Item Payload - A news/notification item as sent over the wire (server → client).
- Player
Info - Player information during a game.
- Player
Name - What to call a player, in the context this message was sent in.
- Position
- Grid position (row, column).
- Rune
BoxStanding - One player’s standing in a RuneBox match, as of the end of some round.
- Score
Info - Score information for results/leaderboards.
- Spectator
Info - Spectator information.
Enums§
- Adventure
Event Kind - Adventure Mode random-event kinds. Carried on
ServerMessage::AdventureEvent. - BotDifficulty
- Bot difficulty on the wire. Lowercase to match the backend’s
game_players.bot_difficultyCHECK constraint (easy|medium|hard). - Debug
Backend Game State - Backend game state in debug state response.
- Debug
Handler Game State - Handler game state in debug state response.
- Debug
Lobby State - Lobby state in debug state response.
- Error
Code - Standard error codes for protocol errors.
- Game
Change - Changes to game state (for delta updates).
- Game
Mode - Game mode variants.
- Game
State - High-level game state (not the full game data).
- Game
Type - Game type for game pools within a lobby.
- Lobby
Change - Changes to lobby state (for delta updates instead of full snapshots).
- Lobby
Type - Type of lobby - determines how players join.
- Multiplier
- Letter multiplier on a grid cell.
- News
Notification Type - Type of news notification. Mirrors the canonical values the backend
stores in
news.notification_type(validated against theALLOWED_NOTIFICATION_TYPESlist at the API boundary). - Rematch
Countdown State - State of the auto-rematch countdown after a game ends.
- Timer
Vote State - State of the timer vote system.
Type Aliases§
- Grid
- The 5x5 game grid.