Fix: My CS 1.6 Server Doesn't Show in the Internet Server List

November 5, 2025 Daemon666 8 min read 12 Aufrufe

Your server boots, you can connect to it by IP, but it never appears in the internet tab of the server browser. That is almost always one of three things: sv_lan is wrong, the server cannot reach the master server to heartbeat, or the master and clients cannot reach your game port to query it. Work them in order — the first is a one-line fix and rules out the most common cause.

1. sv_lan 0

With sv_lan 1 the engine never contacts the master list at all. It is the default reason a server is invisible. In server.cfg:

sv_lan 0

Set it in the config and pass +sv_lan 0 on the command line so nothing else can flip it back. Restart fully; sv_lan is read at startup for master registration.

2. Force a heartbeat and watch

The server announces itself to the master by sending a heartbeat. Trigger one manually and watch the console:

heartbeat

On a healthy server this produces master-server traffic. If nothing happens, the engine either thinks it is in LAN mode (step 1) or cannot route outbound to the master. Note that after the 2023 update, some old engine builds fail to reach the current master infrastructure at all — if you are on stock HLDS from years ago, move to ReHLDS, which is maintained against the live master servers.

3. Your game port must be reachable from the internet

The server browser does not just trust the heartbeat — it (and every client) queries your game port with an A2S_INFO request over UDP. If inbound UDP 27015 is blocked, the server may register but shows as unresponsive or never appears. Open it:

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

Then verify the port is actually reachable from outside your network — a local test proves nothing. Use an external A2S/UDP port checker against YOUR_PUBLIC_IP:27015, or ask someone off your network to connect by IP. See which ports to open for the full list.

4. NAT and public IP

If the box is behind NAT (a home connection, or a provider that hands you a private IP), the master sees your router's public address but the query never reaches the server unless UDP 27015 is forwarded to the machine's LAN IP. Forward it, and if the engine binds the wrong interface, pin it with -ip:

./hlds_run -game cstrike -ip 0.0.0.0 -port 27015 +sv_lan 0 ...

The full NAT walkthrough is in running a server behind NAT. A server on a proper VPS with a public IP skips this entirely.

5. Region and provider blocks

Set a sensible sv_region so the server lands in the right regional filter (an unset or wrong region can hide it from players filtering by continent):

sv_region 3

The region codes are the standard Valve set — 0 US East, 1 US West, 2 South America, 3 Europe, 4 Asia, 5 Australia, 6 Middle East, 7 Africa, 255 world. Pick the one your box actually sits in; a European server advertising itself as US East will still appear, but players filtering by their own region may never see it. Some budget hosts also block or rate-limit game UDP by default — if everything above checks out and it is still invisible, ask the provider directly whether they filter inbound UDP or the Steam master ports, because that is a wall no server-side setting can climb over.

Common errors

  • Reachable by direct connect but never in the list — classic sv_lan 1, or the heartbeat is not leaving the box. Steps 1 and 2.
  • Appears then disappears — intermittent outbound connectivity to the master, or the server is timing out A2S queries under load. Check for packet loss and query-flood protection set too aggressively.
  • Shows in the list but "server not responding" on click — inbound UDP 27015 is filtered; the master knows about it but clients cannot query it. Step 3.
  • Only friends on your LAN see it — NAT with no port forward, step 4.

Verification

In the console, status should show your public IP, not a 10.x/192.168.x address. From a machine on a different network, open the server browser, add the server to favourites by YOUR_PUBLIC_IP:27015, and confirm it shows as responsive with the correct map and player count. If favourites work but the internet tab does not after all of the above, the remaining variable is the provider — the engine side is correct. For the ground-up setup that avoids all of this, see the Linux install guide.

Mitwirkende: Daemon666 ✦
Teilen: