Install MonoAdmin on Your FiveM Server in Five Minutes
Install MonoAdmin on a FiveM server step by step: what you need, creating the project, adding the resource, linking it with a code and fixing problems.
This guide is for server owners. It takes about five minutes: create a project in the panel, drop the resource into your server, and link the two with a one-time code.
What You Need
- A FiveM server with OneSync and server artifact 12913 or newer. The resource declares both as dependencies and will not start without them.
oxmysql, if you want character and vehicle data on ESX, QBCore or Qbox. Everything else works without it.- On ESX, version 1.13.5 or later. On Qbox, version 1.22.5 or later. Money, items and character edits may fail on older versions.
- A MonoAdmin account. Sign up in the panel; it is free.
- A Cfx.re account that owns your server’s license key. The resource is delivered through Cfx.re’s asset system and runs only on servers whose key belongs to the account that claimed it. It is not available on FiveM for GTA V Enhanced yet.
Step 1: Create Your Project
In the panel, choose Create Server, name it, and pick your framework. The framework decides which features you get, so choose what the server really runs. The table further down shows the difference.
If the resource later detects a different framework, the panel shows a warning. You can change the framework in Settings at any time.
Step 2: Install the Resource
-
In the setup, choose Claim on Our Store. On our store, sign in with the Cfx.re account that owns your server’s license key and finish the free checkout. Then choose Get MonoAdmin: it opens MonoAdmin in your Granted Assets on portal.cfx.re, where you download it.
-
Unzip it into your
resourcesfolder so thatresources/monoadmin/fxmanifest.luaexists. Keep the folder namemonoadmin, and keep the hidden.fxapfile next tofxmanifest.lua. If you upload from another machine, send the whole folder with SFTP or with FTP in binary mode. -
Add it to
server.cfg, after your framework andoxmysql:ensure oxmysql ensure es_extended # or qb-core / qbx_core ensure monoadmin -
Start or restart the server.
There is nothing to configure in files. Settings come from the panel.
Step 3: Link It With the Code
Run the command the panel shows in the server console, not in game. The txAdmin live console works. A player, even one with ACE access to the command, is refused, and so is another resource.
monoadmin link XXXXX-XXXXX
The code works once and for ten minutes, and the setup has a button for a new one. Creating a code asks you to confirm your password if you have not signed in recently. The setup finishes by itself the moment the server connects. Every time a server is linked, the project owner gets an email.
The link is stored in your server’s KVP storage, not in a convar or a file you edit, and survives restarts. Two more console commands:
monoadmin status
monoadmin unlink
statusshows the version, project, connection, framework and players.unlinkforgets the link. Cached bans stay in force, and they are replaced only when you link the server to a different project.
monoadmin link refuses while the server is linked, so run unlink first. To move the project to another machine, link the new server with a new code. The old server’s link stops working at that moment.
Step 4: Finish the Setup
Back in the panel, the guided setup carries on. It asks for a server icon (your sv_icon or an upload), shows what MonoAdmin found on your server, lets you choose features and a menu key, and offers to invite your team and set up Discord tickets. Every answer is saved as you go, and all of it can be changed later in Settings.
Without a menu key, staff type /madmin in game. The menu opens only for staff whose game account is linked to their MonoAdmin account.
What Each Framework Gets
| ESX | QBCore | Qbox | Standalone | |
|---|---|---|---|---|
| Moderation, live map, Player Monitor, reports, logs | Yes | Yes | Yes | Yes |
| Jobs and money | Yes | Yes | Yes | No |
Character and owned-vehicle data (needs oxmysql) |
Yes | Yes | Yes | No |
| Gang editing | No gangs on ESX | Yes | Yes | No |
| Every job and gang a character belongs to | No | No | Yes | No |
| Inventory editing | Any inventory | ox_inventory or qb-inventory |
ox_inventory |
No |
Optional: Let Another Script Punish
An anticheat or another resource can issue bans, warnings and kicks through MonoAdmin, but only once you name it under Settings > Game Settings. Until then no resource can. These punishments appear in the panel as issued by the game server, with the resource’s name.
exports.monoadmin:createPunishment(source, 'ban', 'Cheating detected', 0, function(result)
-- result.ok is true, or result.code says why not
end)
For a ban, a duration of 0 means permanent. Scripts that log to a Discord webhook can log to a MonoAdmin webhook instead: swap the URL on the Webhooks page.
Good to Know
- Bans hold without the cloud. Your server keeps a local copy of every ban and checks joining players against it first. If you would rather refuse everyone while MonoAdmin is unreachable, turn on the fail-closed setting under Settings > Game Settings. Sticky bans and the local cache are covered in How Sticky Bans Catch Alt Accounts.
- Mutes work with the built-in Mumble voice (and
pma-voiceif present) and the defaultchatresource. Other chat resources are not covered yet, and the panel shows the mute actions as unavailable when your server cannot apply them. - Screenshots and the Player Monitor come from the player’s own game. They show what the player’s client chooses to send: good evidence, not proof.
- Player data the cloud keeps includes names, identifiers and hardware tokens (to enforce bans), visits, and what you write in notes and reports. Player IP addresses are kept on visits for 90 days, then removed, and only the project owner (or a role with the IP permission) sees them unmasked.
Troubleshooting
| Symptom | What to check |
|---|---|
monoadmin link says the code is invalid |
Codes work once and for ten minutes. Make a new one in the setup or under Settings > Server Link |
monoadmin link refuses |
The server is already linked. Run monoadmin unlink first |
monoadmin status shows “disconnected” |
The server needs outbound HTTPS and WSS to the MonoAdmin gateway. Check firewalls; the status line says why the last attempt failed |
| The setup does not notice the link | Check the resource is started: the console prints a MonoAdmin line when it loads |
| The panel says “update available” | Download the new version from portal.cfx.re and replace the folder. The link is kept |
The console says You lack the required entitlement |
The server’s license key belongs to another Cfx.re account than the one that claimed MonoAdmin. Use the account that owns the key |
The console says Failed to verify protected resource |
The hidden .fxap file is missing from the monoadmin folder. Unzip and upload it again, hidden files included |
| The panel says the resource is too old | That version is no longer accepted. Update before it can connect again |
| A framework mismatch warning | The framework you picked differs from what is running. Fix it in Settings |
| Character and vehicle pages are missing | They need ESX, QBCore or Qbox, and oxmysql started before monoadmin |
If the link is ever used from somewhere else while your server is connected, the owner gets an email. If it was not you, link again with a new code. For the full picture, see the documentation, or read what MonoAdmin is and what it costs.