Your FiveM server starts, the console looks healthy, and the server browser still does not show it. Almost every case comes down to one of six causes, and a single one-minute test tells you which half of the list to read.
Start with the reachability test below. It splits the problem cleanly: either the outside world cannot reach your server at all, or it can and something in server.cfg is keeping you off the list. Skipping this test is why people spend an evening rewriting a config file when the real problem was a closed UDP port.
Step 1: is your server reachable from outside?
With the server running, open this in a browser, replacing the address with your server's public IP and port:
http://203.0.113.10:30120/info.json
Do it from somewhere other than the machine running the server. Your home PC works, so does your phone on mobile data. Testing from inside the server itself always succeeds, because that traffic never leaves the machine.
- A page of JSON appears. The server is reachable. Skip to step 3.
- It times out or refuses the connection. The server is not reachable. Go to step 2.
You can also check http://your-ip:30120/dynamic.json, which returns the live player count, or run the address through our FiveM server status checker.
Step 2: the server is not reachable
This is a port problem, not a config problem. Three things to check, in order.
The Windows firewall. Windows Server blocks inbound traffic by default, so a brand new VPS refuses everything until you say otherwise. You need port 30120 open on both TCP and UDP, as two separate rules. Full walkthrough, with the commands to do it in one go: How to Open FiveM Ports in Windows Firewall.
On Linux the default is usually the opposite, nothing is blocked, so if you are on a fresh Ubuntu or Debian VPS the firewall is rarely the culprit. Check whether the server process is actually listening and bound to 0.0.0.0 rather than 127.0.0.1.
The port the server is bound to. In server.cfg, these two lines set it:
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
Both must be present, both must point at the same port, and that port must be the one you opened in the firewall. 0.0.0.0 means "listen on every interface". If someone changed it to 127.0.0.1 the server only ever talks to itself.
Port forwarding, if you host from home. A home connection needs 30120 TCP and UDP forwarded on the router to the PC running the server, on top of the Windows rules. A VPS does not need this at all, it already has its own public IP.
Once /info.json answers from outside, come back and continue.
Step 3: reachable, but still not listed
The server answers, so the problem is in server.cfg or with the license. Work down this list.
sv_master1 must stay commented out
This is the one that most guides on the internet get backwards, so check it first. Open server.cfg and look for this line:
#sv_master1 ""
The # matters. Commented out, as above, your server sends its heartbeat and appears in the list normally. Remove the # and you have explicitly told FXServer not to register with the master list: the server turns up as private, and the connect button is disabled for anyone browsing.
Plenty of tutorials and copy-pasted config templates tell you to add sv_master1 "" to fix listing problems. It does the opposite. If the line is not in your server.cfg at all, leave it out. Listing is on by default.
sv_projectName and sv_projectDesc must both be set
sets sv_projectName "My FXServer Project"
sets sv_projectDesc "Default FXServer requiring configuration"
If either one is missing, the server throws an error on startup and may not appear on the list. Both lines start with sets, not set. That single letter is easy to lose when editing by hand.
The license key has to be valid for this server
The sv_licenseKey line needs a working key from the Cfx portal. A failing key takes the server down rather than hiding it, so check the first lines of the console for a licensing error on startup. Keys created in the Cfx portal today are not tied to an address, but older keys made in the previous Keymaster flow could be, so if you have moved the server to a new host, open the key in the portal and confirm it is still valid for this one.
Step by step: How to Get a FiveM License Key.
Give it up to eight minutes
A freshly launched server can take up to eight minutes to appear in the list. If you have just restarted after a config change, wait it out before changing anything else. Restarting repeatedly resets that clock every time.
More than 48 slots needs a subscription
If sv_maxclients is above 48, the server needs an Element Club Argentum subscription or higher on your Cfx account. Without it, set sv_maxclients to 48 or lower and the server lists normally.
A NAT that masks UDP source ports
Relevant if you host from home or behind a company gateway. Some routers and firewalls rewrite the UDP source port, which breaks the heartbeat even though everything else works. A VPS with a direct public IP does not have this problem. It is one of the reasons people move off a home connection.
Direct Connect works but the server is not listed
Worth separating, because it narrows things a lot. Press F8 in FiveM and run:
connect 203.0.113.10:30120
If that connects you but the browser still does not show the server, the server is reachable and running fine. That rules out step 2 entirely and points at sv_master1, the missing project variables, the slot count, or simply not having waited eight minutes.
If Direct Connect also fails, go back to step 2.
Quick checklist
| Check | Where | Correct value |
|---|---|---|
| TCP 30120 open | Windows Defender Firewall | Inbound, Allow, all profiles |
| UDP 30120 open | Windows Defender Firewall | A second, separate rule |
| Bind address | server.cfg |
endpoint_add_tcp and endpoint_add_udp on 0.0.0.0:30120 |
| Master list | server.cfg |
#sv_master1 "" commented, or absent |
| Project variables | server.cfg |
sets sv_projectName and sets sv_projectDesc both set |
| Slots | server.cfg |
sv_maxclients 48 or lower without a subscription |
| License | server.cfg |
Valid sv_licenseKey from the Cfx portal |
| Patience | After a restart | Up to 8 minutes |
Frequently asked questions
My server shows as private in the list. Same problem?
Yes, and the cause is usually the same line. An uncommented sv_master1 "" marks the server private and greys out the connect button.
Does the server name affect whether it lists?
No, but it affects whether you can find it. The FiveM browser lists thousands of servers, so search for your exact sv_hostname, and remember that colour codes such as ^2 are part of the stored name but not shown as text.
I opened the ports and nothing changed. Confirm the rules are inbound rather than outbound, that both TCP and UDP exist, and that Public is ticked on the profile step. A VPS adapter usually sits on the Public profile, so a rule with Public unticked does nothing at all.
Do I need to configure any of this on a DoomHosting FiveM server? No. Ports are open and the server is listed at setup. Everything above applies to a self-managed VPS, which you can compare against a managed FiveM server if you would rather not maintain it yourself.
