X3D Admin Panel
A free all-in-one FiveM admin panel: players, bans and warnings, alt detection, bags, items, vehicles, weather, player logs and menus for X3D scripts.
Buy / Get freeConfig builderInstallation
- Extract and put the
x3d_adminpanelfolder inresources/ - Add to
server.cfgafteroxmysql(andes_extendedon ESX):
ensure x3d_adminpanel
add_ace resource.x3d_adminpanel command.saveall allow
Database tables are created on first start (install.sql is included if you prefer to run it yourself) · open the panel with PAGEUP or /x3dadmin (change it in config/config.lua)
Who can open it
- ESX: the
superadminandadmingroups get the matching role automatically (Config.GroupRolesinconfig/config.roles.lua) - ACE:
add_ace identifier.license:xxxx x3d_admin.role.owner allow(works on ESX and standalone) - In the panel: the owner adds people to roles or creates new roles under "Roles & permissions"
Default roles: owner (100) · superadmin (80) · admin (60) · moderator (40) — nobody can act on an equal or higher rank
Config files
| File | What it sets |
|---|---|
config/config.lua |
Language, open command/key, theme, framework |
config/config.tools.lua |
Item/weapon pictures, city weather/time, emergency teleport points, vehicle storage hook, give limits, /report |
config/config.logs.lua |
Logged categories, retention, other log tables to prune/show |
config/config.sanctions.lua |
Ban matching, ban lengths, the banned message, the txAdmin file, resources that may not be stopped |
config/config.roles.lua |
Default roles and permissions |
The ESX "Player job / group" menu lists groups in Config.Tools.EsxGroups, lowest first — an admin can only give a group below their own.
Item and weapon pictures
Set your inventory's picture path in config/config.tools.lua — {item} = name as-is, {lower} = lowercased:
Config.Tools.ItemImage = 'nui://ox_inventory/web/images/{item}.png'
Config.Tools.WeaponImage = 'nui://ox_inventory/web/images/{item}.png'
The file lists the paths for x3d_inventory, ox, qb, qs, ps and esx_inventoryhud.
Bans
Bans match identifiers + machine tokens (Config.Sanctions.matchTokens) and add new accounts from the same machine to the existing ban (spreadOnEvade) · IPs are not used by default (matchIp) · import from txAdmin: copy txData/default/data/playersDB.json into the x3d_adminpanel folder, then hold "import from txAdmin" on the "Bans & warnings" page (FiveM blocks reading files outside resource folders), then delete the copy — it holds every player's identifiers · offline admins keep their rank from panel roles, ACE or the ESX group (usersTable)
Weather and time
Config.Tools.WorldSync.Enabled = true lets the panel run weather and time for the whole city (instead of another weather script) · other scripts can read the in-game time:
local hour = exports.x3d_adminpanel:GetGameHour()
local h, m = exports.x3d_adminpanel:GetGameTime()
Logs
The panel records money, items, jobs, chat and joins/leaves from ESX plus X3D scripts' own logs · any script can send one:
TriggerEvent('x3d_admin:log', 'sell', source, { item = 'bread', amount = 5 })
Menus from your own scripts
A script registers a menu with TriggerEvent('x3d_admin:register', schema) plus an exported handler — see x3d_dailylogin/admin.lua and x3d_mailbox/admin.lua for tables, forms, the reward calendar and log pages.
Client exports Open() and Close() let another script hand off to a field tool and then come back to the panel.