Sons of the Forest: Server Not Showing Up or Friends Can't Connect
One of the most common Sons of the Forest dedicated server problems is a server that runs fine in the console window but never appears in the in-game server browser, or that only the host can see. This guide walks through the real causes in order, from the network layer down to the config file, so you can get your co-op group connected for up to 8 players.
Quick Diagnosis
Before changing anything, work out which symptom you actually have. They point to different fixes.
| Symptom | Most Likely Cause |
|---|---|
| Server window closes instantly on launch | Broken JSON in dedicatedserver.cfg |
| "Could not start game server" | Port already in use, or LanOnly set wrong for your setup |
| Server runs but you can't see it from the same PC or LAN | Hairpin NAT (router loopback) limitation |
| You can see it, friends over the internet can't | Ports not forwarded, or firewall blocking UDP |
| Nobody can see it in the browser, even by name | QueryPort blocked, or IpAddress bound to the wrong interface |
1. Confirm the Server Actually Started
The Sons of the Forest dedicated server stores its files under your user profile, not in the game folder. On Windows the config and saves live here:
C:\Users\<user>\AppData\LocalLow\Endnight\SonsOfTheForestDS\
That folder holds dedicatedserver.cfg, ownerswhitelist.txt, and the Saves directory. If the server window opens and closes within a second, it never reached the listening stage, and no networking fix will help until it stays up. The cause is almost always the config file, covered next.
2. Fix the dedicatedserver.cfg JSON
This trips up most people. The Sons of the Forest config is a JSON document, not an INI file. JSON does not tolerate a trailing comma after the last entry, missing quotes around text values, or curly braces that don't match. A single stray comma will stop the server from launching at all. Here is a known-good default to compare against:
{
"IpAddress": "0.0.0.0",
"GamePort": 8766,
"QueryPort": 27016,
"BlobSyncPort": 9700,
"ServerName": "My Sons Of The Forest Server",
"MaxPlayers": 8,
"Password": "",
"LanOnly": false,
"SaveSlot": 1,
"SaveMode": "Continue",
"GameMode": "Normal",
"SaveInterval": 600,
"IdleDayCycleSpeed": 0.0,
"IdleTargetFramerate": 5,
"ActiveTargetFramerate": 60,
"LogFilesEnabled": false,
"TimestampLogFilenames": true,
"TimestampLogEntries": true,
"GameSettings": {},
"CustomGameModeSettings": {}
}
Notes that matter for visibility:
- IpAddress should stay
0.0.0.0on a normal box. That tells the server to listen on every network interface. Hard-coding a single LAN IP here is a frequent reason a server binds to the wrong adapter and never registers. - LanOnly must be
falsefor friends across the internet to find the server. Set it totrueonly for testing on your own network. Note the order is reversed from older setup posts that told you to flip it for local tests. - GamePort, QueryPort, and BlobSyncPort are three separate UDP ports with three separate jobs, explained below.
If you have edited the file by hand and the server refuses to start, paste your config into any JSON validator first. Bad JSON is the single most common cause of an instant-exit server.
3. Understand the Three Ports
Many guides only mention "open the ports" without explaining why your server can be running yet invisible. The three default UDP ports each do something different, and the browser problem is usually the second one.
| Port | Default (UDP) | Role |
|---|---|---|
| GamePort | 8766 | Carries actual gameplay traffic once a player has joined. |
| QueryPort | 27016 | Answers server-browser queries. If this is blocked, the server runs but never shows up in the list. |
| BlobSyncPort | 9700 | Synchronizes the world save data ("blobs") to joining clients. |
The takeaway: if your server is alive but missing from the browser, the QueryPort is the first thing to check. A server that joins fine by direct connect but is invisible in the list almost always has a QueryPort that is forwarded or firewalled incorrectly.
4. Open the Ports in Firewall and Router
Open all three UDP ports both in the operating system firewall on the host and as port-forwarding rules on the router, pointing at the server machine's local IP.
# Ubuntu/Debian (UFW)
sudo ufw allow 8766/udp
sudo ufw allow 27016/udp
sudo ufw allow 9700/udp
# Windows
# Add inbound rules for UDP 8766, 27016, and 9700
Forward the same three UDP ports on your router to the server's LAN address. For a step-by-step on the router side, see our Port Forwarding Guide. After changing any firewall or forwarding rule, restart both the server and the game client before testing again. Stale connections will make a working fix look like a failure.
5. The Hairpin NAT Trap
This is the cause people miss most often, and it is not a bug in your setup. If you run the game client on the same machine as the server, or on another device behind the same router, your server may be missing from the dedicated server browser even when everything is configured perfectly. The reason is hairpin NAT, also called NAT loopback.
When a device behind the router tries to reach the server through its own public IP, the router has to "bend" the traffic back inside the network. Many consumer routers do not support this. The result is a server that the whole internet can see except you, sitting right next to it.
How to confirm and work around it:
- Ask a friend on a completely different network to look for the server. If they see it and you don't, hairpin NAT is the cause, and your server is actually fine.
- From inside your LAN, join by the server's local IP address rather than the public one. Use the direct-connect option instead of relying on the browser.
- If you must test from the same building, do it from a phone on mobile data or a separate connection.
Do not start tearing your config apart over a problem that only affects your own LAN. Confirm with an outside player first.
6. When You Can't Port Forward at All
Plenty of players are behind CGNAT (carrier-grade NAT), a landlord-controlled router, or an ISP that simply will not expose ports. In that situation no amount of config editing will make a self-hosted server reachable, because there is no public address to forward to. The honest fix is one of:
- A tunneling service such as a VPN-style overlay (for example Tailscale or ZeroTier) where every player installs the client and joins the same private network, then connects by the overlay IP. This works but adds a setup step for every player and can add latency.
- A relay tunnel such as playit.gg that hands you a public address pointing at your home machine. Forward the UDP game, query, and blob ports through the tunnel exactly as you would a router.
- A managed host that sits on a real public IP with the ports already open, removing the NAT problem entirely.
Each of these solves the same underlying issue: a reachable public endpoint with the three UDP ports open.
7. Server Browser Still Empty? Final Checks
| Check | What to verify |
|---|---|
| Version match | Client and server must be on the same game build. Update both after any patch. |
| IpAddress value | Should be 0.0.0.0 unless you have a deliberate reason to bind one interface. |
| Port conflicts | Nothing else may use 8766, 27016, or 9700. Pick different ports if needed and forward those. |
| MaxPlayers | A full server stops accepting joins. Confirm it is not already at capacity. |
| Search by name | The public list is large. Filter by your exact ServerName rather than scrolling. |
Pro Tip: Work top down. Start the server, confirm it stays running, then test with an outside friend before touching ports. Most "server not showing up" reports turn out to be either broken JSON or hairpin NAT, not a real connectivity failure.
Related Guides
- Dedicated Server Setup Guide for the full install from SteamCMD onward.
- Server Configuration Guide for every dedicatedserver.cfg parameter.
- Port Forwarding Guide for router-side rules.
- Troubleshooting Guide for crashes, lag, and save issues.
- Multiplayer Guide for running co-op once players are connected.
Tired of fighting NAT and port forwarding? Host your SOTF server with Supercraft on a real public IP with the ports already open, plus daily backups and instant setup. Plans from $5.99/mo.