Scripts / Docs / Admin Panel

Configuration

Everything customers may change is in config/config.lua (never encrypted). Text shown to players and staff is in config/locales/*.lua. Restart the resource after editing.

General

Option Default Meaning
Config.Locale 'en' Language file from config/locales. English and Spanish are included. Missing keys fall back to English.
Config.Debug false Extra console diagnostics. Also registers the tml_adminpanel_pedscan console command. Leave off in production.
Config.CheckForUpdates true Prints a console notice when a newer version exists.
Config.RateLimitMs 500 Minimum time between two state-changing requests from the same staff member.
Config.Framework 'auto' 'auto', 'qbox', 'qbcore', 'ox_core', 'nd_core', 'esx', 'standalone' or 'custom'.
Config.Notify 'auto' 'auto', 'ox_lib', 'qbcore', 'esx', 'standalone' or 'custom'.
Config.Commands.stopSpectate 'tml_stopspectate' Command that leaves spectate mode (Esc also works).
Config.Commands.laser 'tml_laser' Toggles the entity delete laser (admin ACE only).
Config.OpenKey 'F7' Default key to open the panel. Players can rebind it in FiveM’s keybind settings.

Access (ACE)

Access to the panel is plain FiveM ACE, so it works the same on every framework:

add_ace group.admin tml_adminpanel.admin allow
add_ace group.moderator tml_adminpanel.mod allow
add_principal identifier.license:xxxxxxxx group.admin
Option Default Meaning
Config.AcePrefix 'tml_adminpanel' Prefix for the ACE strings above.
Config.StaffGroups { 'admin', 'mod', 'support' } Groups that may open the panel (<prefix>.<group>).

<prefix>.developer gets every permission. <prefix>.admin also gets every permission. Other staff groups get the defaults in the table below, and an admin can grant or revoke individual permissions per person from the Permissions tab.

Bans

Option Default Meaning
Config.ServerName 'My Server' Name shown on the ban screen.
Config.BanAppealUrl '' Appeal link on the ban screen. Empty = none.
Config.BanAppealMinDays 30 Bans shorter than this cannot be appealed. 0 = all appealable. Permanent bans always can.
Config.BanIdPrefix 'BAN' Prefix on ban ids, for example BAN-00042.
Config.BanScreenMode 'card' 'card' (Adaptive Card) or 'text' (plain text, never depends on the renderer).
Config.BanCardNativeButtons false true uses real card buttons (left aligned) if Close ever stops working.
Config.BanDurations 1h to 1 month + permanent Length presets in seconds (0 = permanent). Their labels are bandur_<seconds> in the locale files.

Bans are matched on raw FiveM identifiers when a player connects. They do not depend on the framework.

Optional hooks

Option Default Meaning
Config.MedicalEvents.revive / .heal nil Client event of your EMS resource to fire after the native revive/heal.
Config.OptionalIntegrations.appearance nil Appearance resource used when changing a ped model (setPlayerModel, setPlayerAppearance).
Config.OptionalIntegrations.controlsHint nil Resource showing a controls hint while spectating (showControls, hideControls).
Config.OptionalIntegrations.densityControl nil Resource controlling ped density, raised during NPC Chaos Mode.

Screenshots

Player screenshots need the screenshot-basic resource and an upload key. Set these in server.cfg. They stay on the server: the image is uploaded from the server, and the key is never sent to a player’s client.

set tml_adminpanel:screenshotApiKey "your-upload-key"
set tml_adminpanel:screenshotUploadUrl "https://api.fivemanage.com/api/image"   # optional
set tml_adminpanel:screenshotUploadField "image"                                # optional
set tml_adminpanel:screenshotTTL "24"                                           # hours listed; pinned never expire

Ped models, nameplates, chaos

Config.PedModels (quick presets), Config.Nameplates, Config.Chaos and Config.TrollActions are documented inline in the config file. To add a language for the troll action names, add troll_<id> and troll_<id>_desc to your locale.

Panel colours

Edit web/dist/theme.css (colour tokens as R G B triplets and corner radii). It loads after the panel styles and needs no rebuild. The UI source is in web/ if you want to change layout (npm install, npm run build).

Permissions

Key Name On by default Description
tml_adminpanel.players.view View Players yes View online player list and basic info
tml_adminpanel.players.lookup Player Lookup yes Search and view detailed player information
tml_adminpanel.players.freeze Freeze Players no Freeze/unfreeze player movement
tml_adminpanel.players.kick Kick Players no Kick players from the server
tml_adminpanel.players.ban Ban Players no Ban players from the server
tml_adminpanel.players.teleport Teleport yes Teleport to players or bring players
tml_adminpanel.players.spectate Spectate Players yes Spectate/watch players in real-time
tml_adminpanel.players.rename Rename Character yes Change a character’s first/last name
tml_adminpanel.players.medical Medical / State no Revive, heal, kill, and set armor
tml_adminpanel.players.warn Warn Players no Issue and view player warnings
tml_adminpanel.players.screenshot Screenshot Player no Capture a player’s screen for evidence
tml_adminpanel.screenshots.view View Screenshots yes Browse the shared screenshot evidence gallery
tml_adminpanel.screenshots.surveil Timed Surveillance no Auto-capture a player’s screen on an interval for a set duration
tml_adminpanel.screenshots.delete Delete Screenshots no Permanently remove screenshots from the evidence gallery
tml_adminpanel.players.notes Player Notes yes View and add staff notes on a character
tml_adminpanel.players.resetposition Reset Position no Clear a stuck character’s stored spawn position (offline only)
tml_adminpanel.players.resetbucket Reset Routing Bucket no Return a player stranded in a side dimension to the main world
tml_adminpanel.economy.manage Manage Economy no View and adjust a character’s cash and bank balance
tml_adminpanel.bans.view View Ban List no Browse and search all active bans
tml_adminpanel.announce Announce no Broadcast messages to the server or a single player
tml_adminpanel.groups.view View Groups yes View player group assignments
tml_adminpanel.groups.manage Manage Groups no Add/remove players from groups
tml_adminpanel.ped.model Change Ped Model no Change player ped models
tml_adminpanel.ped.clothing Modify Clothing no Modify player clothing/appearance
tml_adminpanel.troll.basic Basic Troll no Ragdoll, screen and movement effects that wear off on their own
tml_adminpanel.troll.advanced Advanced Troll no Explode, fire, launch, and spawn things on players
tml_adminpanel.troll.extreme Extreme Troll no Eject from moving vehicles, hijack their car, drop them from orbit
tml_adminpanel.stats.view View Statistics yes View server statistics
tml_adminpanel.logs.view View Admin Logs yes View admin action logs
tml_adminpanel.permissions.manage Manage Permissions no Grant/revoke panel permissions to other staff
tml_adminpanel.tools.view Admin Tools yes Access admin tools tab
tml_adminpanel.tools.noclip Noclip yes Toggle noclip/freecam mode
tml_adminpanel.tools.invisible Invisible Mode yes Become invisible to other players
tml_adminpanel.tools.nameplates Player Nameplates yes Show player info above heads
tml_adminpanel.tools.blips Player Blips yes Show every online player on your own map. Only you see them.
tml_adminpanel.tools.chaos NPC Chaos Mode no Arm nearby NPCs and make them brawl (/chaos, /chaosoff)
tml_adminpanel.tools.vehicle Self Vehicle Tools yes Spawn a vehicle for yourself, repair, clean, flip, and delete it
tml_adminpanel.vehicles.manage Manage Vehicles yes Locate, store, impound, and delete player vehicles

Troll actions

Id Name Permission tier
ragdoll Ragdoll tml_adminpanel.troll.basic
drunk Drunk Effect tml_adminpanel.troll.basic
screen_shake Screen Shake tml_adminpanel.troll.basic
explode Explode tml_adminpanel.troll.advanced
fire Set on Fire tml_adminpanel.troll.advanced
launch Launch tml_adminpanel.troll.advanced
vehicle_spawn Spawn Vehicle on Head tml_adminpanel.troll.advanced
ghost_mode Ghost Mode tml_adminpanel.troll.advanced
blackout Blackout tml_adminpanel.troll.basic
bad_trip Bad Trip tml_adminpanel.troll.basic
slow_mo Slow Motion tml_adminpanel.troll.basic
sonic Sonic Legs tml_adminpanel.troll.basic
moon_jump Moon Jump tml_adminpanel.troll.basic
clumsy Clumsy tml_adminpanel.troll.basic
thunderstruck Thunderstruck tml_adminpanel.troll.basic
forced_dance Forced Dance tml_adminpanel.troll.basic
blowout Blowout tml_adminpanel.troll.advanced
animal_ambush Animal Ambush tml_adminpanel.troll.advanced
boxed_in Boxed In tml_adminpanel.troll.advanced
eject Eject tml_adminpanel.troll.extreme
possessed_car Possessed Car tml_adminpanel.troll.extreme
orbit Orbit tml_adminpanel.troll.extreme