nexdev_queue/config.lua. It’s split into five sections:
Config.Server— bot token, IDs, timingsConfig.Interface— branding, theme, button rowConfig.Tiers— Discord role → tier labelConfig.Whitelist— optional role-gated accessConfig.Permissions— bypass roles + priority points
nexdev_queue after editing (restart nexdev_queue in the console) so changes take effect.
Config.Server — runtime
Config.Interface — branding
The card the player sees while they wait.
Text
Images
Use a CDN or
r2.fivemanage.com — Discord-hosted images may rate-limit.
Theme
classic, banner, factset, boardingpass, compactbar, minimal, centered, cards. See Themes for previews.
Buttons
The action-row at the bottom of every theme. Two shapes:Buttons = {} to hide them.
Config.Tiers — Discord role → tier label
Sets what label shows under the player’s name (Diamond, Gold, etc.). Order matters — the first tier whose role the player holds wins. Put your highest tier on top.
Config.Permissions.PriorityLevels below.
Config.Whitelist
Enabled = true to refuse anyone who doesn’t hold one of Roles. Bypass roles still get in. See Whitelist & priority for details.
Config.Permissions
BypassRoles— anyone in any of these roles skips the queue entirely (and the whitelist).PriorityLevels—roleId → points. A player’s effective priority is the sum of points across all matching roles they hold. Higher = served first.
Persistence — how the queue survives restarts
The queue is held in memory and a snapshot is written to KVP everySaveFrequency ms. On boot, snapshots older than DataExpiry seconds are thrown away, so a player who disconnected hours ago won’t magically reappear at the front.
You don’t manage any files — there’s nothing to back up.
Restart vs. hot-reload
Runtime exports
You can read queue state from your other scripts. All exports are namespaced tonexdev_queue.
Useful for things like an in-game
/online command, a dashboard widget, or wiring tier info into your hud.
