Skip to content

Lumo Admin Menu ​

Staff console: moderation, bans, ranks, vehicles, developer tools and an object mapper.

Version 1.0.3 · Frameworks QBCore · Qbox · ESX · standalone · Requires oxmysql

Config files · Exports & events · Changelog

A staff console for FiveM: player moderation, bans and warnings, a rank manager, a vehicle hub, developer tools, an object mapper and server controls, in one fast panel. It works on Qbox, QBCore, ESX and standalone servers from the same files.

  • Version 1.0.0
  • Requires only oxmysql
  • Opens with F10 or /adminmenu (both configurable)

What's inside ​

PageHighlights
DashboardPlayers / staff / open reports / active bans / uptime, quick toggles, recent audit entries
PlayersSearch and filter, then tabs: overview (identifiers, money, health, session time, snapshot & compare), moderation (warn / kick / ban, warnings, private staff notes, PM, voice mute, jail, community service, bank freeze), character (job, gang, money, ped model, appearance, routing bucket), items (items, weapons, a vehicle straight into their garage, inventory), teleport (to you, to a location, to another player, to coords), fun, saved rank. Screenshot a player's screen (screenshot-basic).
Reports/report opens a ticket: claim, reply (the player sees it in chat), go to / bring, close and reopen
BansSearchable ban list with unban, offline ban by character / licence
Audit logEvery admin action, searchable, stored in lumo_admin_logs
ServerAnnouncements, weather and time, restart countdown, vehicle cleanup, clear chat, revive all, repair all, kick all, staff chat
VehiclesSpawn from your framework's list by category, 25 tools for the current vehicle, plates
SelfNoclip, god mode, invisibility and more, teleport list, waypoint and "back", slow motion, powers
DeveloperLive position inspector (street, zone, interior, room hash, ground Z), copy in every format, hash calculator, coordinate converter, entity inspector, overlays, cinematic mode, clear area
Objects, Resources, Commands, SettingsProp placer, resource start / stop / restart, every command you may run, panel position and size, config editor

Navigation: Ctrl+K searches players, pages, actions, locations and vehicles. Alt+1-9 jumps to a page, Q/E steps through pages, Esc closes. Hold the eye button in the top bar to see the game behind the menu.


Install ​

  1. Put lumo-adminmenu in your resources folder.

  2. In server.cfg, start it after oxmysql and your framework:

    cfg
    ensure oxmysql
    ensure qbx_core          # or qb-core / es_extended / nothing for standalone
    ensure lumo-adminmenu
  3. Give your staff a rank (see Ranks). The quickest way is with ACEs:

    cfg
    add_ace group.admin lumoadmin.god allow
    add_principal identifier.license:YOUR_LICENSE group.admin
  4. Optional: send admin logs to Discord.

    cfg
    set lumo_admin_webhook_high "https://discord.com/api/webhooks/..."   # bans, ranks, money, items
    set lumo_admin_webhook      "https://discord.com/api/webhooks/..."   # everything else

Restart the server. The database tables (lumo_admin_bans, lumo_admin_warns, lumo_admin_staff, server_objects) are created on first start, and sql/lumo-adminmenu.sql has the same schema if you prefer to import it by hand.

Coming from qb-adminmenu? Remove or stop qb-adminmenu. This resource provides that name, so scripts that depend on it keep working. Ranks saved by older Lumo builds are imported automatically.


Ranks ​

Ranks are listed in Config.Ranks, highest first (default: god → admin → staff). Every action has a minimum rank in Config.ActionPermissions, and higher ranks inherit everything below them. A player has a rank when any of these is true:

SourceExample
The lumoadmin.<rank> ACEadd_ace group.mod lumoadmin.staff allow
A framework ACE named in the rank's aces (QBCore and Qbox)QBCore's admin ACE, Qbox's group.admin ACE
The player's ESX group, mapped in Config.ESXGroupssuperadmin → god, admin → admin
A rank saved in the menu's Permission ManagerPlayers → Permissions
The plain command ACEalways the top rank

Ranks saved in the menu are stored per licence. On QBCore and Qbox they are also given to the framework for that session, so the framework's own staff commands open up too. Nobody can grant a rank above their own.


Frameworks ​

Config.Framework = 'auto' picks Qbox > QBCore > ESX > standalone.

QboxQBCoreESXStandalone
Players, character names✔✔✔Steam/FiveM name
Give item / weaponox_inventoryqb / ox / qs inventorybuilt-in, ox, qs—
Set job + grade✔✔✔—
Money (cash / bank / crypto*)✔✔✔ (*black money)—
Save vehicle to garageplayer_vehiclesplayer_vehiclesowned_vehicles—
Offline ban searchplayersplayersusers—
Bans, warnings, reports, ranks✔✔✔✔
Noclip, spectate, dev tools, powers, objects✔✔✔✔

Anything that a server cannot do is hidden from the menu, not left broken.


Integrations ​

Each entry in Config.Integrations is 'auto' (first one found), 'none' (switch the feature off) or a resource name. You can also pass a table of your own functions, for example:

lua
revive = { provider = 'custom', server = function(target)
    TriggerClientEvent('my_ambulance:revive', target)
end },
FeatureSupported out of the box
Inventorylumo-inventory, ox_inventory, qb-inventory, qs-inventory, ESX built-in
Revive / killqbx_medical, qb-ambulancejob, esx_ambulancejob, wasabi_ambulance; otherwise a native revive
Clothing editorsn_appearance, lumo-clothing, illenium-appearance, fivem-appearance, qb-clothing, esx_skin
Weather & timeqb-weathersync, Renewed-Weathersync, cd_easytime, vSync; otherwise sent to every client
Vehicle keysqbx_vehiclekeys, qb-vehiclekeys, wasabi_carlock, qs-vehiclekeys
Fuelox_fuel, cdn-fuel, LegacyFuel, ps-fuel, qb-fuel, lj-fuel; otherwise the native fuel level
Jailqb-prison, qbx_prison, xt-prison, or your own set / release functions
Object gizmoobject_gizmo (free, not included). Without it, objects are saved where you place them

Commands ​

All names live in Config.Commands; rename one, or set it to false to leave it out (ESX already has /noclip and /coords, for example).

CommandWhoWhat
/adminmenu, /adminstaffopen the menu
/report <message>everyonemessage online staff
/reportr <id> <message>staffreply to a report
/reporttogglestaffstop / start receiving reports
/staffchat <message>staffchat with online staff
/announce <message>announceserver-wide announcement
/warn <id> <reason>, /warnings <id>, /delwarn <warning id>warnwarnings
/kickall [reason]kickallkick every player
/noclip, /coords, /blips, /namessee configdeveloper toggles
/admincar, /maxmods, /fixall, /deletegunsee configvehicle tools
/setmodel <model> [id], /restoreappearance [id], /setspeed, /setammosee configplayer tools
/vector2, /vector3, /vector4, /headingstaffcopy coordinates

Configuration notes ​

  • Bans are stored in lumo_admin_bans and checked when a player connects. On QBCore and Qbox they are also written to the framework's bans table (Config.Bans.mirrorFrameworkTable). A ban length of 0 is permanent.
  • Exploit protection: a player with no staff rank who fires an admin event is banned (Config.Bans.banOnExploit). Staff who lack the rank for one action are only told no.
  • Config editor (read and overwrite other resources' config files from the menu) is off by default. Turn it on in Config.ConfigEditor and list the identifiers allowed to use it.
  • Server-specific extras (community service, bank freeze, dealers, race access, LumoCoins) are off by default and only appear when enabled and their resource is running.
  • Teleport list: Config.TeleportLocations (Self page and player teleport).
  • Restart countdown: Config.RestartWarning.announceAt sets the warnings; quitAtZero = true shuts the server down at zero so txAdmin restarts it.
  • Vehicle cleanup: Config.VehicleCleanup.warnSeconds of chat warning, then every vehicle with nobody inside is deleted.
  • Reports live in memory for the session (Config.Reports.keep). Staff notes and the audit log are kept in lumo_admin_notes / lumo_admin_logs.
  • Player screenshots need screenshot-basic running.
  • Translations: copy locales/en.lua, change Locales['en'] to your language code and set Config.Locale.

Troubleshooting ​

ProblemFix
"You do not have permission to open the admin menu"Your account has no rank. Check the ACE lines above, or your ESX group in Config.ESXGroups.
Menu opens but player list is emptyPlayers have not loaded a character yet. Set Config.Debug = true for a dependency report.
Give item says "no supported inventory"Start one of the inventories listed above, or set Config.Integrations.inventory.
Revive does nothingName your ambulance resource in Config.Integrations.revive or add a custom server function.
Weather snaps backA weather sync resource that is not listed is overriding it. Add your own setWeather / setTime functions.

Credits ​

  • Fonts: Barlow Semi Condensed, Barlow Condensed and Oxanium, under the SIL Open Font License (licence files are in nui/src/fonts in the open-source edition).
  • object_gizmo is a separate free resource (GPL-3.0) and is not included.

© 2026 Lumo — see LICENSE.txt.