Oxide Chat
Complete replacement for the FiveM default chat, built for roleplay servers.
Oxide Chat is a complete replacement for the FiveM default chat, built for roleplay servers. It drops in over the stock chat resource — every other script that posts messages or registers command suggestions keeps working through a full compatibility layer — and replaces it with a modern, deeply customizable chat that players and admins configure in-game.
The core of the resource is roleplay-aware messaging: proximity commands (/me, /do, /whisper, /shout, /looc) with per-command ranges and optional line-of-sight, global and local OOC, private messages with /reply, and job radios for police, EMS, and mechanics. On top of that sits a data-driven channel system — any number of custom slash-command channels with their own styling, audience scope, job/admin restrictions, minimum grade, duty requirement, and cooldown — plus a persistent friends and block list, @mention autocomplete, switchable category tabs, inline image and GIF embeds, and rotating automatic announcements.
Players make the chat their own with 10 visual style presets and per-player settings for position, size, font, timestamps, colors, and per-type visibility. Server owners manage everything else through a live database-backed settings editor (/chat settings) — after the first start, configuration is edited in-game with no file edits or restarts.
Key Features
- Drop-in Replacement -
provide 'chat'with a full compatibility layer, so messages and command suggestions from every other resource keep working - Proximity Roleplay Commands -
/me,/do,/whisper,/shout,/loocwith configurable per-command ranges and optional line-of-sight checks - OOC, PMs & Job Radios - Global and local OOC, private messages (
/msg,/reply), and built-in radios for police, EMS, and mechanics - Custom Chat Channels - Any number of slash-command channels with their own aliases, styling, scope, job/admin restriction, minimum grade, on-duty requirement, and cooldown — editable live in-game
- Friends & Block List - Persistent per-character friends with consent-based requests, online presence notifications, and two-way PM blocking
- @Mentions - Autocomplete of online players with Discord-style highlighting
- Category Tabs - Switchable tabs above the message list (All / Local / Global / Job / PMs by default), fully configurable
- Inline Images & GIFs - Whitelisted image links embed in any message type, plus a Giphy-powered GIF picker searched server-side so the API key never reaches players
- Automatic Announcements - A rotating broadcast list on a configurable timer, sequential or random, empty-server aware
- 10 Style Presets - Bubbles, Discord, Timeline, Masonry, Compact, Cards, Float, Panel, Retro, Glass — plus per-player customization via
/chat customize - Live Server Settings - Database-backed configuration via
/chat settings, no file edits or restarts after setup - Server-Authoritative - Message sanitization, per-type rate limiting, and server-side validation of channel access, image links, and permissions
- Framework-Agnostic - Works with QBCore, ESX, QBX, or custom frameworks through o-link, and is localizable via
locales/*.lua
Quick Start
-- Messages work exactly like default chat
TriggerClientEvent('chat:addMessage', source, {
args = { 'System', 'Welcome to the server!' },
color = { 255, 255, 255 }
})
-- Oxide Chat exports also available
exports['oxide-chat']:addMessage({
args = { 'Bank', 'You deposited $1,000' },
color = '#00FF00'
})Requirements
| Dependency | Required | Purpose |
|---|---|---|
o-link | Yes | Framework abstraction for character identity and names, jobs and duty, admin checks, notifications, and logging |
ox_lib | Yes | Locale and shared runtime helpers |
oxmysql | Yes | Database access for friends, blocks, and live settings |
Database
| Table | Purpose |
|---|---|
chat_friends | Per-character friends list and pending friend requests |
chat_blocks | Per-character block list (blocks stop private messages in both directions) |
oxide_settings | Shared cross-resource settings store backing the live /chat settings editor |
All tables are created automatically on first server start; the schema also ships in sql/install.sql and sql/migrations/.
Documentation
Installation
Get started with Oxide Chat.
Configuration
Customize behavior and settings.
Features
All capabilities.
Commands
Roleplay and job chat commands.
Customization
Style presets and appearance.
Admin Guide
Admin commands and the settings panel.
Exports & API
Complete API reference.
Troubleshooting
Common issues and solutions.