xpay tools logo
  • Tools
  • Collections
  • Skills
  • Docs
  • xpay.sh
Tool Skill
M

Query Master Server

query_master_server

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.

$0.02/call
Flat rate
Mcps
Raw SKILL.mdTool Page

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:

  1. xpay_details — Get full input schema: xpay_details("quakelive/query_master_server")
  2. xpay_run — Execute: xpay_run("quakelive/query_master_server", { ...inputs })

Input Parameters

ParameterTypeRequiredDescription
dedicatedboolean,nullNoOnly 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.
offsetinteger,nullNoSkip this many addresses before returning results. Defaults to 0.
no_botsboolean,nullNoExclude servers that have any bots (true). Triggers an A2S_INFO probe per server.
master_addressstring,nullNoSteam master server address in host:port form. Defaults to "hl2master.steampowered.com:27011". Multiple DNS A-records exist behind this hostname.
secureboolean,nullNoOnly return VAC anti-cheat secured servers (true). Maps to \\secure\\1.
max_serversinteger,nullNoStop collecting after this many unique server addresses. The master may return thousands; this caps the result. Defaults to 500.
min_playersinteger,nullNoOnly 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_concurrencyinteger,nullNoMaximum number of A2S_INFO probes to run concurrently. Clamped to [1, 200]. Defaults to 50. Higher values finish faster but consume more sockets.
extra_filterstring,nullNoRaw 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_playersboolean,nullNoOnly 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_protectedboolean,nullNoFilter by password requirement. true = only password-protected servers; false = only open servers. Omit to include both. Maps to \\password\\1 or \\password\\0.
linuxboolean,nullNoOnly return Linux-hosted servers (true). Maps to \\linux\\1.
limitinteger,nullNoMaximum number of addresses to include in the response. Defaults to all collected addresses.
gametype_tagsarray,nullNoOnly 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_playersinteger,nullNoOnly 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_namestring,nullNoCase-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_msinteger,nullNoPer-request receive timeout in milliseconds. Clamped to [500, 15000]. Defaults to 5000 ms.
regioninteger,nullNoOne-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_idinteger,nullNoSteam AppID used as the \\appid\\<id> filter. Defaults to 282440 (QuakeLive). Change to 2200 for Quake III Arena, or consult SteamDB for other titles.
mapstring,nullNoOnly return servers running this exact map name, e.g. "campgrounds" or "bloodrun". Maps to \\map\\<name>. Case-sensitive.
probe_timeout_msinteger,nullNoTimeout 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_balance to 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
// 1. Get full schema
xpay_details("quakelive/query_master_server")
// 2. Execute
xpay_run("quakelive/query_master_server", { ...inputs })
Input Parameters
ParameterTypeRequiredDescription

dedicated

booleannullNo

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

integernullNo

Skip this many addresses before returning results. Defaults to `0`.

no_bots

booleannullNo

Exclude servers that have any bots (`true`). Triggers an A2S_INFO probe per server.

master_address

stringnullNo

Steam master server address in `host:port` form. Defaults to `"hl2master.steampowered.com:27011"`. Multiple DNS A-records exist behind this hostname.

secure

booleannullNo

Only return VAC anti-cheat secured servers (`true`). Maps to `\\secure\\1`.

max_servers

integernullNo

Stop collecting after this many unique server addresses. The master may return thousands; this caps the result. Defaults to `500`.

min_players

integernullNo

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

integernullNo

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

stringnullNo

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

booleannullNo

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

booleannullNo

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

booleannullNo

Only return Linux-hosted servers (`true`). Maps to `\\linux\\1`.

limit

integernullNo

Maximum number of addresses to include in the response. Defaults to all collected addresses.

gametype_tags

arraynullNo

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

integernullNo

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

stringnullNo

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

integernullNo

Per-request receive timeout in milliseconds. Clamped to [500, 15000]. Defaults to `5000` ms.

region

integernullNo

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

integernullNo

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

stringnullNo

Only return servers running this exact map name, e.g. `"campgrounds"` or `"bloodrun"`. Maps to `\\map\\<name>`. Case-sensitive.

probe_timeout_ms

integernullNo

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.

Related Tools from Mcps
Add Player — $0.00Add Raw Snapshot — $0.00Add Server Command — $0.00Analyze Demo — $0.02Award Medal — $0.02Check Pvs — $0.02Classify Player Roles — $0.02Close Demo — $0.02
Install Skill
Claude Code
claude /install-skill https://xpay.tools/skills/quakelive/query-master-server/SKILL.md
CLI
npx @xpaysh/cli install quakelive/query-master-server
Manual
curl -o SKILL.md https://xpay.tools/skills/quakelive/query-master-server/SKILL.md
Pricing

Cost

$0.02/call

Model

Flat rate

Provider

Mcps

xpay tools logo

Marketplace for AI Capabilities. Run agents, tools & prompts with pay-per-use micropayments.

or ask your AI app
Popular Tools
FirecrawlTavilyExaHunterPerplexityRecraftIdeogramFlux
Collections
AI Image & MediaContent & ResearchDev ToolsFinanceLead GenWeb ScrapingCompetitive Intel
Developers
DocumentationAPI ReferenceQuickstartSDKsSkillsskill.mdllms.txt
Resources
The Agentic EconomyAgentic CommerceAgent Frameworksx402 ProtocolBlog
Company
About xpayxpay.shGitHubDiscordTwitter / X

© 2026 Agentically Inc. All rights reserved.
Privacy PolicyTerms of Service