Skip to main content

Module types

Module types 

Source
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§

AdminGameInfo
Admin game info (for admin panel).
BotSpec
One bot seat requested for a custom game.
BuildInfo
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" (or dirty=false) rather than failing a build, so a build without git context still produces a well-formed value.
CustomMeta
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.
DebugPlayerInfo
Player info in debug state response.
DebugWebsocketContext
WebSocket connection context in debug state response.
EventConfig
Random-event config for a custom (sandbox) game. Absent for FFA/Adventure.
GameConfig
Configuration options for starting a new game.
GamePlayerInfo
Player info specifically for GameStarted message (includes turn order).
GameSnapshot
Complete snapshot of the game state.
GameSummary
Summary of a game visible from the lobby.
GridCell
A single cell in the game grid.
LevelTargets
Per-level score thresholds for Adventure Mode star awards.
LobbyGameInfo
Game info as shown in lobby games list.
LobbyGamePlayerInfo
Player info in lobby game list (simplified).
LobbyPlayerInfo
Player information in the lobby (pre-game).
NewsItemPayload
A news/notification item as sent over the wire (server → client).
PlayerInfo
Player information during a game.
PlayerName
What to call a player, in the context this message was sent in.
Position
Grid position (row, column).
RuneBoxStanding
One player’s standing in a RuneBox match, as of the end of some round.
ScoreInfo
Score information for results/leaderboards.
SpectatorInfo
Spectator information.

Enums§

AdventureEventKind
Adventure Mode random-event kinds. Carried on ServerMessage::AdventureEvent.
BotDifficulty
Bot difficulty on the wire. Lowercase to match the backend’s game_players.bot_difficulty CHECK constraint (easy|medium|hard).
DebugBackendGameState
Backend game state in debug state response.
DebugHandlerGameState
Handler game state in debug state response.
DebugLobbyState
Lobby state in debug state response.
ErrorCode
Standard error codes for protocol errors.
GameChange
Changes to game state (for delta updates).
GameMode
Game mode variants.
GameState
High-level game state (not the full game data).
GameType
Game type for game pools within a lobby.
LobbyChange
Changes to lobby state (for delta updates instead of full snapshots).
LobbyType
Type of lobby - determines how players join.
Multiplier
Letter multiplier on a grid cell.
NewsNotificationType
Type of news notification. Mirrors the canonical values the backend stores in news.notification_type (validated against the ALLOWED_NOTIFICATION_TYPES list at the API boundary).
RematchCountdownState
State of the auto-rematch countdown after a game ends.
TimerVoteState
State of the timer vote system.

Type Aliases§

Grid
The 5x5 game grid.