A website for your FiveM server

9 min read4 sections · 4 questions answered
Short answer

A good server website is small: a landing page with a trailer and a Play button (fivem://connect/cfx.re/join/<code>), rules, beginner guides, applications, a live player count read from your server’s /dynamic.json through a small backend, links to Discord and your Tebex store, and basic SEO (title, description, social preview image). Keep content in sync with Discord.

Discord does most of the work for FiveM communities, but it is invisible to search engines and awkward for people who are not yet members. A small website fixes both: it shows up when someone searches your server’s name, and it gives newcomers one clean page that explains everything.

Pages worth having

PagePurpose
HomeTrailer, three key features, Play and Discord buttons
RulesThe full rules, linkable per section
GuidesHow to join, first steps, jobs, key binds
ApplyWhitelist or department applications
StoreLink to your Tebex store
StatusLive player count and restart times

A live player count

Your server answers http://ip:30120/dynamic.json with the current clients and sv_maxclients. Fetch it from your website’s backend (and cache for 30–60 seconds) rather than from visitors’ browsers, so your server IP is not exposed and the server is not hammered.

api/status.js (Node)
let cache = { at: 0, data: null };

export async function getStatus() {
  if (Date.now() - cache.at < 45_000) return cache.data;
  try {
    const res = await fetch('http://127.0.0.1:30120/dynamic.json', { signal: AbortSignal.timeout(3000) });
    const d = await res.json();
    cache = { at: Date.now(), data: { online: true, players: d.clients, max: d.sv_maxclients } };
  } catch {
    cache = { at: Date.now(), data: { online: false } };
  }
  return cache.data;
}

SEO basics

  • Page title with the server name and type (“Harbor City RP — Serious FiveM Roleplay”).
  • A meta description and a social preview image (1200×630).
  • Rules and guides as real pages — they bring search traffic.
  • Link the website from Discord, the server list description and your loading screen.

Building and hosting

A static site (Next.js export, Astro, plain HTML) on a free or cheap host is enough for most servers; only the status endpoint needs a tiny backend. Keep the design consistent with your loading screen and Discord — see branding kit.

Common questions

Does a FiveM server need a website?

Not strictly, but a small site makes your server searchable and gives newcomers one clear page with rules, guides and a Play button.

How do I show the player count on my website?

Read clients and sv_maxclients from your server’s /dynamic.json in a backend, cache it, and display it.

How do I add a Play button?

Link to fivem://connect/cfx.re/join/<code> with a https://cfx.re/join/<code> fallback.

Where should the store link go?

To your Tebex store, from the site navigation and the home page.

Want a loading screen you never have to debug?

Build it in the browser, export once, and edit it whenever — no HTML, no re-uploads.

Start free

More guides