Valve Master Servers: How Server Listing Actually Works

January 29, 2026 Daemon666 8 min read 4 просмотров

A server does not "appear" in the CS 1.6 browser by magic — it advertises itself to a master server, and clients ask that master for the list. When your server vanishes from the browser, one link in that chain is broken. Here is exactly how listing works and what each requirement is for.

1. The two halves: heartbeat and query

Server listing is a two-step system:

  1. Heartbeat (server → master). Your server periodically sends a small UDP packet to Valve's master server announcing "I exist, here is my address." The master records it in a live list.
  2. Query (client → master → server). When a player opens the internet tab, the client asks the master for the list of servers. The master returns addresses; the client then sends an A2S_INFO query directly to each server to fetch its name, map, and player count for the browser row.

So the master is a directory, not a proxy. It knows your address because you heartbeat it; the actual server details the player sees come from your server answering A2S queries directly.

2. What your server needs to heartbeat successfully

For the heartbeat to land and the listing to stick, three things must be true:

  • sv_lan 0 — with sv_lan 1 the server considers itself LAN-only and never heartbeats the internet master. This is the number-one reason a server is missing from the public list.
  • A valid Steam Game Server login token — modern listing expects the server to authenticate. You set it with the launch parameter:
-sv_setsteamaccount YOUR_GSLT_TOKEN

You generate the token (a GSLT) from Valve's Game Server Account management page. Some setups still list anonymously, but a valid token is the reliable path and avoids anonymous-listing limits.

  • Correct outbound UDP — the heartbeat is UDP leaving your box to Valve's master. A firewall or NAT that blocks outbound UDP, or that does not forward the server's own port back, stops both the heartbeat and the client's A2S query. Default game port is UDP 27015; it must be reachable inbound for the A2S_INFO step too.

3. The master server list on the server side

The engine ships with a list of master server addresses it heartbeats to. If Valve rotates a master hostname/IP, an old server binary can end up heartbeating a dead address and silently drop off every browser. This is what the master server VDF file handles — it lets you point the engine at current master addresses. On a ReHLDS server this is a common fix after Valve infrastructure changes.

4. Putting the chain together

For a player to see and join you, all of this must hold at once: sv_lan 0, a working token, outbound UDP for the heartbeat, a current master address list, and inbound UDP 27015 so the client's A2S_INFO reaches you. Break any one and the symptom is the same — "my server isn't in the list" — even though the cause differs. That is why the fix is a checklist, walked in fixing a server missing from the master list.

Common misconceptions

  • "The master server hosts my server info." No — the master only stores your address. Your server answers the A2S query directly with its name/map/players.
  • "I can connect by IP, so listing works." Direct connect bypasses the master entirely. Being joinable by IP proves inbound works but says nothing about the heartbeat; you can be fully playable and still invisible in the browser.
  • "sv_lan doesn't matter on a public box." It matters most there — sv_lan 1 suppresses the internet heartbeat completely.
  • "A token is optional." Anonymous listing exists but is limited; a GSLT via -sv_setsteamaccount is the dependable route.
  • "Missing from the list = server crashed." Usually it is running fine and just not heartbeating — check sv_lan, the token, and the master addresses before assuming a crash.

How to check on your server

First confirm the basics in the console:

sv_lan
heartbeat

sv_lan must read 0; heartbeat forces an immediate announce to the master so you do not wait for the timer. Then verify from outside your network — have someone use the internet tab and search your server name, or query the address with an external A2S tool, to prove both the listing and the direct query path work. If you are joinable by IP but never appear in the browser, the heartbeat side is the culprit: re-check sv_lan 0, the -sv_setsteamaccount token, outbound UDP, and the master address list.

Участники: Daemon666 ✦
Поделиться: