Puck Server Not Showing Up or Can't Connect? Fixes (2026)
Fix a Puck dedicated server that is missing from the server browser, says "Server is still starting", won't start, or that friends can't connect to on port 30609.
Updated Oct 1, 2026 · 5 min read
On this page
When a Puck server is missing from the browser or players cannot connect, the cause is almost always one of five things: the server is not set to public, a browser filter hides it, port 30609 is not open for both TCP and UDP, the server is still waiting for Puck's backend, or the config file is broken so it never started. This guide goes through each one in the order worth checking, using what the server log tells you.
Step 1: Read the server log
Before changing anything, look at the console or Logs/Puck.log. A healthy start ends with a line like:
Puck B1235 is ready to accept clients on 0.0.0.0:30609!
What you see instead points to the fix:
| Log shows | Go to |
|---|---|
| Server config is invalid ... refusing to start | Step 2 |
| Failed to start server on port 30609 (is the port already in use?) | Step 3 |
| Waiting for backend authentication... | Step 4 |
| Server mods: 0/2 ready | Step 4 |
| Ready line, but nobody can connect | Step 5 |
| Ready line, but not in the browser | Step 6 |
Step 2: Fix a broken server_config.json
Puck refuses to start when server_config.json is not valid, and logs the file, line and key that broke. The reader is strict, so these all stop the server:
- A trailing comma after the last item, such as
"level": "default",before the closing brace. - Comments of any kind.
- A number in quotes, like
"maxPlayers": "12", or text without quotes. - A mod
idwritten as a number instead of text in quotes.
Settings from older guides are a different trap: builds since May 2026 read server_config.json, not server_configuration.json, and silently ignore old keys like pingPort or adminSteamIds, so the server starts but your settings seem to vanish.
Fix the line the log names, or start again from the defaults in Puck server config explained. A broken game mode file does not stop the server, it falls back to default rules, so if your period length changes are ignored, check the log for a game mode config error.
Step 3: Port already in use
Another program, or a second copy of the server, already holds the port. On a self hosted machine, stop the other instance, or give each server its own port (30609, 30610 and so on) in its config. On Linux, ss -tulpn | grep 30609 shows what is using it.
Step 4: "Server is still starting"
Players see this message when they connect before the server is ready. A Puck server only opens to players once two things are done:
- It has signed in to Puck's backend. Until then the log repeats "Waiting for backend authentication". If this never finishes, the server cannot reach the internet, a firewall blocks outgoing connections, or Puck's backend is having problems. The server keeps retrying by itself.
- Every server mod has downloaded and enabled. The log counts them, for example "Server mods: 1/2 ready". A wrong Workshop id or a removed mod can hold this up. After a timeout the server lets players in anyway and logs which mods were still pending.
Give a fresh start a minute or two, especially the first start after adding mods.
Step 5: Players can't connect
The server is ready but connections fail or time out.
- Wrong address. Direct Connect has separate boxes for the IP and the port. Players often paste
IP:portinto the IP box. See how to join a Puck server. - Port only open for one protocol. Puck uses the same port number for UDP (gameplay) and TCP (ping and server details). Open both. With ufw:
sudo ufw allow 30609/tcpandsudo ufw allow 30609/udp. - Router not forwarding. For a home server, forward TCP and UDP 30609 to the server's local IP. Our port forwarding guide covers routers.
- CGNAT. If your router's WAN IP differs from your public IP, your provider shares one address between customers and forwarding cannot work. Use a VPS or a hosted server.
- Testing from inside your own network. Many routers cannot loop back to their own public IP. Test with the local IP from home, or ask a friend to try the public one.
- Version mismatch. After a Puck update, update the server with SteamCMD (
+app_update 3481440) and make sure players have updated too. - Banned or not whitelisted. If
useWhitelistis on, only IDs inwhitelisted_steam_ids.jsonget in. Checkbanned_steam_ids.jsonandbanned_ip_addresses.jsonfor the player.
Step 6: Not in the server browser
If players can join with Direct Connect but cannot find the server in the list:
- isPublic is false. Set
"isPublic": trueinserver_config.jsonand restart. - Filters. Show empty, Show password protected, Show modded and the max ping slider hide a lot of servers. A server you just started is empty, and most private servers have a password.
- The TCP side is blocked. The browser pings servers over TCP. If only UDP is open, the server can show as unreachable or be hidden by the Show unreachable filter.
- It fell off the list. If the server loses its connection to Puck's backend, it logs that it has been unlisted, keeps retrying and logs again when it is re-listed. Nothing to do but wait or check the server's internet.
- The name. Search for a plain word from the name. Rich text color tags are not part of what you type.
Step 7: Lag and rubber banding
Not a connection failure, but often reported as one. In Puck physics run on the server, so a server far from players or a CPU that cannot hold the tick rate makes everything feel sluggish. Pick a server location close to your players, keep tickRate at 200 unless the machine has headroom, and avoid running several busy servers on one small VPS. Players on unstable connections can try the Balanced or Smooth network buffering setting in Puck's options.
Skip the troubleshooting
On a GamezServers Puck server the port is open for TCP and UDP from the start, the config is written from panel settings so it is always valid, and the server updates from Steam on every restart. Plans start at 2.99 USD a month. See the quick start guide.
Skip the setup. Your own Puck server.
Then $2.99/mo. Just trying it? $0.75 for 3 days