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

ResourceMinimum VersionPurpose
ox_liblatestTranslations, callbacks and UI helpers
oxmysqllatestSaves departments, apparatus, sites and settings to your database
o-link1.12.1The 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.

ResourceWhy
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

ResourceWhat it adds
oxide-dispatchFire call alerts and EMS rescue alerts on a dispatch board. See Dispatch alerts below for other dispatch resources
oxide-weatherReal 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-radioRuns 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-tabletThe 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-medicalSmoke 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-multijobHires, 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-link supports: 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:

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

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

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.

ItemLabelWeightStackableUsablePurpose
scbaSCBAabout 11 kgNoYesBreathing 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 items table: 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-inventory
  • ox_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-link supports. 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 firetruk engine and the stock lguard chief 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:

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

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

  1. Join the server with an admin account.
  2. Run /fire admin to open the admin panel.
  3. Create a department. The internal name must match the fire job you added earlier (for example fire). The display label is what players see.
  4. Under Grades, add at least two grades. Give the highest one the boss flag so somebody can open the management desk.
  5. Under Stations, create a station and place its points: at least one Clock In point, plus Lockers, a Gear Room and a Management desk.
  6. Under Apparatus Bays, create a bay, place its interaction point and at least one spawn point.
  7. Under Apparatus, add units to the bay.
  8. Under Gear Room, add a loadout with the equipment firefighters should take (for example the scba item, a fire extinguisher and a hatchet).
  9. Under Uniforms, build a uniform.
  10. 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.
  11. Hire a test firefighter with /fire hire <serverID> <department> <grade>.
  12. 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

Start the server and check the console. There should be no red errors from oxide-fire, and you should see oxide-fire log lines such as settings loaded and loaded 0 departments from database.
Run /fire admin as an admin. The admin panel should open.
Create a department, a grade and a station with a clock-in point, as in First-time setup in game.
Hire yourself with /fire hire, then walk to the clock-in point and use Clock In. You should see "You are now on duty."
At the gear room point, open Gear Room and take a loadout.
Use the scba item. Your character should put the mask on and an SCBA air timer should appear.
At the bay, use Take Apparatus and pick a unit. It should appear at a spawn point with the keys given to you.
In the admin panel, open Live Incidents and start a vehicle fire in front of you. Put it out with a fire extinguisher, or with the cannon from the driver's seat of a firetruk.
Drive the unit back to its bay and use Put Apparatus Back.
Open the Management desk as a boss-graded firefighter and check that the Roster, Treasury, Payroll, Uniforms, Gear Room and Fleet apps load.
Run /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, the scba item in qb-core/shared/items.lua.
  • ESX install guide: the fire job in the jobs tables (or automatic job sync), the scba item, ESX treasury and pay notes.
  • Qbox install guide: the fire job in qbx_core, the scba item in ox_inventory.

Notes

  • The user interface is already built and included. There is nothing to build or install.
  • oxide-fire does not talk to your framework, inventory or other scripts directly. All of that goes through o-link.
  • Settings live in the oxide_settings database 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