Skip to content
CreateDiscordBot
Menu

Custom FiveM Discord bots for RP and game servers

Whitelist applications with staff review, a live server status panel, and Discord roles that follow players into the city. Built on your own Discord application for FiveM, RedM or Minecraft servers, with the source code handed over.

Usually
Starter bot, from $590
Timeline
1 to 2 weeks
You get
Source code and your own bot token

Example commands

  • /whitelist apply

    Opens the application form in a pop-up and posts the answers to a private staff queue with approve, deny and interview buttons.

  • /status

    Posts a panel with players online, max slots and the connect link that updates itself every minute.

  • /link

    Gives the player a one-time code to enter in game, which ties their Discord account to their game license.

  • /department apply dept:LSPD

    Starts a department application and sends it to that department's own reviewers.

  • /whois member:@Alex

    Shows staff the member's linked license, whitelist status and application history.

  • /appeal

    Opens a ban appeal from your appeals server and routes it to senior staff.

Connects to

  • FiveM (FXServer)
  • RedM
  • txAdmin
  • ESX
  • QBCore
  • MySQL via oxmysql
  • Minecraft servers

A FiveM Discord bot does the paperwork of running an RP city: it takes whitelist applications, shows whether the server is up and how many people are on, links each player's Discord account to their game license, and keeps Discord roles and in-game permissions in step. I build these on your own Discord application, for your framework and your rules, and hand over the code.

Before you pay anyone, check the free and cheap options below. txAdmin, which ships with FXServer, already has a Discord bot with a status embed and a role-based allowlist, and pre-made bots on BuiltByBit sell for $4.99 to $11.99. A custom FiveM Discord bot makes sense when your whitelist, departments and staff tools have outgrown those. Prices and versions on this page were checked in September 2026.

What a FiveM Discord bot does

Here is one full flow for a whitelisted RP server.

  1. A new member arrives. They read the rules and press an accept button, which opens the application channel to them.
  2. They apply. /whitelist apply opens a Discord form. A form holds up to five fields, so a longer application runs over two or three short steps. Discord forms now take text, dropdowns, role and channel pickers, file uploads, radio buttons and checkboxes, which covers age checks and character backstories.
  3. Staff review. The application lands in a private queue with approve, deny and interview buttons. Reviewers can vote, every decision is logged with who made it, and the applicant gets a direct message with the result.
  4. The player links their account. On approval the bot grants the whitelisted role and gives the player a one-time code. They type it in game, and the bot stores their Discord ID against their game license.
  5. Roles follow them in. When staff give someone the LSPD role in Discord, a small resource on your game server applies the matching job or group. Remove the role and the in-game access goes with it.

Staff get /whois for any member, an audit log of every approval and role change, and a status panel that tells players whether the city is up before they open FiveM.

Live status and player count

Every FXServer answers three JSON endpoints: /info.json, /dynamic.json and /players.json, on your server's port, usually 30120. /dynamic.json carries the server name, players online and max slots, which is all a status panel needs.

One change matters for any status bot. Since a July 2026 FXServer update, included in the recommended server build as of September 2026, the public /players.json returns every player as an anonymous "Player" with no identifiers. Names and identifiers only come back when the request carries the token you set in sv_playersToken, in an X-Players-Token header. On a current build, a status bot that lists player names shows only anonymous entries until it sends that token.

/info.json and /players.json are also rate limited per IP address, so the bot polls once a minute from one host and every status panel reads from that one result. For Minecraft, status comes from Server List Ping on TCP port 25565, which is on by default, while the richer Query protocol has to be switched on with enable-query. Rust, Valheim, DayZ and CS2 servers answer Valve's server query protocol, which the GameDig library reads; it supports more than 320 games.

Account linking and role sync

FiveM can report a discord: identifier, but only when the player's Discord app has allowed FiveM to read it, so some players connect without one. That is why I link with a one-time code tied to the license: identifier, which comes from the player's Rockstar account.

ESX and QBCore both end up in FiveM's ACE permission system. ESX's setGroup adds the player's license to a group.<name> principal, and QBCore grants levels such as qbcore.admin as ACE principals too. The companion resource calls those same framework functions, so your existing permission setup keeps working. For Roblox groups, where ranks live on Roblox itself, see Roblox Discord bots.

Departments, tickets and ban appeals

PD, EMS, DOJ and whitelisted gangs each get their own application, reviewer role and roster. Tickets for bugs, reports and refunds open private channels with transcripts, the same design as the ticket bots I build for other communities. Ban appeals run from a separate appeals server or a web form, because someone banned from your Discord can't reach a bot inside it.

What it connects to

System What moves
FXServer (FiveM or RedM) Server name, players online and max slots from /dynamic.json; player names from /players.json with your token
txAdmin Its allowlist can gate joins by Discord role, so the bot manages who has the role and txAdmin enforces it
ESX or QBCore Groups, jobs and ACE principals, through a small companion resource
MySQL via oxmysql Linked accounts, applications and decisions, in the database both frameworks already use
Minecraft Status over Server List Ping or Query; whitelisting over RCON on the same host, since RCON isn't encrypted

The Discord side of this is work I have done before. I built a registration bot for a Swedish online esports league with another developer, where captains signed up through buttons and short forms and the bot created 138 channels and 123 roles in under half an hour for 131 teams. Read the league registration bot case study and the one for the ticket bot with transcripts.

Free bot, builder or custom?

Option Price (September 2026) Good at Watch for
txAdmin built-in bot Free, bundled with FXServer /status embed updated every minute; allowlist by Discord membership, Discord role or approved license No application forms, departments or tickets; the Discord modes need the player's discord: identifier
zdiscord Free, CC BY-NC-SA 4.0 Runs inside FiveM; QBCore commands, automatic ACE permissions, staff chat Last release v7.3.0 in April 2022, built on a forked discord.js
DiscordAcePerms Free, MIT Maps Discord role IDs to ACE groups Last code change May 2023, needs Badger_Discord_API
BuiltByBit pre-made bots $4.99 to $11.99 Status panels, application and whitelist flows, tickets You host and update it yourself
VibeBot $5 or $10 a month FiveM template with whitelist, status, departments and tickets, no code Source export costs $100 each time
DiscordSRV (Minecraft) Free, GPL-3.0 Chat bridge, account linking, group and role sync Minecraft only
A custom bot from me From $590 Your exact flow, framework and data You pay for the build

The BuiltByBit listings checked were "FiveM Discord Bot" at $11.99, "Discord Application & Whitelist Bot" at $9.99 and "FiveM Live Status Bot + Public Website" at $4.99. VibeBot's Lite plan is $5 a month and Pro is $10, or $100 a year.

When those are enough, use them:

  • You want a status embed and role-gated joins. Turn on txAdmin's bot and set the allowlist to Discord Server Roles. It costs nothing.
  • You want a standard application bot and can host it. The $9.99 BuiltByBit application bot is the cheapest route.
  • You don't want to host anything and a template fits. VibeBot at $5 to $10 a month.

A custom build pays off when you need things those don't do: interview stages and staff voting, applications that write straight to your database, Discord roles that set framework jobs and groups, a custom or heavily modified framework, several servers sharing one staff team, or code you can hand to the next developer.

What it costs

Most FiveM bots start at the Starter tier, from $590, delivered in 1 to 2 weeks. That covers one system: for example the whitelist application flow with staff review and role grants, or a status panel with txAdmin's allowlist doing the gating.

  • Community, from $1,490 (2 to 4 weeks): up to three systems sharing one database, for example whitelist, departments and account linking, plus the companion resource that syncs Discord roles with ESX or QBCore as the one integration.
  • Platform, from $3,500 (4 to 8 weeks): a web staff panel, several game servers, or an appeals site.

The quote goes up with two-way sync, more than one framework or server, and moving data out of an old bot. It goes down if txAdmin's allowlist does the gating, and if the application questions are fixed. After launch, Care is $49 a month for hosting and updates, and every build includes the first month. See every tier on the pricing page.

How the build works

  1. Brief. Tell me your framework, server count and current bots in the quote form. If you'd rather plan first, a $249 Bot Blueprint gets you a written spec and fixed price, credited in full if you order within 30 days.
  2. Spec. Commands, forms, roles, data and an acceptance checklist we both sign off on.
  3. Build and test. In a private Discord server and against a test game server, never your live city.
  4. Launch. On your own Discord application, so you hold the token, with source code and setup docs for your repository.
  5. After launch. 30 days of bug fixes, then Care if you want me to keep it running.

I take a limited number of builds each month, so the brief also tells me whether I can start when you need it.

Technical notes

  • Intents: Guilds and Guild Members. Guild Members is privileged, but since Discord's June 2026 change an app with fewer than 10,000 users only has to switch it on in the Developer Portal. Everything runs on slash commands, buttons and forms, so the bot doesn't need to read message content.
  • Permissions: Manage Roles, with the bot's role above the whitelisted and department roles, plus View Channels, Send Messages and Embed Links. Manage Channels only if it opens ticket channels.
  • Data stored: Discord user ID, game license, application answers and staff decisions, in your database.
  • Status check: the core of a status panel is one request. Tested with Node 22.22.2 and 24.15.0 against a mock server that returns /dynamic.json with the field names and types from the FXServer source.
fivem-status.js
// Reads player count and server name from an FXServer's /dynamic.json.
// Node 22 or newer (built-in fetch). FIVEM_SERVER is "ip:port", usually port 30120.
async function getFiveMStatus(server = process.env.FIVEM_SERVER) {
  try {
    const res = await fetch(`http://${server}/dynamic.json`, {
      signal: AbortSignal.timeout(5000),
    });
    if (!res.ok) return { online: false, reason: `HTTP ${res.status}` };

    const data = await res.json();
    return {
      online: true,
      name: data.hostname.replace(/\^\d/g, ''), // strip color codes like ^2
      players: data.clients,              // a number
      max: Number(data.sv_maxclients),    // FXServer sends this one as a string
    };
  } catch (err) {
    return { online: false, reason: err.name === 'TimeoutError' ? 'timeout' : err.message };
  }
}

module.exports = { getFiveMStatus };

If a bot you can add today covers your server, the guide to adding a bot to Discord gets it running in minutes. If it doesn't, send me a brief and I'll reply with a fixed quote.

Common questions

Can the bot show who is online, not just how many?

Yes, but since a July 2026 FXServer change the public players.json hides names and identifiers. The server owner sets sv_playersToken, and the bot sends that token in an X-Players-Token header with each request. I keep the token on the bot's host, never in a Discord message.

Does it work with ESX, QBCore or a custom framework?

Yes. ESX and QBCore both use FiveM's ACE permission system for staff groups, so a small companion resource can apply Discord roles either way. A custom framework needs one extra step: we agree which function the resource calls.

Do I have to give you txAdmin or RCON access?

Not for status, which only reads the server's public endpoints. For linking and role sync I send a small server resource that you review and install yourself, and the bot talks to it with a key you control.

Can you take over a zdiscord or BuiltByBit bot we already run?

Usually. If the bot is broken or stuck on an old library, Bot Rescue covers it for a fixed $149. If you want to replace it, I can import existing whitelist and linking data when it lives in a database or a spreadsheet.

Does the same bot work for RedM and Minecraft?

RedM runs on the same FXServer as FiveM, so status and linking work the same way. Minecraft uses different protocols, Server List Ping for status and RCON for whitelisting, so it is its own build, often with DiscordSRV kept for chat.

Sources

Prices and features were checked on September 27, 2026.

  1. Cfx.re, FXServer source: InfoHttpHandler.cpp (/info.json, /dynamic.json, /players.json)
  2. Cfx.re commit d52296e, 'anonymize player data in HTTP endpoints' (8 July 2026)
  3. Cfx.re server versions API (recommended build 35245, txAdmin 8.1.1, checked 27 September 2026)
  4. FiveM docs, server commands (gamename rdr3 for RedM)
  5. FiveM docs, proxy setup (default port 30120)
  6. FiveM docs, GetPlayerIdentifiers (discord and license identifiers)
  7. Badger Docs, Discord identifier not found
  8. txAdmin docs, Discord status embed
  9. txAdmin source, allowlist modes (Discord Server Member, Discord Server Roles, Approved License)
  10. txAdmin source, Discord bot commands (allowlist, info, status)
  11. QBCore docs, setting permissions
  12. QBCore source, QBCore.Functions.AddPermission (qbcore.<level> ACE principals)
  13. ESX Legacy source, xPlayer.setGroup (add_principal on the license identifier)
  14. zdiscord on GitHub (v7.3.0, CC BY-NC-SA 4.0)
  15. DiscordAcePerms on GitHub (MIT, last commit May 2023)
  16. BuiltByBit, FiveM Discord Bot ($11.99)
  17. BuiltByBit, Discord Application & Whitelist Bot ($9.99)
  18. BuiltByBit, FiveM Live Status Bot + Public Website ($4.99)
  19. VibeBot, FiveM Discord Bot feature page
  20. VibeBot pricing (Lite $5/mo, Pro $10/mo or $100/yr, $100 per source export)
  21. DiscordSRV on GitHub (v1.30.5, GPL-3.0)
  22. DiscordSRV docs, sync setup (group and role sync)
  23. Minecraft Wiki, Server List Ping
  24. Minecraft Wiki, Query
  25. Minecraft Wiki, server.properties
  26. GameDig on GitHub (game server query library)
  27. Discord developer docs, modal response (1 to 5 components)
  28. Discord developer docs, component reference (modal selects, file upload, radio group, checkbox)
  29. Discord developer docs, change log: Changes to Privileged Intent Access (10 June 2026)
  30. Discord developer docs, Gateway intents (GUILD_MEMBERS)

Tell me what your bot needs to do

Send a short brief. You get a reply within one business day with questions or a price range, and a fixed quote before any work starts.

Last updated 2026-09-27 by Adam Peleback.