A CS2 community server that won't list usually lacks a Game Server Login Token or has a blocked port. Here's the fix, plus the console connect and the sv_lan / insecure-mode traps.
Quick answer
A CS2 community server that does not show in the browser is almost always missing a valid Game Server Login Token (set it with +sv_setsteamaccount) or has port 27015 blocked for UDP and TCP. Also check that sv_lan is 0 and the server is not running with -insecure. Players can still join from the console with connect ip:27015.
A CS2 community server that won't appear in the browser almost always comes down to one of two things: a missing or invalid Game Server Login Token (GSLT), or a blocked port. Work through the checks below in order — the first two fix the large majority of cases.
Open the ports
CS2 uses the game port for both protocols. Make sure these are open on the host firewall and forwarded if you're behind a router:
| Port | Protocol | Purpose |
|---|---|---|
| 27015 | UDP | Main game traffic (required) |
| 27015 | TCP | RCON / browser query (default) |
| 27020 | UDP | SourceTV / GOTV relay (optional) |
You need a GSLT
Public Source/CS2 servers require a free Game Server Login Token from Steam to appear in the browser. Generate one (app 730) and pass it on launch:
+sv_setsteamaccount YOUR_GSLT_TOKENConnect directly
Open the console (enable it in settings) and connect by IP — works even before it lists:
connect server-ip:27015Each public server needs its own GSLT. Reusing one token across servers, or an expired/banned token, stops a server listing.
Open 27015, set a valid GSLT with sv_setsteamaccount, and use "connect ip:port" in console to get in.
Step-by-step diagnostic
If it still won't list after the ports and token, run through these in order — each rules out a common cause:
- Confirm the server console shows the GSLT was accepted on startup (no token-invalid warning).
- Try
connect server-ip:27015in your own console. If that works, the server is fine and only the listing is the problem — usually the token or a query-port block. - Check
sv_lanis0; if it's1the server is local-only. - Confirm you didn't launch with
-insecure(that hides it from the VAC-secure browser most players use). - Verify the host OS firewall allows 27015, not just the router — a forwarded-but-firewalled port is a classic trap.
Other reasons it won't list
sv_lanis accidentally set to 1, which restricts the server to local network visibility only.- The server was launched with
-insecure, which disables VAC and can keep it out of the secure server browser most players filter for. - A duplicate hostname or an empty
hostnameconvar confuses the browser cache. - The host's OS firewall blocks 27015 even though the router forwards it.
How to prevent it
- Keep a dedicated GSLT per server and note its expiry/ban status if you ever run several servers.
- Don't launch a public server with
-insecureunless you specifically intend to run it VAC-disabled. - Verify listing with our server status checker after any launch parameter change.
Related errors
If players connect but get kicked for anti-cheat reasons, see fixing "VAC was unable to verify your game session". For consistency/model errors on join, see fixing "server is enforcing consistency". For setting one up from scratch, see how to make a CS2 server.
Counter-Strike, Steam, VAC and the Source engine are trademarks of Valve Corporation. ESAGAMES is an independent hosting provider, not affiliated with or endorsed by Valve. You must own a legitimate copy of the game.