Configurations
config.lua; server-side logging lives in sconfig.lua. Changes take effect on resource restart.General
| Setting | Type | Default | Description |
|---|---|---|---|
Config.Framework | string | 'auto' | 'auto', 'esx', 'qbcore', 'qbox', 'standalone' |
Config.Debug | bool | false | Verbose console output |
Config.Locale | string | 'en' | Default language (fallback to en) |
Config.DetectClientLocale | bool | false | Auto-detect player language |
Config.DisablePageContentCopy | bool | true | Disable text selection in pages |
Config.DisableDataPermissions | bool | false | Bypass job restrictions (everyone sees everything) |
Config.IFrameInsertIntoPage | bool | true | Allow iframe embeds in pages |
Commands & Keybinds
| Setting | Type | Default | Description |
|---|---|---|---|
Config.Commands.Help | string | 'guidebook' | Open guidebook command |
Config.Commands.Admin | string | 'guidebookadmin' | Open admin panel command |
Config.Commands.SendHelp | string | 'sendhelp' | Send help to player command |
Config.Commands.Navigate | string | 'gps' | Navigate to help point command |
Config.RegisterOpenKey | string/false | 'F9' | Keybind to open guidebook (false to disable) |
Config.Keys.OpenGuidebook | string | 'F9' | Key used for the registered keybind |
Config.Keys.HelpPointOpen | int | 38 | FiveM control number for help point interaction (E) |
Permissions
| Setting | Type | Default | Description |
|---|---|---|---|
Config.Permissions.OPEN_ADMIN_PANEL | string | 'guidebook.admin' | ACE permission for the admin panel |
ACE is checked first, with framework fallbacks for admin roles (QBCore: admin/god, ESX: admin/superadmin). See the Installation page for server.cfg examples.
Themes
| Setting | Type | Default | Description |
|---|---|---|---|
Config.ActiveTheme | string | 'blue' | Active theme: blue, green, yellow, silver, red |
Config.EnableThemeChange | bool | true | Allow in-game theme switching |
Themes are applied via CSS variables and persisted in localStorage. Try the live switcher on the Preview page.
Allowed iframe Domains
Websites can only be embedded if their domain is whitelisted in Config.AllowedIframeDomains. This list is sent to the NUI at runtime, so no JavaScript editing is required - just add the domain here.
Config.AllowedIframeDomains = {
'youtube.com', 'www.youtube.com', 'youtu.be',
'youtube-nocookie.com', 'www.youtube-nocookie.com',
'imgur.com', 'i.imgur.com',
'streamable.com',
'docs.google.com', 'drive.google.com',
'player.twitch.tv', 'clips.twitch.tv', 'www.twitch.tv',
'w.soundcloud.com', 'open.spotify.com',
'codepen.io', 'jsfiddle.net', 'discord.com',
'mizuscripts.com', 'www.mizuscripts.com', -- add your own here
}List both example.com and www.example.com. The target site must also permit embedding - some send X-Frame-Options: DENY or a restrictive CSP and cannot be embedded anywhere.
Permission Groups
Define named groups of jobs for bulk restriction assignment in the admin panel.
Config.PermissionGroups = {
emergency = {
label = 'All Emergency Services',
jobs = { 'police', 'ambulance', 'fire' }
},
government = {
label = 'All Government Jobs',
jobs = { 'judge', 'lawyer', 'mayor' }
},
}Groups are resolved server-side - you can also use @emergency as a job name in permission arrays.
Multiple Guidebooks
Define separate guidebooks (e.g. rules, jobs, FAQ). Players see a guidebook selector in the sidebar.
Config.Guidebooks = {
{ id = 'default', title = 'Guidebook', icon = 'fas fa-book' },
{ id = 'rules', title = 'Server Rules', icon = 'fas fa-gavel' },
{ id = 'jobs', title = 'Job Guides', icon = 'fas fa-briefcase' },
}Custom Branding
Config.Branding = {
LogoURL = 'https://your-server.com/logo.png', -- Replaces default book icon
Title = 'My Server Guide', -- Custom sidebar title
CustomCSS = '', -- Raw CSS injected into NUI
}Help Points, Markers & Search
| Setting | Type | Description |
|---|---|---|
Config.HelpPoint | table | Default draw/interact distances, text size/offset |
Config.Marker | table | Default marker appearance |
Config.Blip | table | Default blip appearance |
Config.Search.MinSearchLength | int | Minimum query length (default 3) |
Config.Search.MaxResults | int | Max results returned (default 50) |
Config.FrameworkTriggers.notify | string | Custom notify event (empty = auto-detect by framework) |
Server Logging (sconfig.lua)
| Setting | Description |
|---|---|
SConfig.LogType | 'discord' or 'fivemanage' |
SConfig.LogWebhook | Discord webhook URL (leave empty to disable) |
SConfig.FivemanageToken | Token for Fivemanage logging |
SConfig.EnableLogs | Master toggle for all logging |
SConfig.AlwaysMentionAdmin | Mention the acting admin via Discord ID (<@id>) when available |
SConfig.TruncateLongContent | Truncate long text fields (e.g. page content) in logs |
SConfig.MaxContentLength | Max content length when truncation is enabled (default 3500) |
SConfig.LogColors | Embed colors per action (create, edit, delete, update, info) |
SConfig.LogEvents.* | Per-event toggles (see below) |
Log Events
Each event below can be toggled individually under SConfig.LogEvents:
| Event | Description |
|---|---|
CreateCategory | New category created |
UpdateCategory | Category edited |
DeleteCategory | Category deleted |
CreatePage | New page created |
EditPage | Page edited |
DeletePage | Page deleted |
CreatePoint | New help point created |
EditPoint | Help point edited |
DeletePoint | Help point deleted |
SendHelp | Help sent to player |
BulkDelete | Bulk delete operations |
Import | Data import |
Export | Data export |
Rollback | Audit rollback |
Duplicate | Entity duplicated |