Configuration

The main config.lua groups, in plain tables. Everything is toggleable.

Everything lives in config.lua, grouped and commented. Change a value, save, restart the resource. This page covers the groups you will touch most.

General

OptionDefaultDescription
Config.Locale'en'Language key (see locales/).
Config.OpenKey'T'Key that opens the chat input (rebindable in FiveM keybinds too).
Config.SettingsCommand'chatsettings'Command that opens the settings panel.
Config.MaxMessageLength256Characters. Longer messages are trimmed.
Config.MessageHistory200How many messages the UI keeps in memory.
Config.FadeOutAfter3Seconds a message stays before it fades. 0 never fades.

Identity and framework

OptionDefaultDescription
Config.Framework'auto'Auto detects QBCore, QBox, ESX, or standalone. Force it with 'qb', 'qbx', 'esx', or 'standalone' if detection is wrong.
Config.NameFormat'character''character' uses the RP character name, 'steam' uses the platform name.
Config.ShowPlayerIdtrueShow the player's server id next to their name.
Config.ShowJobBadgetrueShow the player's job next to their name.

Channels

Config.Channels defines each channel. Global, Local (proximity), OOC, Job, and Staff ship by default. Each entry supports:

FieldDescription
type'global' (everyone), 'proximity' (within range metres), 'job' (same job), 'staff' (passes perm).
permWho may send. false is everyone, an ACE string is staff gated, a job name is job gated.
colorThe channel accent (used for the tab, badge, and Discord embed).
cooldownSeconds between messages on this channel. 0 is off.
shortcutSlash shortcut, for example g gives /g hello.
rangeFor proximity channels, the audible distance in metres.

Global is the most abused channel. If you need to, set its perm to a staff ACE or a job, or raise its cooldown.

Message style

OptionDefaultDescription
Config.MessageStyle'badge'One of badge, chip, label, name, line, none. Players can override this for themselves unless you turn off Config.Theme.allowPlayerCustomize.
Config.HideDefaultBadgetrueSkip the badge on Global so ordinary chatter stays clean and tagged lines stand out.
Config.RoleBadgessee fileExtra badge next to the channel for players who hold an ACE (for example OWNER, ADMIN, STAFF). First match wins.

Roleplay commands

Config.RP controls the roleplay commands (me, do, try, looc, dice). Each is proximity based (only nearby players see it), and each has an enabled flag, a command name, a range, and a color. Config.Float3D controls the floating text above the player's head for /me and /do.

Keybinds

Config.Keybinds gives up to four rebindable command keys. Each slot has a starting key, a command, and a label. A command ending in a space (for example /me ) opens the chat prefilled. A command with no trailing space (for example /dice) runs immediately. Players can reassign each slot in /chatsettings.

Moderation

GroupWhat it does
Config.AntiSpamMinimum interval between messages, max identical repeats before an auto mute, and mute length.
Config.FilterBanned words (censor or block), plus anti advertising that blocks Discord invites, IPs, and links. Use allowDomains to allow specific sites.
Config.HistoryReplays the last few Global, OOC, and Staff messages to a player when they join, so a relog does not leave an empty chat. In memory only, so it does not survive a server restart.

Discord

Set Config.Discord.webhook to mirror channel messages outward to a Discord channel, and to log admin actions. Discord to in game (two way) would need a companion bot. A webhook only sends outward.