Server Lookup Basics

What Is a Cfx.re Join Code and How Does It Work?

What join codes like b578o4 actually are, how Cfx.re's matchmaking resolves them, and every format CFXR accepts.

The short answer

A join code like b578o4 is not the server — it is a matchmaking pointer that Cfx.re looks up on demand to find out where the server currently lives and whether it is online. The server itself is identified by its endpoint, not by the code.

What a join code actually is

When a FiveM or RedM server owner registers their server with Cfx.re, it gets assigned a short alphanumeric code — six characters, lowercase, like b578o4. That code is what gets pasted into Discord invites, server browser listings and community forum posts. It is deliberately opaque: it doesn't encode an IP address, a port or any other detail about the underlying machine.

Instead, the code is a key into Cfx.re's own directory of registered servers. Every time something asks Cfx.re to resolve b578o4, it looks up the current record for that code and returns whatever the server last reported — its name, player list, resources, and, most importantly, the network endpoint clients should connect to right now.

How Cfx.re resolves a code to a live endpoint

Under the hood, a running FiveM server process maintains a connection to Cfx.re's matchmaking infrastructure and periodically reports in: it's alive, here's my player count, here's my current address. Cfx.re keeps that as the live record behind the join code. When a client — or a resolver like CFXR — asks for b578o4, Cfx.re answers with the connect endpoint from that record, not a static value baked in at registration time.

That's why a join code keeps working even after a server owner reinstalls, changes data centers, or switches hosting providers entirely — the code never had a fixed address attached to it. Only the live record does, and that record updates continuously.

The connect endpoint returned for a code is itself one more layer removed from a raw IP — it still has to be resolved over DNS to get an IPv4/IPv6 address, which is what a tool like CFXR does automatically.

Every input format CFXR accepts

You rarely encounter a bare join code in isolation — it usually arrives wrapped in one of a few common formats. CFXR normalises all of them down to the underlying code before resolving anything, so you can paste whichever one you have on hand:

A bare code, like b578o4; a join/-prefixed path, like join/b578o4; a full cfx.re/join/b578o4 URL, the form most commonly shared in server browsers; a fivem://connect/b578o4 deep link, the form Discord invites and in-game prompts typically use; or a full servers.fivem.net server detail page URL, which embeds the same code in its path.

Why codes instead of raw IPs

The whole design exists to solve a mobility problem. Servers move — owners upgrade hardware, switch to a different host for better DDoS protection, or migrate regions to cut latency for their player base. If every invite, bookmark and forum post pointed at a raw IP address, all of that would break the moment the server moved. Because everything instead points at a join code, and the code is resolved fresh every time, a server can change its entire hosting setup without a single broken link.

It also gives Cfx.re a single place to enforce server bans, verify ownership and collect the browser metadata (name, tags, player count) that powers server discovery — none of which would be possible if servers were addressed directly by IP.

Where to go from here

For the full walkthrough of turning a code into an actual IP address, ASN and hosting provider, see how to find a FiveM server's IP address. For the full list of endpoints CFXR exposes if you want to resolve codes programmatically, see the API documentation.

Related guides