Query Master Server
query_master_serverDiscover live QuakeLive servers by querying Valve's Steam master server (`hl2master.steampowered.com:27011`). Since QuakeLive moved to Steam in 2015 all game servers register with Valve's Steam master instead of the old Quake 3 master (`master.quake3arena.com`). This tool uses the Steam Master Server Query Protocol to retrieve the full list of registered server addresses. Each address can then be passed to `send_connectionless_packet` with `getinfo` or `getstatus` for detailed per-server information. The master may return several hundred addresses split across multiple UDP packets. Each batch uses the last received address as the seed for the next request on the **same socket** (required by the protocol). Collection stops when the terminal sentinel `0.0.0.0:0` arrives or `max_servers` is reached. Default filter: `\\appid\\282440` (QuakeLive Steam AppID). **Master-level filters** (sent in the request, free): `has_players`, `map`, `gametype_tags`, `dedicated`, `secure`, `password_protected`, `linux`, `region`, `extra_filter`. **Per-server probe filters** (each server is queried individually — use `max_servers` to cap cost): A2S_INFO probes: `min_players`, `max_players`, `no_bots`; A2S_PLAYER probe: `player_name` (case-insensitive substring match against connected player names — pair with `has_players: true` to avoid probing empty servers). Control probe behaviour with `probe_timeout_ms` and `probe_concurrency`. Servers that do not respond are excluded.
When to Use
Use this tool when you need to discover live quakelive servers by querying valve's steam master server (hl2master.steampowered.com:27011).
since quakelive moved to steam in 2015 all game servers register with valve's steam master instead of the old quake 3 master (master.quake3arena.com). this tool uses the steam master server query protocol to retrieve the full list of registered server addresses. each address can then be passed to send_connectionless_packet with getinfo or getstatus for detailed per-server information.
the master may return several hundred addresses split across multiple udp packets. each batch uses the last received address as the seed for the next request on the same socket (required by the protocol). collection stops when the terminal sentinel 0.0.0.0:0 arrives or max_servers is reached.
default filter: \\appid\\282440 (quakelive steam appid).
master-level filters (sent in the request, free): has_players, map, gametype_tags, dedicated, secure, password_protected, linux, region, extra_filter.
per-server probe filters (each server is queried individually — use max_servers to cap cost): a2s_info probes: min_players, max_players, no_bots; a2s_player probe: player_name (case-insensitive substring match against connected player names — pair with has_players: true to avoid probing empty servers). control probe behaviour with probe_timeout_ms and probe_concurrency. servers that do not respond are excluded.. 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/query_master_server")xpay_run— Execute:xpay_run("quakelive/query_master_server", { ...inputs })
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
dedicated | boolean,null | No | Only return dedicated servers (true). Maps to the \\type\\d Steam filter clause. Most QuakeLive servers are dedicated; omit unless you specifically need to exclude listen servers. |
offset | integer,null | No | Skip this many addresses before returning results. Defaults to 0. |
no_bots | boolean,null | No | Exclude servers that have any bots (true). Triggers an A2S_INFO probe per server. |
master_address | string,null | No | Steam master server address in host:port form. Defaults to "hl2master.steampowered.com:27011". Multiple DNS A-records exist behind this hostname. |
secure | boolean,null | No | Only return VAC anti-cheat secured servers (true). Maps to \\secure\\1. |
max_servers | integer,null | No | Stop collecting after this many unique server addresses. The master may return thousands; this caps the result. Defaults to 500. |
min_players | integer,null | No | Only include servers with at least this many connected players. Triggers an A2S_INFO probe per server. Pair with max_servers to limit probe count. |
probe_concurrency | integer,null | No | Maximum number of A2S_INFO probes to run concurrently. Clamped to [1, 200]. Defaults to 50. Higher values finish faster but consume more sockets. |
extra_filter | string,null | No | Raw Steam master server filter clauses appended verbatim after all named filters, e.g. "\\\\napp\\\\440". Each clause must begin with \\. Use for filter options not covered by the named fields above. |
has_players | boolean,null | No | Only return servers that have at least one connected player. Maps to the \\empty\\1 Steam filter clause. Omit (or false) to include empty servers. |
password_protected | boolean,null | No | Filter by password requirement. true = only password-protected servers; false = only open servers. Omit to include both. Maps to \\password\\1 or \\password\\0. |
linux | boolean,null | No | Only return Linux-hosted servers (true). Maps to \\linux\\1. |
limit | integer,null | No | Maximum number of addresses to include in the response. Defaults to all collected addresses. |
gametype_tags | array,null | No | Only return servers whose Steam tags include all of the listed gametype strings (AND-match). Supply one or more tags. QuakeLive examples: ["ca"] (Clan Arena), ["ffa"] (Free-for-All), ["tdm"] (Team Deathmatch), ["duel"], ["ctf"] (Capture the Flag), ["1v1"], ["ft"] (Freeze Tag), ["harvester"], ["dom"] (Domination), ["ad"] (Attack & Defend), ["rr"] (Red Rover). Maps to \\gametype\\<t1>,<t2>,…. |
max_players | integer,null | No | Only include servers with at most this many connected players. Useful to find servers that are not full. Triggers an A2S_INFO probe per server. |
player_name | string,null | No | Case-insensitive substring to match against connected player names. Only servers that have at least one player whose name contains this string are returned. Triggers an A2S_PLAYER probe on every candidate server (uses the same probe_timeout_ms and probe_concurrency settings). Pair with has_players: true to skip empty servers before probing, which significantly reduces the number of individual queries sent. |
timeout_ms | integer,null | No | Per-request receive timeout in milliseconds. Clamped to [500, 15000]. Defaults to 5000 ms. |
region | integer,null | No | One-byte region code. 255 (0xFF) = all regions (default). 0 = US East, 1 = US West, 2 = South America, 3 = Europe, 4 = Asia, 5 = Australia, 6 = Middle East, 7 = Africa. |
app_id | integer,null | No | Steam AppID used as the \\appid\\<id> filter. Defaults to 282440 (QuakeLive). Change to 2200 for Quake III Arena, or consult SteamDB for other titles. |
map | string,null | No | Only return servers running this exact map name, e.g. "campgrounds" or "bloodrun". Maps to \\map\\<name>. Case-sensitive. |
probe_timeout_ms | integer,null | No | Timeout for each individual A2S_INFO probe in milliseconds. Clamped to [100, 5000]. Defaults to 1000 ms. Servers that do not reply within this window are excluded from results when probe filters are active. |
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/query-master-server/
- Provider: https://xpay.tools/quakelive/
- All tools: https://xpay.tools/explore
How to Execute
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
dedicated | booleannull | No | Only return dedicated servers (`true`). Maps to the `\\type\\d` Steam filter clause. Most QuakeLive servers are dedicated; omit unless you specifically need to exclude listen servers. |
offset | integernull | No | Skip this many addresses before returning results. Defaults to `0`. |
no_bots | booleannull | No | Exclude servers that have any bots (`true`). Triggers an A2S_INFO probe per server. |
master_address | stringnull | No | Steam master server address in `host:port` form. Defaults to `"hl2master.steampowered.com:27011"`. Multiple DNS A-records exist behind this hostname. |
secure | booleannull | No | Only return VAC anti-cheat secured servers (`true`). Maps to `\\secure\\1`. |
max_servers | integernull | No | Stop collecting after this many unique server addresses. The master may return thousands; this caps the result. Defaults to `500`. |
min_players | integernull | No | Only include servers with **at least** this many connected players. Triggers an A2S_INFO probe per server. Pair with `max_servers` to limit probe count. |
probe_concurrency | integernull | No | Maximum number of A2S_INFO probes to run concurrently. Clamped to [1, 200]. Defaults to `50`. Higher values finish faster but consume more sockets. |
extra_filter | stringnull | No | Raw Steam master server filter clauses appended verbatim after all named filters, e.g. `"\\\\napp\\\\440"`. Each clause must begin with `\\`. Use for filter options not covered by the named fields above. |
has_players | booleannull | No | Only return servers that have at least one connected player. Maps to the `\\empty\\1` Steam filter clause. Omit (or `false`) to include empty servers. |
password_protected | booleannull | No | Filter by password requirement. `true` = only password-protected servers; `false` = only open servers. Omit to include both. Maps to `\\password\\1` or `\\password\\0`. |
linux | booleannull | No | Only return Linux-hosted servers (`true`). Maps to `\\linux\\1`. |
limit | integernull | No | Maximum number of addresses to include in the response. Defaults to all collected addresses. |
gametype_tags | arraynull | No | Only return servers whose Steam tags include **all** of the listed gametype strings (AND-match). Supply one or more tags. QuakeLive examples: `["ca"]` (Clan Arena), `["ffa"]` (Free-for-All), `["tdm"]` (Team Deathmatch), `["duel"]`, `["ctf"]` (Capture the Flag), `["1v1"]`, `["ft"]` (Freeze Tag), `["harvester"]`, `["dom"]` (Domination), `["ad"]` (Attack & Defend), `["rr"]` (Red Rover). Maps to `\\gametype\\<t1>,<t2>,…`. |
max_players | integernull | No | Only include servers with **at most** this many connected players. Useful to find servers that are not full. Triggers an A2S_INFO probe per server. |
player_name | stringnull | No | Case-insensitive substring to match against connected player names. Only servers that have at least one player whose name contains this string are returned. Triggers an A2S_PLAYER probe on every candidate server (uses the same `probe_timeout_ms` and `probe_concurrency` settings). Pair with `has_players: true` to skip empty servers before probing, which significantly reduces the number of individual queries sent. |
timeout_ms | integernull | No | Per-request receive timeout in milliseconds. Clamped to [500, 15000]. Defaults to `5000` ms. |
region | integernull | No | One-byte region code. `255` (0xFF) = all regions (default). `0` = US East, `1` = US West, `2` = South America, `3` = Europe, `4` = Asia, `5` = Australia, `6` = Middle East, `7` = Africa. |
app_id | integernull | No | Steam AppID used as the `\\appid\\<id>` filter. Defaults to `282440` (QuakeLive). Change to `2200` for Quake III Arena, or consult SteamDB for other titles. |
map | stringnull | No | Only return servers running this exact map name, e.g. `"campgrounds"` or `"bloodrun"`. Maps to `\\map\\<name>`. Case-sensitive. |
probe_timeout_ms | integernull | No | Timeout for each individual A2S_INFO probe in milliseconds. Clamped to [100, 5000]. Defaults to `1000` ms. Servers that do not reply within this window are excluded from results when probe filters are active. |
Install Skill
Pricing
Cost
$0.02/call
Model
Flat rate
Provider
Mcps

