Installation & usage
F5 Chat provides local and roleplay chat, private messages, anonymous conversations, group text radio, server announcements, and custom emoji. Players can adjust the chat's appearance and position in its settings panel.
Installation
- Place the resource in
resources/f5_chat. Keep the folder name unchanged. - Enable OneSync. If using QBCore, Qbox, or ESX, start the framework before the chat. Basic chat also works without a framework.
- Start your configured
oxmysql,mysql-async, orghmattimysqlresource beforef5_chatto save player preferences. The settings table is created automatically; allow database read/write andCREATE/ALTERaccess. No manual SQL import is required. Without a working database connection, chat remains available but settings cannot be saved. - Disable the default
chatresource and any other chat replacement. On Qbox, disableqbx_chat_themeas described below. On ESX, also disableesx_rpchatto prevent duplicate or blocked messages. - Add the following to
server.cfg, after any resource groups that start another chat:
set resources_useSystemChat false
stop chat
ensure f5_chat
For ESX, place stop esx_rpchat after the group that starts it. Do not add another ensure f5_chat if an existing resource group already starts it.
Restart the server after completing the initial setup.
Configuration is available in config/config.lua, config/emoji.js, and config/discord.lua. Apply changes with restart f5_chat. Custom image files are added as described in Emoji.
Qbox: disable qbx_chat_theme
Resource management belongs to the server administrator. F5 Chat does not stop other resources or prevent them from starting. Disable qbx_chat_theme yourself when replacing the default chat; keep qbx_core running.
Remove any explicit ensure qbx_chat_theme or start qbx_chat_theme entries from your startup configuration. If you use ensure [qbx], removing a separate entry is not enough: move the qbx_chat_theme folder outside resources so the group cannot start it again. Changing the startup order alone does not resolve the conflict.
On a running server, stop the old theme from the server console:
stop qbx_chat_theme
This theme targets the original chat and calls exports.chat:registerMessageHook, which F5 Chat does not implement. Leaving it enabled can produce a missing-export error. Disabling it also removes the player join/quit announcements provided by that resource. The welcome message from qbx_core continues to work through the supported exports.chat:addMessage export; no framework code changes are needed. See Events & exports for the supported API.
Controls and channels
T opens chat, L toggles chat visibility, and K toggles LOCAL and ME/DO bubbles. Players can change these three bindings in FiveM's key-binding settings.
Enter sends the message or accepts an active autocomplete suggestion. Esc dismisses the active tooltip, panel, or suggestions before closing chat; during repositioning it cancels the move.
ALL combines the player's available channel histories. Typing ordinary text in ALL sends it to LOCAL; other tabs send to their selected channel. In PM, enter id text. Commands below are entered in the F5 Chat input.
| Command | Behaviour |
|---|---|
/localchat text | Nearby players in the same instance; default range: 20 m. |
/ooc text | Players in the same instance, without a distance limit. |
/anon text | Same-instance chat with an anonymous alias. |
/pm id text | Private message to an online player, including across instances. |
/r text | Reply to the last player who sent you a PM. |
/me text, /do text | Nearby roleplay messages with optional world bubbles; default range: 20 m. |
/radio text | Members of the same configured text-radio group, including across instances. |
/server text | Announcement to all players; requires command.server. |
/clear | Clear your own chat history and bubbles. |
/clearall [category] | Clear everyone's chat, or only the selected category; requires command.clearall. |
For example, /clearall ooc clears OOC only. Categories are local, ooc, anon, pm, me, do, radio, and server (localchat and anonymous also work); use all or omit the category to clear everything. This does not delete saved preferences or Discord logs.
Administrator permissions
Add these ACE entries to server.cfg for an existing administrator group:
add_ace group.admin command.server allow
add_ace group.admin command.clearall allow
Players without announcement permission can still read SERVER messages. RADIO access is configured separately through radio groups.