Skip to main content
F5 Chat

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​

  1. Place the resource in resources/f5_chat. Keep the folder name unchanged.
  2. Enable OneSync. If using QBCore, Qbox, or ESX, start the framework before the chat. Basic chat also works without a framework.
  3. Start your configured oxmysql, mysql-async, or ghmattimysql resource before f5_chat to save player preferences. The settings table is created automatically; allow database read/write and CREATE/ALTER access. No manual SQL import is required. Without a working database connection, chat remains available but settings cannot be saved.
  4. Disable the default chat resource and any other chat replacement. On Qbox, disable qbx_chat_theme as described below. On ESX, also disable esx_rpchat to prevent duplicate or blocked messages.
  5. 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.

CommandBehaviour
/localchat textNearby players in the same instance; default range: 20 m.
/ooc textPlayers in the same instance, without a distance limit.
/anon textSame-instance chat with an anonymous alias.
/pm id textPrivate message to an online player, including across instances.
/r textReply to the last player who sent you a PM.
/me text, /do textNearby roleplay messages with optional world bubbles; default range: 20 m.
/radio textMembers of the same configured text-radio group, including across instances.
/server textAnnouncement to all players; requires command.server.
/clearClear 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.