Configuration
Every option in config.lua, explained
Config.Framework
Config.Framework = 'auto'Config.Framework'auto' | 'esx' | 'qbcore' | 'qbox' | 'standalone'Which framework to hook into. 'auto' detects es_extended, qb-core, or qbx_core on
start; falls back to standalone ACE groups if none are found.
Config.Discord
Config.Discord = {
BotToken = 'YOUR_BOT_TOKEN_HERE',
GuildId = 'YOUR_GUILD_ID_HERE',
}Config.Discord.BotTokenstringrequiredBot token from the Discord Developer Portal. The bot only needs to be a member of your server — no privileged intents required.
Config.Discord.GuildIdstringrequiredThe Discord server (guild) ID.
Config.RoleGroups
Config.RoleGroups = {
{ role = 'ROLE_ID_HERE', group = 'admin' },
{ role = 'ROLE_ID_HERE', group = 'moderator' },
}Config.RoleGroupstablerequiredMaps each Discord role ID to an in-game group name. Checked top to bottom — first match wins, so list your highest ranking roles first. Role IDs, not role names.
What a "group" name should be depends on what the resource detects on your server:
| Framework | Group means... |
|---|---|
| ESX | Any group your server recognizes via xPlayer.setGroup (e.g. admin, superadmin) |
| QBCore / QBox | A permission level checked with QBCore.Functions.HasPermission / IsPlayerAceAllowed (e.g. god, admin, mod) |
| Standalone | Any ACE group you've set up yourself in server.cfg, e.g. add_ace group.admin command allow |
Config.DefaultGroup
Config.DefaultGroup = 'user'Config.DefaultGroupstringrequiredGroup applied when a player has none of the roles above, or has no Discord linked at all.
Config.SyncInterval
Config.SyncInterval = 15Config.SyncIntervalnumberrequiredHow often (in minutes) online players get re-checked against Discord, in case their roles
change while they're connected. Set to 0 to only sync on join.
Config.Debug
Config.Debug = falseConfig.DebugbooleanrequiredPrints extra diagnostic output to the server console.