A Steam game server shows up in the browser only when three separate things work: the server has registered itself with Steam's master server, the player's client can reach the server's query port and get an answer, and the player's own filters let the result through. A server that people can join by IP but cannot find in the list has failed one of those three, and they have different fixes. Before any of that, check one thing: whether the game uses Steam's list at all, because a good number of popular games list through Epic, PlayFab, Cfx.re or their own service, and the Steam-side fixes do nothing for them.
This post takes the listing path apart in order. If you only need the port numbers, game server ports explained has the table; if players cannot join at all, even by IP, start with why players cannot connect to your server instead.
How a Steam server list is built#
The browser is not a live view of servers. It is assembled in two steps, by two different parties.
- Registration. When a server using the Steam game server API starts, it logs in to Steam - either anonymously or with a game server login token - and begins sending heartbeats. Steam's master server records the server's public address and its query port against the game's app id, along with a few flags: password, anti-cheat, region, tags.
- Query. When a player opens the browser, the client asks the master server for a list of addresses matching the game and the player's filters. Then the client itself sends a query packet to every address on the list and waits for answers. The name, map, player count and ping you see come from that direct query, not from Steam.
This split explains almost every listing complaint. A server that never registered is absent from the list entirely. A server that registered but does not answer queries is either absent or shown with no ping and no name, depending on the game. And a server that registered and answers is still invisible to a player whose ping filter or "not full" filter excludes it. The query itself is the A2S protocol, described in query ports and A2S.
Registration: the server never told Steam#
If the server is not registered, no amount of port work will make it appear. The causes, roughly in order of frequency:
The game's own "public" switch is off
Most games have a setting that decides whether to register at all. It is often off by default, or set to "friends only" by a template.
| Game | Setting | Listed when |
|---|---|---|
| Source games (CS2, TF2, Garry's Mod) | sv_lan in server.cfg | sv_lan 0 |
| Valheim | -public launch argument | -public 1 |
| Palworld | -publiclobby launch argument | present |
| Project Zomboid | Public in servertest.ini | Public=true |
| 7 Days to Die | ServerVisibility in serverconfig.xml | 2 (public); 1 is friends only, 0 unlisted |
| Factorio | visibility in server-settings.json | "public": true plus a factorio.com username and token |
A Source server with sv_lan 1 is a LAN server: it does not talk to the master server and refuses players from outside its subnet. It is the right setting for a LAN party and the wrong one everywhere else, and it turns up in copied configs more often than it should.
No login token, or a bad one
Several Steam games want a game server login token (GSLT) to register publicly. Counter-Strike 2 will not appear in the public list without one, and a token that was banned, deleted or created for the wrong app id behaves like no token. The server usually starts anyway, which is what makes this cause so time-consuming. On a Source-engine server the startup output tells you what happened:
Connection to Steam servers successful. Public IP is 203.0.113.10.Assigned persistent gameserver Steam ID [G:1:1234567].VAC secure mode is activated."Persistent" means the token was accepted. "Anonymous" means the server logged in without one, and depending on the game it will be listed with restrictions or not at all. A line saying the login failed means the token was rejected. Steam game server tokens covers creating one, which app id to use, and what gets a token banned.
The server cannot reach Steam
The server has to make outbound connections to Steam. On a hosted server this is almost never the problem; on a home server behind an aggressive outbound firewall, or a VDS where someone wrote a default-deny egress policy, it can be. If the startup log never says it connected to Steam, look at outbound rules before inbound ones. And occasionally it is Steam: during a Steam outage or maintenance window, registrations fail across the board. A quick look at whether other servers for the same game are listed settles that.
Query: Steam knows about it, the client cannot ask#
A registered server whose query port is unreachable produces the most confusing symptom: it may appear briefly, appear with no ping, or not appear at all, depending on how the game's browser handles a server that does not answer. Most in-game browsers drop servers that do not respond within a short timeout, so from the player's side it looks exactly like "not registered".
The causes are all variations of one thing - the query packet does not get an answer:
- The query port is not allocated or forwarded. Games where the query port differs from the game port - Valheim (
2457), Palworld (27015), Unturned (27015beside game port27016), Arma 3, DayZ, most Unreal games - need that second port open. People open the port they type into the connect box and forget the one the browser uses. - It is open on the wrong protocol. Steam queries are UDP.
- The game is answering on a different port from the one it registered. If you changed the query port in one place but not in the game's own setting, the master server holds a port nothing is listening on.
- The server is rate-limiting queries. Source servers cap how many queries they answer per address and in total (
sv_max_queries_sec,sv_max_queries_sec_global). Defaults are sensible; a config lowered during an attack and never restored will make the server look unresponsive to some browsers.
The test that settles it is to query the server yourself from another network, which takes one line with the tools in query ports and A2S. If you get a reply with the right name and player count, the server and the network are fine and the problem is on the client side.
The player's filters and the list's limits#
The server is registered and answers queries, and a player still says it is not there. Now the browser is the problem.
Ping filters. Many in-game browsers default to hiding servers above a latency threshold, and the Steam client's own browser (View, then Game Servers) has a latency filter too. A player in North America looking for a server in Germany with a "less than 100 ms" filter will never see it. Ask what filters are set before anything else.
"Not full", "has players" and "no password". A new server with zero players is hidden by "has players". A server with a join password is hidden by "not password protected". Both are default filters in some games.
Region. Source-engine servers report a region with sv_region, and the master server can filter on it. sv_region 3 is Europe and 255 is the whole world; a server reporting the wrong region can drop out of region-filtered lists. Not every game honours it, and newer titles largely ignore it, but it costs nothing to set correctly.
The list is long and the search is weak. Steam's master server returns a limited number of results per request, and in-game browsers often sort by ping and stop rendering after a few hundred entries. A small server with a generic name like "EU Survival" is lost in that list even when it is technically in it. Search for an unusual word from your server name. For Source games, sv_tags adds searchable tags - keep them short and honest.
It is simply slow. Some lists take minutes to pick up a new server. Valheim's community list is the famous case; ten minutes is not unusual. A server that restarts every few minutes because of a crash loop may never stay registered long enough to be seen.
Games that do not use the Steam list#
A large share of the "not in the Steam browser" questions are about games that never use it. For these, Steam-side checks are wasted time.
| Game | List service | What controls it |
|---|---|---|
| Minecraft (Java) | None - the client pings saved addresses | Nothing to register; share the address |
| FiveM | Cfx.re server list | sv_licenseKey; an empty sv_master1 hides the server |
| BeamMP | BeamMP backend | AuthKey and Private in ServerConfig.toml |
| Don't Starve Together | Klei lobby | Cluster token in cluster_token.txt |
| Valheim with crossplay | PlayFab | -crossplay; players also join by code |
| ARK: Survival Ascended | Epic Online Services | Shown under unofficial servers in game |
| Satisfactory | No public list | Players add the server by address in Server Manager |
| Terraria | No public list | Share the address |
The pattern for these is the same as for Steam - register, then answer queries - but the credentials and the endpoints differ. FiveM servers with an invalid licence key will not list; BeamMP servers with a missing auth key run privately; a DST server without a valid cluster token will not appear in the lobby. Each of those keys is something only you can supply, because it is tied to your account with that service. On RE:NODE, the games that need such a credential - CS2 and Unturned for a Steam token, FiveM for a Cfx.re key, Don't Starve Together for a Klei token, BeamMP for its auth key - are built straight away, and the install waits on the Setup tab until you paste it, rather than starting a server that will never be listed.
Diagnosing it in order#
Run these from the top and stop at the first one that fails.
- Join by direct address. If that fails, the problem is not the list. Go to connection troubleshooting.
- Read the startup log for the registration line. For Source games, the Steam connection and Steam ID lines above. For other games, look for the service connecting: Cfx.re heartbeat, BeamMP authentication, PlayFab session or join code, Klei token accepted.
- Check the public switch.
sv_lan,-public,Public=,ServerVisibility- whatever the game calls it. - Query the query port from outside. One command, covered in query ports and A2S. No reply means a port or protocol problem.
- Check the client filters. Latency, not full, has players, password, region.
- Search for something unusual in the name and wait. Ten minutes, not ten seconds.
When you add a favourite in the Steam client, use the query port where it differs from the game port. The Steam browser talks A2S to whatever port you give it, and learns the game port from the reply.
When you do not want to be listed#
Being listed is how strangers find you, and that includes the wrong strangers: scanners looking for open RCON, people looking for unpatched servers, and the occasional person who wants to flood something. For a private server among friends, the list adds nothing.
Turn the public switch off where the game has one (-public 0 for Valheim, ServerVisibility below 2 for 7 Days to Die), set a join password, and share the address or a Steam connect link with the people who should have it. sv_lan 1 is not the tool for this on an internet server: it refuses players from outside the local network, not just strangers. A server that is not listed is still reachable by anyone who knows or scans the address, so this is a reduction in noise, not a security boundary - what we do about attacks explains why the query port is the loudest thing you expose either way.
On RE:NODE the query port is part of the plan's allocations, shown with the game port on the server page, and added on the Network tab when a game needs one more. Valheim servers start with both UDP ports allocated; for other games, check the plan page for the port count before you choose.
FAQ#
Why can my friends join by IP but nobody can find the server?
Joining by IP uses the game port; the list uses registration plus the query port. If direct join works, the server and its game port are fine, and the fault is one of: the public switch is off, a login token is missing or rejected, the query port is closed, or the player's filters hide it.
How long does it take for a new server to appear in the list?
For most Steam games, a minute or two after the server finishes starting. Some lists are much slower - ten minutes is common for Valheim's community list - and a server that keeps restarting may drop out before it is picked up.
Does a password stop a server from being listed?
No. Password-protected servers are listed with a lock icon, but many browsers hide them by default with a "not password protected" filter. Players need to untick it, or use a direct connect or a favourite.
Can I make my server appear higher in the list?
Not in any honest way. Most browsers sort by ping, so the server appears higher to players who are close to it. A distinctive name, accurate tags and a real player count do more for being found than anything else.
Why does my server show 0 players when people are on it?
The player count comes from the query reply. If the query port answers but the game reports players slowly, or a mod changes how players are counted, the list can lag behind. If it always shows zero, check that the query is reaching this server and not another one on the same address.




Comments
Completely anonymous: no account, no email, no cookie. We store the name you type, the text and the time - nothing else. Links are limited and markup is not rendered.