33Compatible with ** GABP v1.1** on wire major ** ` gabp/1 ` ** .
44
55GABS lets MCP-capable AI tools start games, check status, and call tools exposed
6- by GABP-compatible game mods .
6+ by GABP-compatible game integrations .
77
88If you are installing GABS from a release archive, start with ** Quick Start**
99below. If you want the full copy-paste setup guide, read the
@@ -18,7 +18,7 @@ to real games.
1818- Keep everything local by default
1919- Work with Claude Desktop, Codex CLI, and other MCP clients
2020- Support direct executables, Steam App IDs, Epic App IDs, and custom commands
21- - Mirror game-specific mod tools into MCP when the mod connects
21+ - Mirror game-specific tools into MCP when the bridge connects
2222
2323## Quick Start
2424
@@ -58,13 +58,13 @@ chmod +x gabs
5858
5959``` bash
6060# Interactive setup
61- gabs games add minecraft
61+ gabs games add factory
6262
6363# See saved game IDs
6464gabs games list
6565
6666# Show one game's saved config
67- gabs games show minecraft
67+ gabs games show factory
6868```
6969
7070The setup is interactive. In most cases you only need to answer:
@@ -76,7 +76,7 @@ The setup is interactive. In most cases you only need to answer:
7676 ` games.kill `
7777
7878For Steam and Epic games, ` stopProcessName ` is required. Example values:
79- ` RimWorldWin64 .exe` , ` RimWorld ` , or ` java ` .
79+ ` GameName .exe` , ` AdventureGame ` , or ` java ` .
8080
8181### 3. Add GABS to your AI client
8282
@@ -117,16 +117,16 @@ If your client disconnects after `tools/list` because it rejects a public tool's
117117[ Configuration Guide] ( docs/CONFIGURATION.md ) . Mirrored game tools are discovered
118118through ` games_tool_names ` and are not advertised in the public ` tools/list `
119119response.
120- If a game or mod starts slowly, you can also tune startup waits with the
120+ If a game or bridge starts slowly, you can also tune startup waits with the
121121` timeouts.startup ` section described in the
122122[ Configuration Guide] ( docs/CONFIGURATION.md ) .
123123
124124### 4. Try these prompts
125125
126126- "List my games"
127- - "Start RimWorld "
127+ - "Start AdventureGame "
128128- "Show the status of all games"
129- - "Stop Minecraft "
129+ - "Stop FactorySim "
130130
131131If you want a download-to-working walkthrough, use the
132132[ AI Client Setup Guide] ( docs/AI_CLIENT_SETUP.md ) .
@@ -138,28 +138,31 @@ If you want a download-to-working walkthrough, use the
138138- ** More than one AI session** : that is fine. GABS coordinates ownership per
139139 game so two live sessions do not both launch or attach to the same game by
140140 accident.
141- - ** Game mod cannot find bridge config** : the mod should first read
141+ - ** Game bridge cannot find bridge config** : the game-side bridge should first read
142142 ` GABP_SERVER_PORT ` , ` GABP_TOKEN ` , and ` GABS_GAME_ID ` , and only fall back to
143143 ` GABS_BRIDGE_PATH ` or ` ~/.gabs/<gameId>/bridge.json ` .
144+ - ** Confusing bridge state** : start with ` games_status ` . It compares the
145+ runtime file, bridge file, passive listener evidence, and process environment
146+ where the OS allows it, then returns diagnosis details and next actions.
144147
145148## How It Works
146149
147150Most users only need this mental model:
148151
149152- Your AI client starts ` gabs server `
150153- GABS starts or attaches to your game
151- - If the game mod speaks GABP, GABS mirrors that mod 's tools into MCP
154+ - If the game-side bridge speaks GABP, GABS mirrors that bridge 's tools into MCP
152155
153- Architecture details matter mainly if you are writing a mod or debugging a
156+ Architecture details matter mainly if you are writing a game-side bridge or debugging a
154157bridge issue.
155158
156159![ GABS Architecture] ( docs/architecture-flow.svg )
157160
158161```
159- AI Agent ← MCP → GABS ← GABP Client → GABP Server (Game Mod ) ← Game API → Game
162+ AI Agent ← MCP → GABS ← GABP Client → GABP Server (Game Bridge ) ← Game API → Game
160163```
161164
162- In the GABP layer, your mod is the server and GABS is the client.
165+ In the GABP layer, your game-side bridge is the server and GABS is the client.
163166
164167## Common MCP Tools
165168
@@ -172,8 +175,8 @@ tool names by default because some clients reject dots in tool names:
172175- ** ` games_stop ` ** - Stop a game gracefully
173176- ** ` games_kill ` ** - Force stop a game
174177- ** ` games_status ` ** - Check if a game is running
175- - ** ` games_connect ` ** - Reconnect to a running game's mod bridge
176- - ** ` games_tool_names ` ** - List mirrored game-specific tools after a mod connects
178+ - ** ` games_connect ` ** - Reconnect to a running game's game-side bridge
179+ - ** ` games_tool_names ` ** - List mirrored game-specific tools after a bridge connects
177180- ** ` games_tool_detail ` ** - Show the schema for one mirrored tool
178181- ** ` games_call_tool ` ** - Call a connected game tool through the stable core surface
179182
@@ -184,11 +187,11 @@ explicitly disable normalization in config.
184187For the full MCP surface and advanced behavior, see the
185188[ AI Integration Guide] ( docs/INTEGRATION.md ) .
186189
187- ## Game-Specific Tools from Mods
190+ ## Game-Specific Tools from Bridges
188191
189- When a GABP-compatible mod connects, GABS mirrors the mod 's canonical
192+ When a GABP-compatible bridge connects, GABS mirrors the bridge 's canonical
190193slash-delimited GABP tool names into strict-safe names such as
191- ` minecraft_inventory_get ` or ` rimworld_crafting_build ` . The public ` tools/list `
194+ ` factory_inventory_get ` or ` adventure_crafting_build ` . The public ` tools/list `
192195response stays core-only so clients do not churn on large game-specific tool
193196sets. Use ` games_tool_names ` for discovery, ` games_tool_detail ` for one schema,
194197and ` games_call_tool ` for the actual call. Direct mirrored MCP tools may still
@@ -197,10 +200,10 @@ dynamic `tools/list` refreshes.
197200
198201The usual discovery flow is:
199202```
200- AI: "Reconnect to RimWorld and show me its mod tools"
201- GABS: games_connect {"gameId": "rimworld "}
202- GABS: games_tool_names {"gameId": "rimworld ", "brief": true}
203- GABS: games_tool_detail {"tool": "rimworld_crafting_build "}
203+ AI: "Reconnect to AdventureGame and show me its game-specific tools"
204+ GABS: games_connect {"gameId": "adventure "}
205+ GABS: games_tool_names {"gameId": "adventure ", "brief": true}
206+ GABS: games_tool_detail {"tool": "adventure_crafting_build "}
204207```
205208
206209Most users can ignore attention gating, resource mirroring, and protocol
@@ -211,28 +214,31 @@ details until they need them. Those topics are covered in the dedicated docs.
211214- ** [ AI Client Setup Guide] ( docs/AI_CLIENT_SETUP.md ) ** - Install a release bundle and connect Claude Desktop, Codex CLI, or generic MCP clients
212215- ** [ Configuration Guide] ( docs/CONFIGURATION.md ) ** - Detailed setup for different game types and tool normalization
213216- ** [ AI Integration Guide] ( docs/INTEGRATION.md ) ** - Connect GABS to different AI tools and deployment scenarios
214- - ** [ Mod Development Guide] ( docs/MOD_DEVELOPMENT .md ) ** - Add GABP support to your game mods
217+ - ** [ GABP Bridge Development Guide] ( docs/GABP_BRIDGE_DEVELOPMENT .md ) ** - Add GABP support to your game integrations
215218- ** [ Advanced Usage Guide] ( docs/ADVANCED_USAGE.md ) ** - Multiple instances, HTTP mode, scripting, and more
216219- ** [ Deployment Guide] ( docs/DEPLOYMENT.md ) ** - Production deployments and cloud setups
217220- ** [ OpenAI Tool Normalization] ( docs/OPENAI_TOOL_NORMALIZATION.md ) ** - Configure tool name compatibility for OpenAI API
218221- ** [ Dynamic Tools Guide] ( docs/DYNAMIC_TOOLS_GUIDE.md ) ** - How AI agents handle expanding tool sets
219222- ** [ AI Dynamic Tools FAQ] ( docs/AI_DYNAMIC_TOOLS_FAQ.md ) ** - Common questions about dynamic tool discovery
220223
221- ## For Mod Developers
224+ ## For Bridge Developers
222225
223- Want your game to work with GABS? Add GABP support to your mod :
226+ Want your game to work with GABS? Add GABP support to your game-side bridge :
224227
2252281 . ** Read GABP configuration** from environment variables when your game starts:
226229 - ` GABS_GAME_ID ` - Your game's identifier
227- - ` GABP_SERVER_PORT ` - Port your mod should listen on
230+ - ` GABP_SERVER_PORT ` - Port your game-side bridge should listen on
228231 - ` GABP_TOKEN ` - Authentication token for GABS connections
229232 - ` GABS_BRIDGE_PATH ` - Optional ` bridge.json ` fallback/debug path
230- 2 . ** Start a local GABP server** to listen for GABS connections (your mod = server, GABS = client)
233+ Environment values are authoritative when present. ` bridge.json ` is a
234+ fallback/debug file so agents can recover or inspect state, not an override
235+ for fresh ` GABP_* ` values.
236+ 2 . ** Start a local GABP server** to listen for GABS connections (your game-side bridge = server, GABS = client)
2312373 . ** Implement the current GABP runtime methods** (` session/hello ` , ` tools/list ` , ` tools/call ` ) or use the official ` gabp-runtime ` library so your schemas match what GABS expects
232238 - For GABP v1.1 bridges, advertise optional attention support through capabilities before exposing ` attention/current ` , ` attention/ack ` , and the attention lifecycle channels
2332394 . ** Expose game features** as tools, resources, and events using canonical GABP tool names such as ` inventory/get ` or ` core/ping `
234240
235- See the [ Mod Development Guide] ( docs/MOD_DEVELOPMENT .md ) for complete examples in C#, Java, and Python.
241+ See the [ GABP Bridge Development Guide] ( docs/GABP_BRIDGE_DEVELOPMENT .md ) for complete examples in C#, Java, and Python.
236242
237243## Build from Source
238244
0 commit comments