Getting Your Server Listed in the Master Server List

December 17, 2025 Daemon666 8 min read 13 Aufrufe

Your server boots, you can connect by direct IP, but it never shows up when players refresh the internet tab. Appearing in the browser is a separate job from running the game: the server has to heartbeat to the master server, and the master has to be able to identify and reach it. Nearly every "my server isn't in the list" case comes down to one of a short list of causes. Work them in order.

1. Turn LAN mode off

This is the number-one cause. A LAN server never contacts the master. In server.cfg and on the command line:

sv_lan 0
./hlds_run -game cstrike -port 27015 +map de_dust2 +maxplayers 24 +sv_lan 0

With sv_lan 1 the engine skips all master-server communication and rejects internet clients. Set it to 0 and restart.

2. Make the public UDP port actually reachable

The master tells clients your IP:port, and clients then query that port directly over UDP. If the port is closed, you are "listed" but every query times out and you effectively vanish from the browser. Open UDP 27015 (or your chosen port) on both the host firewall and the provider's firewall:

sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp

UDP 27015 is gameplay and A2S queries; TCP 27015 is RCON. Also confirm your provider does not block inbound UDP by default — some do. Full breakdown: which ports to open.

3. Use a dedicated IPv4 address

A CS 1.6 server needs a dedicated public IPv4 for a clean master-list identity. When several servers share one IP on different ports, the master and clients struggle to tell them apart, and servers get merged, culled, or shown intermittently. If you are on a shared IP and your server flickers in and out of the list, this is very likely why. A dedicated IPv4 is not a luxury for a public server — it is a requirement. IPv6-only will not work; the GoldSrc master infrastructure is IPv4.

4. Bind to the right interface

On a multi-IP box, make the server heartbeat from the correct address by binding it explicitly:

./hlds_run -game cstrike -ip 203.0.113.10 -port 27015 -strictportbind \
  +map de_dust2 +maxplayers 24 +sv_lan 0

-strictportbind makes the server fail loudly if 27015 is taken instead of silently drifting to another port that your firewall rule does not cover.

5. Get the heartbeat working (Steam vs non-Steam)

Modern ReHLDS heartbeats to the Steam master. For that to work the server needs its Steam runtime files present — a missing steam_appid.txt or steamclient.so makes the server silently fall back to legacy heartbeats only, which many clients no longer see. Confirm those files exist in the server tree.

If you run a non-Steam server, you also need a non-Steam auth provider — Reunion (for ReHLDS) or dproto (for original HLDS) — configured to heartbeat to the master lists your players' clients use. Reunion refuses to load without a SteamIdHashSalt of at least 16 characters, so set that.

You can force a heartbeat from the console to test:

heartbeat

6. Fill in server identity cvars

A server with no hostname or an obviously broken config can be filtered out by clients. Set at minimum:

hostname "My CS 1.6 Server"
sv_contact "[email protected]"
sv_region 255      // 255 = world; or your continent code

sv_region controls which regional filter you appear under; 255 lists you worldwide.

Common errors

  • Connect-by-IP works, browser shows nothingsv_lan 1, or the master heartbeat is failing. Check steps 1 and 5.
  • Server flickers in and out of the list — shared IP (step 3) or an unreliable heartbeat; move to a dedicated IPv4.
  • Listed but every client times out joining — the UDP query port is firewalled (step 2). The master has your address but nobody can reach it.
  • Only legacy/non-Steam clients see it — missing Steam runtime files force legacy-only heartbeats. Restore steam_appid.txt/steamclient.so.
  • Wrong regionsv_region set to a continent that filters you out of your audience's default view. Use 255 while growing.

Verification

From a machine on a different network, add the server by IP in the Favorites tab — if the direct query returns your map and player count, the port is reachable. Then do an unfiltered internet refresh and search your hostname; it should appear within a minute or two of the server heartbeating. If direct query works but the internet search does not, the fault is the heartbeat (step 5), not the network. Still missing after all six steps? Work through the dedicated troubleshooting guide.

Mitwirkende: Daemon666 ✦
Teilen: