Fix “Failed handshake to server” and HTTP 502, 503 or 403 in FiveM

“Failed handshake to server” means FiveM reached something at the server's address, but its join request did not get a proper answer. When an HTTP code is shown, the answer came from a proxy, filter or firewall in front of the server rather than from a healthy FXServer.

By the Nodewave team · Updated 8 November 2026

What the error means

Before the game loads, FiveM sends the server a join request, known as a handshake, to get permission to connect. If that request fails, you see this error. If the message ends with an HTTP code, something answered but did not pass the request on to FXServer. If it ends with a CURL code instead, the connection itself failed; see the guide to FiveM CURL errors.

What the HTTP code means

CodeWhat it usually means
HTTP 502A proxy in front of the server could not get a valid reply from it: the server is stopped, crashed or unreachable from the proxy.
HTTP 503The server or the proxy is overloaded, restarting or refusing new requests for now.
HTTP 504The proxy waited for the server and gave up. The server is frozen or too slow.
HTTP 403Something blocks you on purpose: a firewall rule, a DDoS filter, a country block or a ban.
HTTP 405Whatever answered does not accept the join request. It happens with a web proxy in front of the game port, or with a problem on Cfx.re's side.

Quick checks for players

  1. Connect directly. Press F8 and type connect ip:port with the server's address. This skips the server list and works for many players.
  2. Try other servers. If every server fails, the problem is your network or Cfx.re, not one server. If only one fails, tell its owner.
  3. Check your network filter. School, work and some ISP filters block FiveM. Ask for cfx.re to be allowed, or use a phone hotspot to test.
  4. Turn off your VPN and check that your firewall and antivirus allow FiveM.
  5. Wait and compare. If the error mentions authentication, a ticket or a Cfx.re host name, it is not the server. Ask in the community's Discord whether others see it too, flush your DNS and try again later.

Fixes for server owners

1. Run a current server build

Players have reported handshake errors on old FXServer builds that the current build no longer shows. Update to the latest recommended build and restart.

2. Test the server from outside

From a computer on another network, request the server's info page and look at the status line:

curl -i http://YOUR_SERVER_IP:30120/info.json

HTTP 200 with JSON means FXServer answers. Anything else, or a timeout, means something between the player and the server is in the way.

3. Take web proxies off the game port

FiveM needs raw TCP and UDP on the game port. An HTTP proxy such as nginx, Apache or Cloudflare's proxy in front of it causes 502, 503 and 405 errors. If you need attack filtering, use a protected IP that passes TCP and UDP through, not an HTTP proxy.

4. Check bans and rate limits

A 403 for some players usually means a rule blocks them. Review fail2ban jails, iptables rate limits, country blocks and DDoS filter rules. Many players share one IP address on mobile and campus networks, so a strict per-IP limit can lock out a whole group. Ask an affected player for their IP address and check your logs for it.

5. Check server health

A server that is restarting or stuck on a long hitch answers with 503 or 504. Watch the console around the time of the errors and fix hitch warnings; see how to fix the server thread hitch warning.

6. Check your host's firewall and blocklists

Some VPS panels have their own firewall in front of the operating system. Make sure it allows TCP and UDP on the game port, and that your server's IP address is not on a blocklist.

Errors that hit every server

“Could not fetch C->S authentication ticket”, “Could not resolve host” with a Cfx.re name, and HTTP errors from the authentication step usually affect every player on every server. They sit between the player's PC and Cfx.re's services, so there is nothing to fix on your server. They often clear on their own within hours; flushing DNS or switching to 1.1.1.1 helps when the cause is DNS.

Still stuck?

Note the exact error text, the time, the player's IP address and the result of the curl test. With those, your host can check its logs and see where the request stopped.

Host your FiveM server in Singapore

Low ping for players in India, Malaysia and Indonesia, on AMD EPYC with NVMe and Gcore DDoS protection on every IP.

FiveM hosting in Singapore →