Split the problem in two first
There are two different failures that look identical from the outside, and telling them apart saves you most of the work. Ask someone to add the server manually by IP and port rather than searching for it. If a direct connect works and the server is still absent from the browser, the game port is fine and only discovery is broken, which points straight at the query port. If the direct connect also fails, the game port itself is not reachable.
Enshrouded needs three ports, not two
This is the single most common cause. Most guides mention the two obvious ports and stop, and the third one bites people whose configuration otherwise looks perfect:
| Port | Protocol | Purpose | Symptom when closed |
|---|---|---|---|
| 15636 | UDP | Game traffic | Nobody can connect at all |
| 15637 | UDP | Query port | Server runs but is invisible in the browser |
| 27015 | UDP | Steam | Connection failures that look random |
Port 27015 is the one people miss, and it is easy to have it already in use if another game server on the same machine has claimed it. If you run more than one Steam-based dedicated server on one box, that collision is worth checking before anything else.
Open all three on UDP. Some routers and firewalls behave better when a matching TCP rule exists alongside the UDP one, and adding it costs nothing, but UDP is the one that actually carries the traffic.
The bind address in enshrouded_server.json
In your enshrouded_server.json the ip field should be 0.0.0.0, which tells the server to listen on every network interface. It should not be your local address and it should not be your public address. Setting either is a classic way to end up with a server that works perfectly from inside your own network and is unreachable from everywhere else.
While you are in the file, check that gamePort and queryPort match the numbers you opened. Editing one and not the other, or changing a port after writing the firewall rules, produces exactly the symptoms on this page.
Router rules that look right and are not
If you are self-hosting behind a consumer router, two mistakes account for most of the remaining cases:
- Forwarding 15636 and 15637 as one range in a single rule. Some routers do not handle ranges correctly. Create two separate rules, each mapping the same external and internal port number, and add a third for 27015.
- Pointing the rules at an address that has since changed. If the server machine gets its local IP from DHCP, a reboot can move it and silently break every rule you wrote. Assign a static local address or a DHCP reservation.
Version mismatch after a patch
Enshrouded refuses connections across mismatched versions. When Keen Games ships an update, clients update automatically through Steam and your server does not, so a server that worked last night can reject everyone this morning with no configuration change at all. If the failure started right after a patch, update the server before debugging anything else.
Self-hosters need to re-run the SteamCMD update and restart. On Flux the current image is pulled on restart, so this is one click from the dashboard.
When the server is listed but joining fails
A server that appears in the browser and then refuses the join is usually one of three things: the password is wrong and passwords are case-sensitive, the server is full, or the world is still loading. Enshrouded takes a little while to finish loading a large world on start, and joins attempted in that window fail without a useful message. Give it a minute after the process starts before assuming something is broken.
Checklist
- Have someone add the server directly by IP and port. Success means only discovery is broken; failure means the game port is unreachable.
- Confirm 15636, 15637 and 27015 are all open on UDP, and that 27015 is not taken by another server on the same machine.
- Check that ip is 0.0.0.0 in enshrouded_server.json, and that gamePort and queryPort match what you opened.
- If you are behind a router, use one rule per port pointed at a static local address.
- Check whether a game patch landed recently and update the server if so.
- Give the world a minute to finish loading before testing a join.
Work down that list in order and you will land on the cause in a few minutes. If you would rather not own this class of problem at all, a managed deployment removes the ports, the router and the update step in one go.
Frequently asked questions
Why is my Enshrouded server not showing up?
Most often the query port, 15637/UDP, is closed while the game port is open, so the server runs and accepts direct connections but is never listed. The other frequent causes are a bind address other than 0.0.0.0 in enshrouded_server.json, and port 27015 being closed or already used by another Steam game server on the same machine.
What ports does an Enshrouded dedicated server need?
Three, all on UDP: 15636 for game traffic, 15637 for queries, and 27015 for Steam. The third one is the one most guides omit and it causes connection failures that look random when it is blocked.
What should the ip setting be in enshrouded_server.json?
0.0.0.0, so the server listens on every interface. Setting your local or public address instead is a common cause of a server that is reachable on your own network and invisible from outside it.
My Enshrouded server stopped working after an update. Why?
Enshrouded blocks connections between mismatched versions. Steam updates your players automatically and your server is not updated with them, so a patch can break a working server overnight. Update the server and restart it.
Should I forward 15636 and 15637 as a range?
No. Some routers handle a two-port range badly. Create one forwarding rule per port, each mapping the same external and internal number, and remember the separate rule for 27015.
The server is listed but I cannot join. What now?
Check the password, which is case-sensitive, check whether the server is full, and give the world a minute to finish loading after the process starts. Joins attempted while a large world is still loading fail without a helpful message.