
You click Connect, FiveM sits on "Requesting server variables..." for a while, and then the "Connection failed" screen ends with CURL error code 28 (Timeout was reached). Your game files are fine: FiveM asked a server for something and no answer came back in time. One question decides the fix: does it happen on every server, or on one? Here is how to read the message and fix each case, from FiveM's source code, Cfx.re's docs and forum reports, checked on 3 November 2026.
Quick answer: CURL error code 28 (Timeout was reached) means FiveM tried to connect to a server's address and port and got no reply before it gave up. Cfx.re's help center says CURL errors come from networking problems, at the server host or on your internet connection, and are not caused by FiveM or FXServer. If only one server fails, its owner has to fix it: the server is down, its port is closed or not forwarded, or a firewall or DDoS filter drops your traffic. If every server fails, including Cfx.re's test server (connect cfx.re/join/y4lg95 in the F8 console), restart your router, switch off any VPN, check your firewall and antivirus, and try another network such as a phone hotspot.
What "CURL Error Code 28 (Timeout Was Reached)" Means
FiveM makes its web requests with curl, a common download library. Its HTTP client (HttpClient.cpp) prints curl's own message, then the code number and its name. A full line looks like this:
Failed to fetch server variables. Failed to connect to 203.0.113.10 port 30120 after 21047 ms: Timed out - CURL error code 28 (Timeout was reached)
Read it from left to right:
- The first words tell you which step of the join failed (see the table below).
- The address and port are where FiveM tried to connect. 30120 is the default game port; a host name on port 443 means a proxy or DDoS filter.
- "after 21047 ms: Timed out" is how long it waited. Most forum reports show about 21 seconds. Microsoft documents that Windows waits 3 seconds for an answer to a connection request and doubles the wait on each retry, and 3 + 6 + 12 seconds adds up to those 21.
- Code 28 is curl's
CURLE_OPERATION_TIMEDOUT. curl's source turns a Windows connection time-out into this code. A server that actively refuses the connection gives code 7 instead, and a host name that cannot be looked up gives code 6.
So code 28 means silence: the request went out and nothing came back. That is typical of a firewall or filter that drops traffic, a port that is not forwarded, a machine that is offline or a wrong IP.
Does your message stop at "Failed to fetch server variables." with nothing after it? Then streamer mode is on. FiveM's NetLibrary.cpp leaves the address and the curl part out when ui_streamerMode is enabled, so turn it off for one attempt to see the full line.
Where the Join Stopped
Cfx.re's Proxy Setup page lists the order of a join: /info.json from the connect address, initConnect, the server's endpoints, the configuration from the chosen endpoint, file downloads, and only then UDP. Each step has its own error text:
| Message starts with | Step that timed out | What it points to |
|---|---|---|
Failed to fetch server variables. | The first request, GET /info.json | Nothing answers on that address and port from your network |
Obtaining configuration from server failed. Error state: | The content manifest, getConfiguration on the server endpoint | First contact worked, but the endpoint the server handed out does not answer |
ResourceCacheDevice reporting failure downloading and a file name, in the F8 console or log | A resource download | The server's file server, a file server override, or a slow connection |
A host name with port 443 | The server's connect proxy | The proxy or DDoS filter in front of the server |
If the web requests work but UDP is blocked, you get a different message: "Failed to get info from server (tried 3 times)", which FiveM follows with a hint for the server owner to allow UDP packets.
Step 1: Every Server or Just One?
Cfx.re's CURL error article starts with this test, and the answer decides everything after it:
- Join two or three other busy servers from the server list.
- Join Cfx.re's test server: press F8 and type
connect cfx.re/join/y4lg95. It answered our check on 3 November 2026.
- Other servers work, one does not: the problem is that server. Go to "If Only One Server Times Out".
- Nothing works, not even the test server: the problem is on your side. Continue with step 2.
Step 2: Fix CURL Error 28 on Every Server
Work through these in order and retry the test server after each one.
Restart your network. Shut down the PC, unplug the router for a minute and start both again. When a player reported the error on every server in June 2025, a long-time forum member replied that restarting all network equipment "is the basic first step with these things regardless of other factors".
Switch off your VPN. In Cfx.re's words: "While some VPN services may bypass filters put in place by ISPs, others may cause CURL errors to occur."
Allow FiveM through your firewall. Cfx.re: "Connections to FiveM services may be blocked by your firewall." In Windows Security, open Firewall & network protection, then Allow an app through firewall, and check that the FiveM entries are ticked. To list every firewall rule that names FiveM, run this in PowerShell:
Get-NetFirewallApplicationFilter | Where-Object Program -like '*FiveM*' | Get-NetFirewallRule | Format-Table DisplayName, Direction, Action, Enabled
Watch for Block in the Action column. Microsoft's firewall rules page says explicit block rules "take precedence over any conflicting allow rules", and Windows creates block rules when someone cancels its firewall prompt for an app. Disable such a rule in Windows Defender Firewall with Advanced Security (wf.msc) and retry.
Check your antivirus. A security suite with its own firewall or web shield is a second firewall. Pause it for one attempt; if FiveM connects, add FiveM as an exception and turn it back on. Cfx.re's client issues page blames aggressive antivirus for other FiveM problems too.
Test the port outside FiveM. Copy the IP and port from the error and run this in PowerShell:
Test-NetConnection 203.0.113.10 -Port 30120
TcpTestSucceeded : True means your PC reaches the server, so something on the PC filters FiveM itself: recheck the firewall and antivirus. False on a server others are playing on means the path from your connection is blocked.
Try another network. Connect the PC to a phone hotspot and retry. If FiveM works there, your home network or provider is the cause: check the router's firewall, parental controls or security filters. On a school or work network, Cfx.re says to ask the network administrator whether they block FiveM. If it fails on every network (a player in September 2026 had exactly that after trying Ethernet, Wi-Fi and a hotspot), look at the PC itself: firewall, antivirus or VPN software.
Ask your provider. If you don't use a VPN, the same forum member suggested one test through a VPN, then contacting your provider's support. If FiveM works through the VPN, your provider's route is the problem.
Flushing DNS rarely helps: it fixes name lookups, and a failed lookup is code 6, not 28.
If Only One Server Times Out
Then the server is the problem, and Cfx.re's advice is to contact the server owner. Before you do:
- Check the server is up. Look for it in the server list and check its Discord for downtime or a new address.
- Check the port. If the error names port 40120, you are connecting to txAdmin's web panel, which uses that port by default. A forum reply to someone with exactly that error: "FiveM uses port 30120 by default, and you are using port 40120, commonly used by txAdmin."
- Ask if your IP is blocked. If others are playing and only you time out, the server's firewall or DDoS filter may be dropping your address. An owner on the forum traced their own CURL 28 to "my firewall block my IP".
- Send the details. Give the owner the full error line, with streamer mode off, and the time it happened.
If You Own the Server
If players get CURL error 28 while you can join, the server runs but is not reachable from outside. In October 2026 a forum member opened with two questions for an owner with this problem: "Can someone outside your network join using the direct IP, or does that fail too? Are you using a hosting provider or running the server at home?"
- Check that FXServer runs and that its console shows no startup errors.
- Test from outside your network. Cfx.re's server issues FAQ suggests a Direct Connect test: on another network, press F8 in FiveM and type
connect 203.0.113.10:30120. Or openhttp://203.0.113.10:30120/info.jsonin a browser there; it should show your server's details as JSON. A test from the server PC never crosses your router. - Open the game port for TCP and UDP. The
endpoint_add_tcpandendpoint_add_udplines in server.cfg set it, 30120 in Cfx.re's example config. On Windows, in 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
On Linux with UFW, sudo ufw allow 30120 opens both protocols.
- Forward the port at home. A server on your own PC needs TCP and UDP 30120 forwarded in the router to that PC. Without it, as a forum member told a home host, "you will only be able to join using your local IP", and everyone else gets CURL error 28.
- Check proxies and endpoints. With a connect proxy or DDoS filter set through
sv_listingHostOverride, players who join from the list reach that address first, so a proxy that is down times them all out. IfObtaining configuration from server failedtimes out, checksv_endpoints: Cfx.re describes it as "the actual endpoint your server is hosted on, or one or multiple server endpoint proxies". With several entries, FiveM picks one at random per join, so one broken entry makes only some joins fail. If your firewall only lets the proxy in, list the proxy there, not the server's own IP. - Check your own blocks. Firewall deny lists, ban tools and DDoS filter rules can drop single players while everyone else plays.
Server also missing from the list? Our guide to "Server list query returned an error" covers that, and the server list guide covers names, tags and placement.
On Space-Node's FiveM hosting, txAdmin comes pre-installed and every plan includes DDoS protection. If players time out on your server, send our support the full error line and the time it happened, by live chat, Discord or email, from 08:00 to 20:00 UTC.
FAQ
What does "Connection failed: CURL error code 28 (Timeout was reached)" mean in FiveM? FiveM tried to reach a server's address and port and got no reply in time: a network problem, not a problem with your game files.
Why do I get CURL error 28 on every FiveM server? Something between your PC and the internet drops FiveM's connections: a firewall or antivirus rule, a VPN, your router or the network you are on. Work through step 2.
Why can I join my own FiveM server but my friends get CURL error 28?
You are on the same network as the server and they are not. Forward TCP and UDP 30120 in your router, allow the port in Windows Firewall, and have a friend test with connect your-ip:30120 from their own connection.
Does clearing the FiveM cache fix CURL error 28? Rarely. The cache holds files FiveM downloaded from servers, and in most reports the request that times out comes before any download starts. Our cache guide covers what a cache clear does fix.
Is CURL error 28 the same as a FiveM timeout in game? No. Error 28 stops you before you load in. If you get into the server and later see a "Timed out" screen, the server stopped answering an existing connection; our FiveM timeout checklist covers that case.
Can a VPN fix CURL error 28? Sometimes. Cfx.re says some VPNs get around provider filters while others cause CURL errors. Turn yours off first; if you don't use one, a single test through a VPN shows whether your provider's route is the problem.
Sources
All opened on 3 November 2026:
- Cfx.re help center: Receiving a CURL error when using the FiveM client, Troubleshooting FiveM and RedM technical or server configuration
- Cfx.re docs: Client Issues, Server Issues, Proxy Setup, Vanilla server setup and example server.cfg
- FiveM source on GitHub: NetLibrary.cpp, HttpClient.cpp, ResourceNetBindings.cpp
- txAdmin: environment variables (default port 40120)
- curl: libcurl error codes, connect.c in curl 8.5.0
- Microsoft: TCP/IP retransmission time-out, Windows Firewall rules, Test-NetConnection, Get-NetFirewallApplicationFilter, New-NetFirewallRule
- ufw(8)
- Cfx.re forum reports: 5431902, 5429362, 5432146, 5336308, 5364046, 5234625, 5430833, 5199452, 5216205, 5085957, 4765959, 5427845, 5394007