manniche_admin and can change before the release.Config files
Three files hold the settings.
config/config.lua: shared, sent to every client. No secrets here.config/server.lua: server only. Owners, bot token and webhook URL.config/permissions.lua: permission nodes and default roles. See Permissions and roles.
Core options
In config/config.lua.
| Option | Default | What it does |
|---|---|---|
Config.Debug | false | Prints extra debug lines. |
Config.ServerName | 'ADMIN PANEL' | Name shown in the UI. |
Config.BrandShort | 'AP' | Short brand text shown in the UI. |
Config.Framework | 'auto' | 'auto', 'esx', 'qb', 'qbox', 'ox' or 'standalone'. Other values fall back to 'auto'. |
Config.Inventory | 'ox_inventory' | Inventory adapter. Only 'ox_inventory' is implemented. |
Config.EnableJobs | true | Jobs feature flag. |
Config.EnableGangs | false | Gang UI. ESX has no native gang system. Leave false unless you run a gang resource. |
Config.EnableStashes | true | Enables the stash tools. |
Config.EnableAuditLogs | true | Enables the audit log. |
Config.OpenCommand | 'adminmenu' | Chat command that opens the panel. |
Config.ReportCommand | 'report' | Chat command every player can use to open a report. |
Config.OpenKey | 'F10' | Default key. Set to false to disable the keybind. |
Config.PlayerBlipsDefault | false | Show all online players as blips on the map by default. |
Config.GangJobs | {} | Job names flagged as gangs the first time the Jobs tab loads. |
Config.MaxDatabaseResults | 50 | Row limit for database tool results. |
Config.Refresh | { dashboard = 7500, players = 5000 } | Live refresh intervals in ms while the panel is open. |
Config.RootRole | 'owner' | Root role. Members bypass permission checks and manage staff. |
Config.MaxNpcDensity | 1.0 | NPC density, 0.0 (no NPCs) to 1.0. |
Config.PartyMaxSeconds | 1800 | Safety cap on party event duration. |
Config.PropPlaceMaxDistance | 60.0 | Maximum distance in metres between the admin and a placed prop. |
Config.ProtectedResources | {} | Extra resources the panel may never start, stop or restart. Added to a built-in list that includes es_extended, oxmysql, ox_lib, ox_inventory and this resource. |
Identifiers
| Option | Default | What it does |
|---|---|---|
Config.AllowSteam | true | Include Steam identifiers in the panel. |
Config.AllowDiscord | true | Include Discord identifiers in the panel. |
Config.ExposeIP | false | Show IP addresses in the panel. Only enable it if your privacy setup allows it. |
Discord
The audit log can post to a Discord webhook. The webhook URL is set in config/server.lua, because config.lua is downloaded by clients.
| Option | Default | What it does |
|---|---|---|
Config.Discord.Enabled | false | Turns the webhook on. Can also be changed in the Logs tab. |
Config.Discord.Username | 'Manniche Admin' | Name the webhook posts under. |
Config.Discord.Categories | see below | Per-category toggles, editable in the UI. |
Config.Discord.Webhook (server.lua) | '' | Channel webhook URL for the audit log. |
Config.DiscordBotToken (server.lua) | '' | Optional bot token. With it, the panel shows Discord names instead of Steam or Rockstar names. |
Default categories: players, moderation, economy, inventory, jobs, staff, server, security and database are true. session is false.
Owners (server.lua)
| Option | Default | What it does |
|---|---|---|
Config.Owners | {} | Identifiers with full root access without a database row. Full identifiers (license:...) or the raw id part are accepted. |
Config.OwnerAce | 'manniche_admin.owner' | ACE that also grants owner access. Set to false to disable. |
Rate limits
Config.RateLimits: actions per second, per admin, per bucket.
| Bucket | Default |
|---|---|
default | 8 |
teleport | 5 |
money | 3 |
inventory | 10 |
database | 4 |
staff | 4 |
UI defaults
Server-wide defaults in Config.UI. Each admin can override them unless the setting is locked.
| Option | Default | What it does |
|---|---|---|
DefaultTheme | 'slate' | slate, dark, light or midnight. |
Accent | '#6C7CFF' | Accent colour. |
DefaultRadius | 6 | Corner radius in px. Keep between 0 and 12. |
DefaultDensity | 'standard' | comfortable, standard or compact. |
DefaultLocale | 'da' | Default UI language. See Language. |
DefaultCurrency | nil | nil derives the currency from the locale. |
NavigationMode | 'sidebar-left' | sidebar-left, sidebar-right or topnav. |
EnableTabs | true | Browser-style workspace tabs inside the panel. |
Locked | all false | Keys theme, accent, navigation, density, tabs. A locked setting cannot be overridden by admins. |
Language
The UI ships with two locales, en (English) and da (Dansk), in web/src/i18n/locales. Set Config.UI.DefaultLocale to one of them. Missing keys fall back to English. Adding a locale needs a UI rebuild.
Jail
Config.Jail is enforced by the server. A jailed player is teleported to a random cell, and to ReleasePos on release.
| Option | Default | What it does |
|---|---|---|
Enabled | true | Turns jail on. |
Cells | 3 vec3 positions | vec3(1641.6, 2570.4, 45.6), vec3(1649.9, 2570.4, 45.6), vec3(1658.3, 2570.4, 45.6) |
ReleasePos | vec3(1847.0, 2585.9, 45.7) | Where the player is placed on release. |
Radius | 40.0 | How far from the cell the player may move before the server pulls them back. |
MaxMinutes | 1440 | Maximum jail time. |
Allowed hosts
| Option | Default | What it does |
|---|---|---|
Config.PartyAllowedHosts | {} | Hosts for party songs. Only https URLs to a direct audio file (.mp3 .ogg .wav .m4a .aac) on these hosts are accepted. The song plays in every player's NUI, so the host sees every player's IP. Empty disables songs; party lights and text still work. |
Config.AvatarAllowedHosts | { 'cdn.discordapp.com', 'media.discordapp.net', 'i.imgur.com' } | Hosts for custom staff avatars (https only). Empty disables custom avatars. |