
Your FiveM server starts and runs, but every few minutes the console prints a red line that begins with "Server list query returned an error", and the server is missing from the server list or keeps dropping out of it. The line has nothing to do with your scripts: it is the Cfx.re server list reporting that it could not read or store your server, and the words after the colon say why. Here is what it means and how to fix it, from FXServer's source code, Cfx.re's docs and owner reports on the Cfx.re forum, all checked on 31 October 2026.
Quick answer: "Server list query returned an error" means the Cfx.re server list could not read your server after a heartbeat, and the text after the colon is the list's reason. It also shows your license key check passed, because FXServer only sends heartbeats after it does. Test http://IP:PORT/info.json and https://IP:PORT/info.json from another network, keep endpoint_add_tcp and endpoint_add_udp on the port players use, open that port for TCP and UDP, let the addresses in static.cfx.re/ips.txt through any DDoS filter, keep #sv_master1 "" commented out and allow up to 8 minutes after a restart. If the server is listed and joinable, an occasional line is harmless.
What "Server List Query Returned an Error" Means
FXServer sends a heartbeat over IPv4 to the Cfx.re server list at https://servers-frontend.fivem.net/api/serverlist/ingress, with your game port and a listing token. The list then requests info.json, dynamic.json and players.json from your server on that port; forum error texts name all three files. When that fails, the list's reply to a later heartbeat carries a lastError field, and FXServer prints its first line:
Server list query returned an error: EOF
FXServer's GameServer.cpp explains three things:
- Timing. Once the license check is done, a heartbeat goes out every 3 minutes. A player joining or leaving moves the next one up to within 15 seconds, so a busy server prints the line more often.
- The first reply is skipped. Its error "may be residual", says the code, so the first line shows up a few minutes after a start, with the second heartbeat.
- The key works. Heartbeats only go out while the server holds the token from its license check (
sv_licenseKeyToken). A bad key gives its own startup error, such as "no license key was specified".
The message does not stop the server or disconnect anyone; what is at stake is your entry in the list.
No line at all, and still not listed? Then the heartbeat itself is probably not getting through: the key check failed, sv_lan is on, or the machine cannot reach the list, which FXServer only logs with the developer console variable on. Test the way out on the server itself:
curl -4 -s -o /dev/null --max-time 10 -w '%{http_code}\n' https://servers-frontend.fivem.net/api/serverlist/ingress
Any status code means the path is open (this plain request got 404 on 31 October); 000 means the request did not get through: outgoing HTTPS over IPv4 is blocked or DNS fails.
Read the Reason After the Colon
The text after the colon is the list's own error. Recent messages often name the address it tried, such as server request failed for endpoint https://203.0.113.10:30120/dynamic.json. If that IP or port is not your server's public address, the list is asking the wrong place (steps 3 and 5). Older reports use longer wording for the same reasons:
| Reason after the colon | What happened | Look at |
|---|---|---|
Connection refused (forum reports show it as System.Net.Sockets.SocketException: Connection refused) | The list reached the IP, but nothing accepted a connection on that port, or a firewall rejected it | Endpoint port and firewall (steps 3 and 4) |
context deadline exceeded (Client.Timeout exceeded while awaiting headers) (older: HttpClient.Timeout of 30 seconds elapsing) | No answer in time | A firewall or DDoS filter that drops traffic, port forwarding, the IP |
EOF, Connection reset by peer (older: Received an unexpected EOF or 0 bytes from the transport stream) | The connection closed before an answer; older texts add "The SSL connection could not be established" | A DDoS filter or proxy in front of FXServer, and the HTTPS test in step 2 |
Host is unreachable | No route to the IP | sv_listingIpOverride or a machine with several IPs (step 5) |
failed to store server | The list did not save your entry, and Cfx.re has not documented why | The Portal checks in step 1, then the forum |
| Nothing after the colon | No reason given | Check if the server is listed anyway |
Step 1: Check the List and the Cfx Portal
Search for your server in the FiveM client or at servers.fivem.net. A server you just started needs time: Cfx.re's server issues FAQ says it "can take up to 8 minutes for a server to appear in the list after launch if no other heartbeats are sent."
Then sign in at portal.cfx.re, open Servers, then Server Registration Keys, and check two things:
- The key is under Active. "Inactive servers retain server details but will not be visible on the client server list," the page says. Check the card whose key matches
sv_licenseKeyin your server.cfg. - Server Publish Status on that key's page: five steps from "Server started" through "Server registered with client server list", "Server queried" and "Server processed" to "Server published in client server list", under a Published, Pending, Error or Unknown badge. A red cross marks where your listing stopped, and a cross at "Server queried" points at reachability (steps 2 to 4).
Since 21 October 2026 the Portal also holds your server's name, description, tags and images, and empty fields show "Missing server data (must be configured in Portal)" in the list; our Missing server data guide covers them. Guides that tell you to set sv_projectName and sv_projectDesc, including Cfx.re's own help center article, are out of date on that point.
Step 2: Test Your Server From Outside
The list comes in from the internet, so test from another network, such as a laptop on a phone hotspot. A test on the server itself never crosses your router or your host's network. Replace 203.0.113.10:30120 with your public IP and game port:
curl -s -o /dev/null --max-time 10 -w '%{http_code}\n' http://203.0.113.10:30120/info.json
curl -sk -o /dev/null --max-time 10 -w '%{http_code}\n' https://203.0.113.10:30120/info.json
Both should print 200. The https line matters because recent messages show the list requesting https:// addresses. FXServer answers HTTPS on its game port with a self-signed certificate named do-not-trust.citizenfx.tls.invalid, hence -k (skip the certificate check).
000on both: the port is closed, filtered or not forwarded (steps 3 and 4).200on http,000on https: FXServer serves both on one port, so check what sits in front of it, such as a DDoS filter or proxy, and send both results to whoever runs it.200on both: compare the IP and port with the ones in the error, then check steps 4 and 5.
No curl? Open the http address in a browser, as Cfx.re's FAQ does; it should show your server's details as JSON. A bare "Nope." means sv_requestParanoia is 2 or higher: it rejects browser requests and blocks the IP that sent them, so run curl from another address. In the JSON, sv_lan under vars should be false, and server shows your build number, such as v1.0.0.35245. The FAQ also suggests a Direct Connect test from FiveM on another network: press F8 and type connect 203.0.113.10:30120.
Step 3: Check the Endpoint Lines
Cfx.re's example server.cfg binds both protocols to one port:
# Only change the IP if you're using a server with multiple network interfaces, otherwise change the port only.
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
- The first
endpoint_add_tcpline sets the port the list queries. It becomes the primary port that every heartbeat reports, so if players reach you on another outside port, such as a router or container forwarding outside 30200 to inside 30120, the list asks the wrong one. - On a rented server, use the port the panel shows in both lines.
- Keep
0.0.0.0unless the machine has several network interfaces. On FiveM for GTAV Enhanced,endpoint_add_tcpandendpoint_add_udpeach support only a single endpoint, according to the server commands docs, so keep one line of each.
txAdmin's web port, 40120 by default, plays no part in the listing.
Step 4: Open the Port and Let Cfx.re's Addresses Through
Cfx.re's FAQ names "bad port forwarding or firewall configuration problems" as the usual cause. Open the game port for TCP and UDP:
# Linux with UFW: allows TCP and UDP on 30120
sudo ufw allow 30120
# Windows: PowerShell as administrator
New-NetFirewallRule -DisplayName "FiveM 30120 TCP" -Direction Inbound -Protocol TCP -LocalPort 30120 -Action Allow
New-NetFirewallRule -DisplayName "FiveM 30120 UDP" -Direction Inbound -Protocol UDP -LocalPort 30120 -Action Allow
At home, also forward TCP and UDP 30120 in your router to the PC. The FAQ adds that a NAT or gateway that "masks UDP source ports" can keep a server off the list.
Strict firewalls and DDoS filters need one more step. Cfx.re polls servers from the addresses in static.cfx.re/ips.txt, and its static IPs page says: "If your server has a strict firewall or DDoS protection, you must allow traffic from all IPs listed in this file." On 31 October 2026 the file held five addresses, 34.178.149.96 to 34.178.149.100, last changed on 27 July 2026. Print it with:
curl -s https://static.cfx.re/ips.txt
Allow every address in your firewall, your DDoS filter and any resource or anti-cheat that keeps its own list of Cfx.re addresses. New addresses go into the file at least a month before traffic comes from them, so recheck it now and then. On a rented server the filter is your host's, so send them the link.
Step 5: Check the Listing Settings in server.cfg
Search server.cfg, and any file it loads with exec, for these lines:
sv_listingIpOverridesets the IP the list queries. Cfx.re's proxy setup page says it "is only needed if the server list backend can't guess the IP to query itself", usually on "systems with multiple IPs" or behind a proxy. A value copied from a guide, or an old IP after a move, sends the list to the wrong address. Remove it, or set your public IP without a port:set sv_listingIpOverride "203.0.113.10".sv_forceIndirectListingis not sent to the list withoutsv_listingHostOverride; FXServer then only prints "Force indirect listing is enabled, but no host override is set." With a host override, the list requestshttps://yourhost/, sohttps://yourhost/info.jsonmust answer from outside.sv_master1stays commented out as#sv_master1 "". Without the#, your server "might appear as private" with the connect button disabled.sv_lanstays false. Withsv_lan truethe server "will not appear in the public server list".
After a change, restart the server or type heartbeat in the console (the Live Console in txAdmin) to send one at once. Judge the result after two or three heartbeats, because a reply can still carry the reason from an earlier attempt.
Step 6: Run a Supported Artifact
On 31 October 2026 Cfx.re's version API lists 35245 as the Recommended FXServer build and 38055 as Latest. Players have not been able to connect to servers below 35245 since 15 October 2026, so update anything older; the fx number in the txAdmin sidebar or the server field in info.json shows your build. The heartbeat code is identical in 35245 and 38055, so moving between those two does not change how your server reports to the list. Our artifacts guide has the update steps.
If the Message Keeps Coming
- Many owners at once: Cfx.re's FAQ says "There may be an issue with the server listing service itself." If others on the forum report the same text at the same time, wait it out.
failed to store serverthat will not clear: in October 2026 an owner reported it on a server that answered from outside and could be joined by IP. Post in the forum's Server Owners category or on the FiveM Discord with what Cfx.re's help center asks for: the exact error text, your server logs, operating system and build, plus your IP, port and Server Publish Status.- A rented server: send your host the full line and both curl results.
On Space-Node's FiveM hosting, txAdmin comes pre-installed and every plan includes DDoS protection. If the line keeps coming back, send our support the full line and your server's address by live chat, Discord or email, from 08:00 to 20:00 UTC. Once you are listed, our server list guide covers names, tags and placement.
FAQ
Why won't my FiveM server show in the server browser?
Usually the list cannot reach it: a closed or wrongly forwarded port, a firewall or DDoS filter blocking Cfx.re's addresses, or a first endpoint_add_tcp port that differs from the one players use. Also check sv_master1, sv_lan and that the key is Active, and give a new server 8 minutes.
What does "Server list query returned an error: failed to store server" mean? The list did not save your entry, and Cfx.re has not published why. Check that the key is Active, read Server Publish Status, test info.json over http and https from outside, then post the exact line on the Cfx.re forum.
Can I ignore "Server list query returned an error: EOF"? Yes, if your server is listed and players can join. If it comes with every heartbeat and the server is missing, run the HTTPS test in step 2.
How long does it take for a FiveM server to appear in the server list?
Up to 8 minutes after launch, according to Cfx.re. After a fix, the heartbeat console command sends one at once.
Do I need to open port 40120 for the server list?
No. The list queries the game port from your first endpoint_add_tcp line, 30120 by default. 40120 is txAdmin's web panel.
Does a wrong license key cause this error? No. Heartbeats only go out after the license check succeeds, so this message means the key passed. Key problems give their own startup errors, such as "no license key was specified".
Sources
All opened on 31 October 2026:
- FXServer source on GitHub: GameServer.cpp (master, v1.0.0.35245 and v1.0.0.38055), commits 06551060 (new list address, 23 January 2026) and e4c0e081 (indirect listing error, 24 June 2026), TcpListenManager.cpp, InfoHttpHandler.cpp, HttpServerManager.cpp, TLSServer.cpp, Console.Base.cpp
- Cfx.re docs: Server Issues, Server Commands, Proxy Setup, Static IPs, Vanilla server setup and example server.cfg
- Cfx.re services: ips.txt, version API for Windows and Linux, Cfx Portal Server Registration Keys
- Cfx.re help center: server does not show up in the server list, technical or server configuration issues
- Cfx.re forum announcements: Kortz Center Heist support and the 15 October cutoff, Portal Update: Server Metadata Management
- Cfx.re forum owner reports: 5430825, 5433648, 5403037, 5425674, 5385277, 5387517, 5423547, 5363298, 5375773, 5237560, 5236315, 4798556
- txAdmin: environment variables (default port 40120)
- Firewalls: ufw(8), New-NetFirewallRule