ESX
ESX admin panel and staff tools
ESX is the least like the others, and that is where tools get it wrong
Its accounts are not QBCore’s accounts, its job is two columns rather than one blob, and an owned vehicle’s model is a hash. FiveStaff handles each of those as ESX actually keeps them instead of translating them into somebody else’s shape.
Shown on our demo server, which runs QBCore
What FiveStaff sees on ESX
- Characters by identifier
- Money money, bank and black money
- Jobs job and grade columns
- Items ESX’s or your inventory’s
- Vehicles by plate
Framework data
What FiveStaff reads and changes on ESX
What FiveStaff reads
- The character out of the users table, by identifier
- Money, bank and black money — ESX’s three, not QBCore’s
- The job and the grade, from their two columns
- Owned vehicles out of the owned_vehicles table, by plate
- Items from whichever inventory resource is running
What staff can change
- Set an item count, or remove an item
- Set a balance on an account ESX actually has
- Set a job and a grade
- Give or take an owned vehicle
- Move a vehicle to another character, or change its plate
Every one of these goes through the same pipeline as a ban: permission-checked and written to the audit log with what it was before. Item, money, job and vehicle edits can be put back in one press from the player’s profile.
What your staff can do
Run an ESX server from one panel
Everything below works from the web panel, from Discord and, for staff who are playing, in game. Each power is its own permission, so you choose who gets which.
Characters and the economy
Every ESX character with their money, bank and black money, job and grade, and owned vehicles. Staff change any of it, and each change goes on the audit log.
- Edit inventories
- Edit money
- Edit vehicles
- Edit jobs
Players and records
Everyone who has ever joined, and everything staff did about it.
Player log and alerts
What every player actually did, searchable, with alerts you write.
Live view and calls
Watch a player's game as it happens, and talk to them.
Reports
A player types /report in game and your team picks it up in seconds.
Bans and appeals
Bans that survive a new account, and appeals you can actually read.
Staff tools in game
Ban, warn and message from the game, with trust scores over every head.
Discord
Logs, slash commands and staff roles, in the Discord you already run.
In the panel
The screens your staff will use
Real screens from the panel, taken on our demo server, which runs QBCore. On yours, the accounts and jobs are ESX’s own.
Player log
What the player log picks up on ESX
es_extended announces every account and item change on the server, and FiveStaff reads them as ESX sends them — the player first, then the account or the item.
From ESX
- Money, bank and black money changes, with the reason given
- A balance set outright, recorded as the new balance
- Items added and removed through ESX’s own inventory, with the change worked out from the count ESX reports
With ox_inventory
- Items dropped, picked up, given, and taken from another player
- Moves into and out of stashes, boots and gloveboxes, with the plate
- Shop purchases with the price, and crafts with what went into them
- Items created from nothing, with the script that made them
- Items used, and one player searching another
On every server
- Joins and leaves
- Deaths and kills, from the game itself: how, by whom and with what
- txAdmin’s scheduled restarts and shutdowns, and resources stopped or started by hand
- Every line your scripts already send to qb-log, kept word for word
- Your own events, with one line of Lua: exports.fivestaff:logEvent
-- one line, and it is searchable by item and amount
exports.fivestaff:logEvent(source, 'drugs.weed.sold', {
item = 'weed_brick', amount = 5, price = 2500
})
The log is off until you switch it on, and a category you leave off costs your server nothing. The player log and alerts
Your resources
The scripts it works with on ESX
A server picks its inventory, its ambulance job and its clothing separately from its framework. FiveStaff looks for what is actually running and works through it.
Inventories
Detected from what is running, and edited through that resource’s own exports. Where we could not read an inventory’s own code, the server console says so at start, so you can try one item edit on a test character first.
-
ox_inventory -
qb-inventory -
ps-inventory -
lj-inventory -
qs-inventory -
codem-inventory -
core_inventory -
origen_inventory -
tgiann-inventory -
ak47_qb_inventory -
Renewed-Inventory -
disc-inventory -
mf-inventory -
qb-inventory-old
Bills and vehicles
Recognised while they are running, so a payment reads as the bill it was and a handover names both players.
-
esx_billingbills paid -
esx_garagevehicles handed to another player, from version 2.0
Heal and Revive
Revive goes through your ambulance script, so its own death screen and timers are cleared too, rather than a player being stood up the script still thinks is dead.
-
qbx_medical -
qb-ambulancejob -
ps-ambulancejob -
esx_ambulancejob -
wasabi_ambulance -
wasabi_ambulance_v2 -
tk_ambulancejob -
sky_ambulancejob -
brutal_ambulancejob -
osp_ambulance -
p_ambulancejob -
plt_ambulance_job
Food and drink
Fills a player’s hunger and thirst from the panel, on a server running esx_status, which is where ESX keeps them.
-
esx_status
The small print
Where ESX is different
The details a tool gets wrong when it treats every framework as the same one, and what FiveStaff does instead.
An account name it does not have is refused, not translated
QBCore’s cash and crypto do not exist here; ESX has money, bank and black money. A write naming an account this framework does not have comes back refused rather than being quietly mapped onto the nearest one, because the nearest one is somebody’s money.
Vehicle models are hashes, and a plate survives a revert
An owned vehicle’s row holds its properties with the model as a spawn hash, so FiveStaff hashes a model name it is given and reads one back as a hash. The plate round-trips exactly, which is what one-tap revert needs. Modifications and colours are not restored by a revert, and the panel says so where it offers one.
ESX’s own item functions are not always the ones in use
On an ESX server running ox_inventory, ESX’s addInventoryItem puts an item somewhere the player’s inventory is no longer drawn from, and reports success. FiveStaff asks which inventory resource is running before it uses ESX’s own functions, so the item lands where the player will see it.
Install
Put it on your ESX server
One resource, a few lines in server.cfg, and no changes to your framework or your scripts.
-
1
Add your server
Sign in to the panel with Discord, press Add server, give it a name and choose a plan.
-
2
Download the resource
On your server’s dashboard, press Download the resource. The fivestaff folder inside already holds your server key, so there is nothing to fill in.
-
3
Add it to server.cfg
Upload the folder to your resources, keeping its name exactly fivestaff, and add the lines opposite anywhere after es_extended and your inventory start.
-
4
Restart and check
Restart, or type ensure fivestaff in the server console. Within seconds the dashboard says Online. FiveStaff finds ESX from es_extended, and your inventory from whichever inventory resource is started.
-
5
Connect your game database
Under Settings, Database, connect a read-only database user and choose the ESX table layout, so staff see every character, offline ones included.
ensure fivestaff
# lets FiveStaff update itself, and staff start and stop resources
add_ace resource.fivestaff command.restart allow
add_ace resource.fivestaff command.start allow
add_ace resource.fivestaff command.stop allow
Only if it guessed wrong
Most servers never need these. They go above ensure fivestaff.
set fivestaff_framework "esx"
set fivestaff_inventory "ox_inventory"
When FiveStaff starts, the server console says which framework and inventory it is using. Try one edit on a test character before your staff use it on a player.
Why staff use it
Built for the people who keep an ESX server fair
A record of every player, a log of every action, and powers handed out one at a time.
One record for every player
Whichever character somebody is on, their warnings, bans, reports and notes sit on one profile, and a ban checks every identifier they connect with — so a new account is not a fresh start on your ESX server.
Nobody needs in-game admin
Your team is a list in the panel. Staff act from the panel, from Discord or in game with /staff, and you hand out no ace permissions to make that work.
Each power is its own permission
Edit money, Edit inventories, Edit vehicles and Edit jobs are separate permissions, so a trial moderator can read the player log without being able to set a balance.
Every change has a before
The audit log records who did what and what it was before, and item, money, job and vehicle edits can be put back in one press.
Questions people ask first
Is this an ESX admin menu?
It does what staff use an admin menu for — warnings, kicks, bans, reports, freezing, healing and reviving — from a web panel, from Discord, and in game with the /staff commands and a tablet. Your staff need no in-game admin permissions for any of it.
Does it handle black money?
Yes. ESX’s money, bank and black money are read and set by their own names. A request for an account ESX does not have is refused rather than moved to the nearest one.
We run ox_inventory on ESX. Do item edits still work?
Yes. FiveStaff checks which inventory resource is running before it uses ESX’s own item functions, so on an ox_inventory server an item goes into ox_inventory, where the player will see it.
What does the player log pick up on ESX?
Money, bank and black money changes with their reason, items added and removed, bills paid through esx_billing, vehicles handed over through esx_garage, joins, leaves and deaths, and, with ox_inventory, where every item went.
Can an edit be undone?
Item, money, job and vehicle edits are written to the audit log with what they were before, and can be put back from the player’s profile under Framework, Edits. A vehicle that is put back keeps its plate but not its modifications or colours.
Can staff change a character’s name?
Yes, while the character is not in game. That change is written straight to your database, so the database user FiveStaff connects with needs to be able to update your characters table, and it cannot be undone in one press.
Running something else?
Each framework has a page of its own, in its own words.
Point it at your ESX server
Sign in with Discord, add your server, and drop one resource into it. Free for 3 staff, and nothing to cancel if it is not for you.
No card · 3 staff free · One resource