GGZ Gaming Zone Client/Game Client Protocol Specification

The GGZ Gaming Zone developers


Module protocol specification for GGZ Gaming Zone game clients. This document covers the communication between the GGZ core clients and the game client modules.

Table of Contents
1. The Protocol
1.1. Startup
1.2. Connected phase
1.3. Pregame phase
1.4. Playing phase
1.5. Done phase
A. Protocol Reference
A.1. Messages from the core client to game client
GAME_LAUNCH -- Initializes the game client
GAME_SERVER -- Tells the game where to connect to
GAME_SERVER_FD -- Informs the game client about its connection to the game server
GAME_PLAYER -- Assigns the player's seat on the table
GAME_SEAT -- Assigns one single seat on the table
GAME_SPECTATOR_SEAT -- Assigns one single spectator seat on the table
GAME_CHAT -- Message from a player on the table
GAME_STATS -- Statistics about a player
GAME_INFO -- Information about a seat
A.2. Messages from game client to core client
GAME_STATE -- Indicate state change
STAND -- Request to stand up from table and become spectator
SIT -- Request to sit down and become a player again
BOOT -- Boot a player from the table
BOT -- Reqest for a bot joining the table
OPEN -- Open up a previously reserved seat
CHAT -- Send a chat message
INFO -- Request seat or player information
A.3. Symbolic identifiers and their values
ControlToTable -- Opcodes from GGZ core client to the game client module
TableToControl -- Opcodes from game client module to GGZ core client
GGZSeatType -- Possible seat assignments for a table
GGZModState -- Possible game states for a game client