Installation Guide
Complete installation instructions for Oxide Chat.
Prerequisites
| Requirement | Version | Notes |
|---|---|---|
| FiveM Server | Latest | Recommended: Latest artifacts |
ox_lib | Latest | Required dependency (utility library) |
oxmysql | Latest | Required dependency — database access for the friends and block list |
o-link | Latest | Required dependency — framework bridge; works with QBCore, ESX, or QBX |
Fresh Installation
Download
Download the oxide-chat resource and extract it to your resources folder.
Only the config/, locales/, and sql/ files are meant to be opened and edited. The rest of the resource (including the web/ interface) ships pre-built and ready to run — there is nothing to build or edit there.
Server Configuration
Add the resource to your server.cfg. Order matters: Oxide Chat must start after o-link, and o-link must start after your framework. Every Oxide resource follows the same four-tier order:
# 1. Framework — everything your framework needs (qb-core, es_extended, qbx_core, etc.)
ensure qb-core
# 2. Scripts — your other resources (inventory, garages, jobs, etc.)
ensure your-other-scripts
# 3. o-link — the bridge that lets Oxide Chat work with your framework
ensure o-link
# 4. Oxide resources — Oxide Chat and any other Oxide resource
ensure oxide-chatIf you run several Oxide resources, keep them together in a folder literally named [oxide] and start them all at once with a single ensure [oxide] line (place it in the fourth tier, after o-link).
Remove Default Chat
Oxide Chat uses provide 'chat' in its manifest, which replaces the default FiveM chat resource. Ensure you don't have another chat resource running:
# Comment out or remove any existing chat resource
# ensure chatDatabase (Optional)
Oxide Chat uses your database for two things: the friends and block list (chat_friends and chat_blocks tables), and its own settings (a shared oxide_settings table — this is what the in-game /chat settings panel saves to). All three tables are created automatically the first time the resource starts, so no action is usually needed.
If you prefer to set them up by hand, import sql/install.sql into your database using your database manager (for example phpMyAdmin or HeidiSQL). It's safe to import more than once.
Configure
Edit config/main.lua to customize chat behavior:
Config.MaxMessages = 100 -- Messages in history
Config.MessageFadeTime = 10000 -- Fade delay (ms)
Config.OpenKey = 'T' -- Key to open chatSee Configuration for all options.
config/main.lua only supplies factory defaults. After the first start, settings live in the database and are edited in-game with /chat settings — see How Settings Are Stored.
Migration from FiveM Chat
Oxide Chat is designed as a drop-in replacement for the default FiveM chat resource.
Automatic Compatibility
The resource provides full compatibility with the standard chat API:
| Feature | Support |
|---|---|
chat:addMessage event | Full |
chat:addSuggestion event | Full |
chat:removeSuggestion event | Full |
chat:clear event | Full |
chatMessage event | Full |
exports['chat']:* | Full |
What Changes
- Visual Appearance: Modern glassmorphic UI replaces the default styling
- Additional Features: Proximity chat, job radios, private messaging
- Settings Panel: Players can customize their chat experience
Migration Steps
Replace Resource
- Remove or disable the default chat resource
- Add oxide-chat to your resources
Update server.cfg
# Remove or comment out:
# ensure chat
# Add (after o-link):
ensure oxide-chatTest Existing Scripts
- All scripts using the standard chat API will continue to work
- Colors, suggestions, and messages display correctly
Compatibility Events
These events are fully supported:
-- Server-side
TriggerClientEvent('chat:addMessage', source, {
args = { 'Author', 'Message text' },
color = { 255, 0, 0 }, -- RGB array or hex string
})
-- Client-side
TriggerEvent('chat:addMessage', {
args = { 'System', 'Welcome!' },
})Verification
Check Resource Started
In your server console, run:
ensure oxide-chatYou should see it start with no errors. Because Oxide Chat replaces the built-in chat, the default FiveM chat box is now gone and the new one takes over. (If you turn debug logging on later, the resource prints a [oxide-chat] Settings loaded from DB line each start — you do not need this for normal use.)
Test Chat
Test Commands
Try the built-in roleplay commands:
/me waves hello
/do The sun is setting
/ooc This is an OOC messageTest Settings
/chat customize or click the gear icon.Troubleshooting Installation
| Issue | Solution |
|---|---|
| Chat doesn't appear | Check F8 console for errors. Ensure resource started. |
| NUI errors | Clear FiveM cache: %localappdata%/FiveM/FiveM.app/data/cache |
| "Resource not found" | Ensure oxide-chat starts after o-link in server.cfg |
| Styling broken | Clear your FiveM cache and reconnect. If it persists, contact Oxide Studios support. |
| Commands not working | Check that your framework and o-link are loaded and the player is spawned |
See Troubleshooting for more solutions.