Installation Guide
Install oxide-fire — required and optional resources, start order, the database, the fire job, the scba item, a full server restart and first-time setup in game.
The general install guide for oxide-fire. Follow this page first, then the guide for your framework, linked at the bottom. The framework guides cover the fire job and the scba item, which are set up differently on QBCore, Qbox and ESX.
Prerequisites
Required resources
| Resource | Minimum Version | Purpose |
|---|---|---|
ox_lib | latest | Translations, callbacks and UI helpers |
oxmysql | latest | Saves departments, apparatus, sites and settings to your database |
o-link | 1.12.1 | The bridge to your framework: characters, jobs, money, inventory, notifications, target options, clothing, dispatch, banking, phone and placement tools |
oxide-fire checks for these three when it starts. If one is missing, the server console names it and oxide-fire does not start.
Resources you will need in practice
oxide-fire talks to these through o-link, so any one that o-link supports works.
| Resource | Why |
|---|---|
A target resource (ox_target, qb-target, oxide-target, sleepless_interact or tgiann-target) | Every station point, apparatus bay, rig check, refill and rescue option is a target option. Without one, nobody can clock in |
An inventory that o-link supports (ox_inventory, qb-inventory, qs-inventory and others) | Personal lockers, apparatus equipment compartments, gear-room loadouts and the scba item. On ESX, ESX's built-in inventory is not supported, see the ESX guide |
A clothing resource (illenium-appearance, fivem-appearance, qb-clothing and others) | Department uniforms. Without one, firefighters are told uniforms are not supported |
Optional resources
| Resource | What it adds |
|---|---|
oxide-dispatch | Fire call alerts and EMS rescue alerts on a dispatch board. See Dispatch alerts below for other dispatch resources |
oxide-weather | Real wind that steers fire spread, rain that slows it, and lightning that can start brush fires in wildfire zones. Without it, each fire gets a random wind and no rain |
oxide-radio | Runs the radio that department channels are registered into |
A phone resource that o-link supports (for example oxide-phone, lb-phone, okokPhone, qs-smartphone) | Page-outs: on-duty firefighters get a phone notification for every new call |
oxide-tablet | The boss desktop also opens as a "Fire Command" app on the tablet |
A banking resource that o-link supports (for example oxide-banking, qb-banking, Renewed-Banking, okokBanking) | Department treasuries held in real job bank accounts. Without one, turn off Use banking accounts in /fire settings, see Review the settings |
An EMS job (for example oxide-ems) | Medics get the rescue alert and take over casualties firefighters bring out of a fire |
oxide-medical | Smoke inhalation: breathing smoke without air builds into a condition that worsens the longer it goes on, shows on a medic's vitals, and clears in clean air or with treatment. Without it, smoke simply costs health |
g-multijob | Hires, promotions and dismissals mirrored into the multi-job menu |
Oxide HUD (free, oxide-hud) | Players move or hide the firefighting panels with /hud, and the panels take the server's accent colour. Without it they sit where Config.HudLayout puts them |
Dispatch alerts
How a new fire call reaches firefighters depends on what you run:
oxide-dispatch: the call appears on the dispatch board and closes itself when the fire is out.- No dispatch resource at all: firefighters get a short notification and a map blip.
- Another dispatch resource that
o-linksupports: those resources only accept alerts sent from a player's game, so the alert is sent through one on-duty firefighter. If nobody from a fire department is on duty, no alert is sent.
Installation Steps
Place the resource
Put the oxide-fire folder inside your server's resources folder. If you run several Oxide resources, keep them together in a folder named [oxide].
Add the startup order
Open your server.cfg (the text file that tells your server which resources to start) and make sure the resources start in this order:
# 1. Framework, and everything it needs
ensure oxmysql
ensure ox_lib
ensure qb-core # or es_extended, or qbx_core
# 2. Your other scripts (inventory, target, clothing, phone, banking...)
ensure ox_target
# 3. o-link, the bridge. Starts after your framework and scripts, before any Oxide resource.
ensure o-link
# 4. Oxide resources. Keep these together, ideally in a folder named [oxide].
ensure oxide-weather # optional
ensure oxide-dispatch # optional
ensure oxide-radio # optional, department radio channels
ensure oxide-fireThere is no required order inside each group. The only rule is that o-link starts after your framework and scripts, and before oxide-fire. If your Oxide resources live in an [oxide] folder, you can replace the lines in group 4 with a single ensure [oxide].
Save the file.
The database
You do not need to import anything. oxide-fire creates its tables the first time it starts.
It creates tables for departments, stations, apparatus bays, grades, uniforms, gear-room loadouts, firefighters, treasury transactions, unpaid salaries, the apparatus fleet, per-model hose ports, radio channels, incident sites and wildfire zones. It also creates the shared oxide_settings table, which is where your settings live after the first start.
The database user in your mysql_connection_string (in server.cfg) needs permission to create tables, because oxide-fire checks its tables every time it starts. sql/install.sql is a reference copy of the same tables; you do not need to import it.
Add a fire job to your framework
A fire department in oxide-fire is tied to a job in your framework. When someone is hired, their framework job is set to the department's name. QBCore, Qbox and ESX do not ship a fire job, so you add one.
Pick a short, lowercase name with no spaces, for example fire. You will give your department the same name in /fire admin later.
The exact steps differ per framework:
- QBCore: QBCore guide, Add a fire job
- Qbox: Qbox guide, Add a fire job
- ESX: ESX guide, Add a fire job
Register the scba item
Firefighters need one item, scba (a breathing mask and air cylinder). Using it puts the mask on, and using it again takes it off.
| Item | Label | Weight | Stackable | Usable | Purpose |
|---|---|---|---|---|---|
scba | SCBA | about 11 kg | No | Yes | Breathing air for working in smoke |
The name must be exactly scba. Copy-paste entries for each framework are in the framework guides:
- ox_inventory (Qbox, and ESX or QBCore servers running ox_inventory): copy the entry from
itemimages/ox_inventory_items.lua. See the Qbox guide. - qb-inventory (QBCore): see the QBCore guide.
- ESX inventories that read ESX's
itemstable: see the ESX guide.
If you would rather firefighters need no item to mask up, clear SCBA item under Safety → Breathing air (SCBA) in /fire settings.
Copy the item image
Copy itemimages/scba.png into your inventory's image folder:
qb-inventory/html/images/for qb-inventoryox_inventory/web/images/for ox_inventory
Each image is named after its item (scba.png for scba). Without an image the item still works, it just shows a blank icon.
Restart the whole server
Not restart oxide-fire. A full server restart.
oxide-fire streams its own models: the hose nozzle firefighters hold, the coupling on the hose outlets and the SCBA backpack. Streamed models are only loaded when the server starts, so restarting just the resource leaves them missing for everyone already connected. This applies to the first install and to any update that changes the files in stream/.
Review the settings
Almost every setting is edited in game. On the first start, the values in shared/config.lua and shared/config/*.lua are copied into the oxide_settings database table, and from then on the database is what the server reads. Open the settings editor with /fire settings. Changes save and apply straight away.
Two settings are worth checking before anyone works a shift:
- Duty & Payroll → Use banking accounts. This is on by default and needs a banking resource that
o-linksupports. If you do not run one, turn it off, or the department treasury stays at 0 and salaries are never paid. - Apparatus → Apparatus catalog. It ships with two entries, the stock
firetrukengine and the stocklguardchief car. Add the fire vehicles installed on your server.
A few settings stay in the config files. The full list, with every default, is in Configuration.
Departments, stations, interaction points, grades, bays, apparatus, uniforms, loadouts, radio channels, incident sites and wildfire zones are not settings. You build them in game with /fire admin.
Make sure your admins can use the admin tools
The admin panel (/fire admin), the settings editor (/fire settings) and the hire and dismiss commands are for your server admins. A player counts as an admin if they are in a group that has the admin permission.
If you already set up admins for other Oxide resources (or for txAdmin), you are done. They can use these tools with nothing extra to add.
If you have not set up an admin group yet, add these two lines to your server.cfg. Replace the licence with your own:
# 1. Put your account in the "admin" group
add_principal identifier.license:abc123 group.admin
# 2. Give the "admin" group permission to use admin tools
add_ace group.admin admin allowSave the file and restart your server. There is one admin level: a player either is an admin or is not, and it works the same on QBCore, Qbox and ESX.
First-time setup in game
After the fire job and the scba item are in place and the server has fully restarted:
- Join the server with an admin account.
- Run
/fire adminto open the admin panel. - Create a department. The internal name must match the fire job you added earlier (for example
fire). The display label is what players see. - Under Grades, add at least two grades. Give the highest one the boss flag so somebody can open the management desk.
- Under Stations, create a station and place its points: at least one Clock In point, plus Lockers, a Gear Room and a Management desk.
- Under Apparatus Bays, create a bay, place its interaction point and at least one spawn point.
- Under Apparatus, add units to the bay.
- Under Gear Room, add a loadout with the equipment firefighters should take (for example the
scbaitem, a fire extinguisher and a hatchet). - Under Uniforms, build a uniform.
- Under Incident Sites and Wildfire Zones, add places where fire calls can happen. Without at least one, the call generator has nowhere to start a fire.
- Hire a test firefighter with
/fire hire <serverID> <department> <grade>. - Have the test firefighter clock in at the station before testing anything else.
The admin panel shows a Setup Checklist for each department that ticks off grades, a station, a clock-in point, a gear room point, a bay, a spawn point, apparatus and a loadout as you add them.
Step-by-step walkthrough: Admin.
Verification
oxide-fire, and you should see oxide-fire log lines such as settings loaded and loaded 0 departments from database./fire admin as an admin. The admin panel should open./fire hire, then walk to the clock-in point and use Clock In. You should see "You are now on duty."scba item. Your character should put the mask on and an SCBA air timer should appear.firetruk./fire settings, change a value, save it, and check it takes effect without a restart.Framework-specific setup
Follow the guide for your framework as well as the steps on this page:
- QBCore install guide: the fire job in
qb-core, thescbaitem inqb-core/shared/items.lua. - ESX install guide: the fire job in the
jobstables (or automatic job sync), thescbaitem, ESX treasury and pay notes. - Qbox install guide: the fire job in
qbx_core, thescbaitem inox_inventory.
Notes
- The user interface is already built and included. There is nothing to build or install.
oxide-firedoes not talk to your framework, inventory or other scripts directly. All of that goes througho-link.- Settings live in the
oxide_settingsdatabase table after the first start. Editing a config file on a server that has already started once does not change those settings, see Configuration.
Next Steps
Oxide Fire
Complete fire department job for FiveM — server-synced fires, fire calls, persistent apparatus, hoses and hydrants, breathing air, rescues and a department built in game.
Configuration Reference
Every oxide-fire setting, what it does and its default — settings live in the database and are edited in game with /fire settings, and fire, hose and tool tuning stays in the config files.