Installation Guide

Complete installation instructions for Oxide Chat.

Prerequisites

RequirementVersionNotes
FiveM ServerLatestRecommended: Latest artifacts
ox_libLatestRequired dependency (utility library)
oxmysqlLatestRequired dependency — database access for the friends and block list
o-linkLatestRequired dependency — framework bridge; works with QBCore, ESX, or QBX

Fresh Installation

Download

Download the oxide-chat resource and extract it to your resources folder.

fxmanifest.lua

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:

server.cfg
# 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-chat

If 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:

server.cfg
# Comment out or remove any existing chat resource
# ensure chat

Database (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/main.lua
Config.MaxMessages = 100         -- Messages in history
Config.MessageFadeTime = 10000   -- Fade delay (ms)
Config.OpenKey = 'T'             -- Key to open chat

See 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.

Restart

Restart your server or use:

refresh
ensure oxide-chat

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:

FeatureSupport
chat:addMessage eventFull
chat:addSuggestion eventFull
chat:removeSuggestion eventFull
chat:clear eventFull
chatMessage eventFull
exports['chat']:*Full

What Changes

  1. Visual Appearance: Modern glassmorphic UI replaces the default styling
  2. Additional Features: Proximity chat, job radios, private messaging
  3. 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

server.cfg
# Remove or comment out:
# ensure chat

# Add (after o-link):
ensure oxide-chat

Test 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-chat

You 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

Press T to open chat.
Type a message and press Enter.
Message should appear with modern styling.

Test Commands

Try the built-in roleplay commands:

/me waves hello
/do The sun is setting
/ooc This is an OOC message

Test Settings

Open chat with T.
Type /chat customize or click the gear icon.
The personal settings panel should open.

Troubleshooting Installation

IssueSolution
Chat doesn't appearCheck F8 console for errors. Ensure resource started.
NUI errorsClear FiveM cache: %localappdata%/FiveM/FiveM.app/data/cache
"Resource not found"Ensure oxide-chat starts after o-link in server.cfg
Styling brokenClear your FiveM cache and reconnect. If it persists, contact Oxide Studios support.
Commands not workingCheck that your framework and o-link are loaded and the player is spawned

See Troubleshooting for more solutions.

Next Steps