FiveM server not showing on public list: step-by-step fix

FiveM server running but invisible on the cfx.re public list? Technical guide to diagnose firewall, sv_master1, license key and heartbeat endpoints.

You configured everything: server.cfg tuned, resources loading without errors, console showing Started resource sessionmanager, players can connect using direct IP through the F8 console. But in the FiveM menu, under the “Servers” tab, your server simply doesn’t appear — not in the public list, not in the name search.

This scenario is frustrating because the server is technically functional. The problem sits between your host and the cfx.re listing servers: the heartbeat (periodic message announcing “I’m alive”) isn’t arriving, or it’s arriving rejected. This guide covers the 5 points where this fails in practice.

Estimated time: 15 to 25 minutes to diagnose and fix, depending on how many points need adjustment.

Prerequisites

What you need before starting

SSH or panel access to the FiveM server, permission to edit server.cfg and restart the server, access to the keymaster.fivem.net panel where the license key was generated, and the ability to change firewall rules (UFW, iptables, or your provider’s panel). Server running FXServer (Linux or Windows), recent version.

Client port (UDP) 30120
cfx.re server port (UDP) 30110
Heartbeat HTTPS 443
Master endpoint servers-frontend.fivem.net

Verify the server is actually running as public

Before assuming it’s a network problem, confirm the configuration isn’t silencing the server on purpose. Some installations inherit settings that hide the server from the list.

01

Open server.cfg and look for lines that affect visibility:

grep -E "sv_master1|sv_licenseKey|sv_hostname|sv_projectName" server.cfg

You should see sv_licenseKey "cfxk_xxxxxxxxxxxxxx" and you should NOT see sv_master1 "" (empty string). If you find sv_master1 "", comment it out or remove the line — it explicitly disables the heartbeat.

02

Confirm sv_hostname is filled in and there is at least one useful tag in sets tags:

sv_hostname "My FiveM Server | Roleplay EN"
sets tags "roleplay, english, serious"
sets locale "en-US"

Servers without a meaningful hostname or with overly generic tags get ranked extremely low in the search, and may appear “invisible” even when they’re technically listed.

03

Check that you don’t have sv_endpointPrivacy true enabled:

grep "endpointPrivacy" server.cfg

If this line exists and is set to true, your IP is hidden from the public list — which makes the server look gone for anyone searching by region. To appear normally, remove it or set it to false.

Check the license key on keymaster

The most common cause of an invisible server is an invalid, expired, or wrong-IP license key. cfx.re silently blocks the heartbeat when the key doesn’t match.

01

Go to keymaster.fivem.net with the account that registered the key. Locate the key used in server.cfg and check:

  • Status: must be “Active” (not “Suspended” or “Revoked”)
  • Registered IP: must match the current public IP of the server
  • Type: “ZAP” or “Self-hosted” — both work on the list
02

If the IP changed (host migration, provider switch, static IP change), edit the key on keymaster and update the IP field. Changes propagate within 10 minutes.

curl -s https://api.ipify.org

This command returns the real public IP the server is using for outbound traffic. Compare it with what’s on keymaster — they must be identical.

License key in logs

Never share console screenshots with the license key visible. It appears at FXServer boot as License key authenticated successfully. If you suspect it leaked, regenerate it on keymaster — cfx.re revokes compromised keys and your server vanishes from the list until you replace it.

Allow heartbeat traffic on the firewall

FXServer needs to make outbound connections to cfx.re every 3 minutes to keep the server on the list. Firewalls that only filter inbound traffic usually don’t block this, but restrictive setups (especially on VPS with custom UFW defaults or panels that enable egress filtering) cut the heartbeat.

01

List active rules to confirm what’s open:

sudo ufw status verbose

Look for restrictive outbound rules. Default UFW allows everything outbound — but some providers apply extra policies. If the default policy is deny (outgoing), allow explicitly:

sudo ufw allow out 443/tcp
sudo ufw allow out 30110/udp
sudo ufw allow out 53/udp
02

Test direct connectivity to cfx.re endpoints:

curl -v https://servers-frontend.fivem.net/api/servers/single/yourkey 2>&1 | head -20

You should see HTTP/2 200 or HTTP/2 404 (404 is fine if the key isn’t active yet — what matters is the TLS handshake completing). Connection refused or timeout indicates the firewall is blocking.

03

Confirm DNS resolution of the essential endpoints:

dig +short servers-frontend.fivem.net
dig +short policy-live.fivem.net

Both should return IPs. A server without working DNS (broken resolv.conf, restrictive internal DNS) is a common cause of silent heartbeat failures.

Watch out for geographic blocks

Some providers apply GeoIP egress blocks to reduce international bandwidth cost. cfx.re has infrastructure in the US and Europe — if your server is on a host that blocks outbound traffic to these countries, the heartbeat never completes. This block normally can’t be adjusted by you; you need to open a ticket with the provider or switch hosts.

Restart FXServer and watch the console

Changes to server.cfg only apply after a restart. A simple refresh or restart of resources isn’t enough — you need to bring the entire FXServer process down.

01

Stop the server and start it again. On managed-panel installs, use the stop/start buttons. On manual installs via screen or systemd:

sudo systemctl restart fivem
sudo journalctl -u fivem -f

Watch the boot. Key lines that should appear in the first 30 seconds:

License key authenticated successfully
Server is ready to accept incoming connections
Sending heartbeat to https://servers-frontend.fivem.net/api/servers/...
02

If you see Heartbeat failed: timeout or Heartbeat failed: 403 Forbidden repeatedly, the problem persists:

  • timeout → firewall still blocking outbound
  • 403 Forbidden → license key invalid or IP doesn’t match keymaster
  • Heartbeat OK → success; the server will appear on the list within 5 minutes

Verification

After applying the fixes, confirm the server appears publicly.

01

Use the public cfx.re API to search for your server by IP:

curl -s "https://servers-frontend.fivem.net/api/servers/" | grep -i "YOUR_PUBLIC_IP"

If it returns at least one line containing the IP, the server is indexed and visible.

02

Inside FiveM itself, open the “Servers” tab and search by the configured sv_hostname. The result should appear with measured ping and current player count.

Next steps

With the server indexed and visible, it’s worth reviewing related points that affect discovery and retention:

  • Tune the tags in sets tags to appear in relevant searches — ranking favors specific tags (roleplay-serious-en) over generic ones (fun).
  • Set sv_maxClients realistically. Servers marked with 128 slots but only 8 players look less attractive on the list than a 32/16 server.
  • Enable OneSync if you run more than 32 slots — without OneSync, connections above 32 drop and players complain, hurting your reputation.
  • Monitor average latency of connected players. Servers with consistent ping below 60 ms to their target audience retain players far better than ones that fluctuate.

If you’re putting a serious FiveM server into production, it’s worth considering dedicated infrastructure with low-latency bandwidth to your target region. Hostini’s game hosting options come with in-kernel DDoS filtering active at the edge and routing optimized for major ISPs — which reduces packet loss during raids and desync at peak hours.

Frequently asked questions

How long does it take for the server to appear on the list after I fix the problem?

The cfx.re master server indexes new servers within 5 minutes after the first successful heartbeat. If more than 10 minutes pass without it appearing, the heartbeat is still being blocked — re-check UDP 30110 outbound and the endpoints at servers-frontend.fivem.net.

Can I appear on the list without a license key?

No. cfx.re requires a valid license key to recognize the server as legitimate. Servers without `sv_licenseKey` in server.cfg are listed as 'private' and never show up in the public search, no matter how everything else is configured.

Why can players connect by direct IP but the server doesn't list?

Direct connection only uses UDP port 30120 between client and your server. Appearing on the list requires outbound heartbeat to cfx.re servers (HTTPS/443 + UDP 30110). A firewall that blocks outbound traffic affects the second but not the first.

Does the sv_master1 parameter need to be set manually?

No — since 2018, `sv_master1` automatically points to the correct endpoint. Setting it manually almost always makes things worse. If you have `sv_master1 ""` in server.cfg to silence the server, remove that line to make it public again.

Do whitelist or OneSync servers appear on the public list?

Yes. Whitelist and OneSync do not affect list visibility — they only control who can join and the sync mode. A server is only invisible if `sv_master1` is empty, the license key is missing, or the heartbeat is blocked.

I changed providers and the server disappeared from the list. Why?

FiveM license keys are tied to the IP that registered the key. When you change IP, cfx.re blocks the heartbeat until you reactivate the key through the keymaster.fivem.net portal and mark the new IP as authorized.

Topics:
Next steps VPS, dedicated or managed panel for FiveM, SAMP, MTA, Tibia and more.Host your game server with Hostini →
Was this tutorial helpful?
Chat on WhatsApp