Generate Map
generate_mapGenerate a playable Quake III / QuakeLive BSP map file from a high-level JSON specification. The spec describes rectangular rooms, optional corridors connecting them, and game entities (spawn points, weapons, pickups). The output is a valid IBSP v47 binary that wolfcamql can load for demo playback. The spec JSON has these top-level fields (all optional except rooms): • name: map display name • sky: sky shader, e.g. "textures/skies/qlsky" • gravity: integer (default 800) • ambient: float 0.0–1.0 (default 0.15) • rooms: array of room objects (see below) • corridors: array of corridor objects • items: array of entity objects Room object fields: • id: string (required for corridor references) • mins + maxs: [x,y,z] absolute corners, OR • position [x,y,z] + size [w,d,h]: centre + dimensions (default size 512×512×256) • floor_texture, wall_texture, ceil_texture: shader names (optional) Corridor object fields: • from, to: room IDs to connect • width: corridor opening width (default 128) • height: corridor opening height (default: min room height) Item object fields: • classname: e.g. "info_player_deathmatch", "weapon_rocketlauncher" • origin: [x, y, z] • angle: yaw in degrees • any extra Q3 entity key-value pairs Common classnames: info_player_deathmatch, info_player_start, weapon_rocketlauncher, weapon_railgun, weapon_shotgun, weapon_lightning, weapon_plasma, item_health, item_health_large, item_armor_body, item_quad, item_haste, item_regen, item_flight, team_CTF_redspawn, team_CTF_bluespawn, team_CTF_redflag, team_CTF_blueflag
When to Use
Use this tool when you need to generate a playable quake iii / quakelive bsp map file from a high-level json specification. the spec describes rectangular rooms, optional corridors connecting them, and game entities (spawn points, weapons, pickups). the output is a valid ibsp v47 binary that wolfcamql can load for demo playback.
the spec json has these top-level fields (all optional except rooms): • name: map display name • sky: sky shader, e.g. "textures/skies/qlsky" • gravity: integer (default 800) • ambient: float 0.0–1.0 (default 0.15) • rooms: array of room objects (see below) • corridors: array of corridor objects • items: array of entity objects
room object fields: • id: string (required for corridor references) • mins + maxs: [x,y,z] absolute corners, or • position [x,y,z] + size [w,d,h]: centre + dimensions (default size 512×512×256) • floor_texture, wall_texture, ceil_texture: shader names (optional)
corridor object fields: • from, to: room ids to connect • width: corridor opening width (default 128) • height: corridor opening height (default: min room height)
item object fields: • classname: e.g. "info_player_deathmatch", "weapon_rocketlauncher" • origin: [x, y, z] • angle: yaw in degrees • any extra q3 entity key-value pairs
common classnames: info_player_deathmatch, info_player_start, weapon_rocketlauncher, weapon_railgun, weapon_shotgun, weapon_lightning, weapon_plasma, item_health, item_health_large, item_armor_body, item_quad, item_haste, item_regen, item_flight, team_ctf_redspawn, team_ctf_bluespawn, team_ctf_redflag, team_ctf_blueflag. This is part of the Mcps provider on xpay✦.
MCP Connection
Connect to xpay✦ to access this tool (and 87+ others):
{
"mcpServers": {
"xpay": {
"url": "https://mcp.xpay.sh/mcp?key=YOUR_API_KEY"
}
}
}
For Claude Code:
claude mcp add --transport http xpay "https://mcp.xpay.sh/mcp?key=YOUR_API_KEY"
How to Execute
Use the xpay✦ meta-tools to run this tool:
xpay_details— Get full input schema:xpay_details("quakelive/generate_map")xpay_run— Execute:xpay_run("quakelive/generate_map", { ...inputs })
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
output_path | string,null | No | Output .bsp file path. Relative paths resolve against DEMO_PATH. Auto-generated from the map name if omitted. |
spec | object | Yes | JSON object describing the map. Fields: name (string), sky (string, shader name), gravity (int, default 800), ambient (float 0–1, default 0.15), music (string, optional), rooms (array of room objects), corridors (array of corridor objects), items (array of entity objects). Room fields: id (string), mins [x,y,z] OR position [x,y,z] + size [w,d,h], floor_texture, wall_texture, ceil_texture (all optional strings). Corridor fields: from (room id), to (room id), width (float), height (float), floor_texture, wall_texture, ceil_texture. Item fields: classname (string, e.g. 'weapon_rocketlauncher', 'info_player_deathmatch'), origin [x,y,z], angle (float, yaw degrees), plus any extra Q3 entity keys. Example: {"rooms":[{"id":"main","position":[0,0,0],"size":[512,512,256]}], "items":[{"classname":"info_player_deathmatch","origin":[0,0,32]}]} |
Pricing
- Cost: $0.02/call
- Balance check: Use
xpay_balanceto check remaining credits - Get your API key at xpay.tools — $5 free credits included
Related Skills
- Mcps (all tools) — 88 tools
- Add Player — $0.00/call
- Add Raw Snapshot — $0.00/call
- Add Server Command — $0.00/call
- Analyze Demo — $0.02/call
- Award Medal — $0.02/call
Links
- Tool page: https://xpay.tools/quakelive/generate-map/
- Provider: https://xpay.tools/quakelive/
- All tools: https://xpay.tools/explore
How to Execute
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
output_path | stringnull | No | Output .bsp file path. Relative paths resolve against DEMO_PATH. Auto-generated from the map name if omitted. |
spec | object | Yes | JSON object describing the map. Fields: name (string), sky (string, shader name), gravity (int, default 800), ambient (float 0–1, default 0.15), music (string, optional), rooms (array of room objects), corridors (array of corridor objects), items (array of entity objects). Room fields: id (string), mins [x,y,z] OR position [x,y,z] + size [w,d,h], floor_texture, wall_texture, ceil_texture (all optional strings). Corridor fields: from (room id), to (room id), width (float), height (float), floor_texture, wall_texture, ceil_texture. Item fields: classname (string, e.g. 'weapon_rocketlauncher', 'info_player_deathmatch'), origin [x,y,z], angle (float, yaw degrees), plus any extra Q3 entity keys. Example: {"rooms":[{"id":"main","position":[0,0,0],"size":[512,512,256]}], "items":[{"classname":"info_player_deathmatch","origin":[0,0,32]}]} |
Install Skill
Pricing
Cost
$0.02/call
Model
Flat rate
Provider
Mcps

