Admin Guide

Commands, the /ems admin panel, the boss management desktop, and a step-by-step walkthrough for building a department from nothing.

Commands, the admin panel, the boss management desktop, and a step-by-step walkthrough for building a department from nothing.

Who counts as an admin

A player is an admin if they are in a server group that has the admin permission. There is one level — a player either is an admin or is not — and it works identically on QBCore, ESX and Qbox.

server.cfg
add_principal identifier.license:abc123 group.admin
add_ace       group.admin               admin allow

If you have already set up admins for other Oxide resources or for txAdmin, they can use these tools with nothing extra to add. See Installation — Make sure your admins can use the admin tools.

The server console always passes the admin check, so anything that does not need a game screen can be run from there.

Commands

/ems — the main command

Everything admin-facing hangs off one command. Typing /ems on its own lists the subcommands.

CommandWhoWhat it does
/ems adminAdminOpens the admin panel.
/ems hire <id> <department> [grade]AdminHires the player with that server ID into that department. Grade defaults to 0.
/ems fire <id> [department]AdminFires that player. With a department name, fires that specific enrolment; without one, fires whichever department they are currently working.
/ems dutyAnyoneToggles your own duty — only available when "Require facility clock-in" is turned off. Otherwise you are told to use a clock-in point.
/ems settingsAdminOpens the settings editor.
/ems diagAnyonePrints why the patient target options are or are not showing, to your F8 console.
/ems test <sim>AdminSolo-testing simulations. Requires Debug logging to be on.

/ems admin, /ems settings, /ems diag and /ems test need a game screen and will tell you so if run from the console. /ems hire and /ems fire work from the console.

Department name in hire and fire is the department's internal name (the framework job name), not its display label.

/911e <message>

Available to everyone. Sends an emergency message to on-duty medics and drops a dispatch alert at the caller's position. Subject to the distress cooldown.

The G keybind

Downed players press G to send a distress signal. It is a rebindable FiveM keybind, so players can change it under Settings → Key Bindings → FiveM. It can also be run as /emsdistress.

Framework commands the shims re-provide

These are the commands your framework's ambulance job used to own. They are registered only on the framework that had them.

QBCore

CommandWhoWhat it does
/revive [id]AdminFully revives and heals a player. Defaults to yourself.
/aheal [id]AdminFully heals a player and resets their hunger and thirst.
/kill [id]AdminKills a player.
/statusOn-duty medicExamines the nearest patient.
/healOn-duty medicExamines the nearest patient (the stock command name; opens the same overlay).
/revivepOn-duty medicRevives the nearest downed person through the normal validated revive flow.

ESX

CommandWhoWhat it does
/revive [id]AdminRevives a player. Defaults to yourself.
/reviveallAdminRevives every downed player.

Qbox

No extra commands — qbx_medical and qbx_core keep their own.

An admin revive never costs the player anything and always bypasses the triage rules, by design. It is a staff tool, not a shortcut for medics.

The admin panel — /ems admin

The panel is organised as a sidebar of departments with four sections underneath.

At the top left you create departments and see the selected department's treasury balance. Under it is a setup checklist that ticks off as you go: define ranks, create a facility, set a clock-in point, create a garage, add a spawn bay.

CategoryScreenWhat you do there
DepartmentOverviewRename, enable/disable, and fund the department
GradesRanks, salaries, and which rank counts as a boss
UniformsBuild and edit uniforms
RadioDepartment radio channels
InfrastructureFacilitiesCreate facilities and place every interaction point
Supply ShopThe purchasable item catalog
FleetGaragesGarages, their interaction point and spawn bays
FleetThe vehicles themselves

Building a department, step by step

Create the department

In the sidebar, enter an internal name and a display label.

The internal name must match a job name in your frameworkambulance on a stock server. This is the job that gets set on a medic when they are hired, and the job other resources check. Lowercase, no spaces.

The display label is what players see on blips, panels and notifications.

On ESX, if you use a department name that is not already in your jobs table, either add it there yourself or turn on Job table sync under Framework Compat in /ems settings and let oxide-ems write it for you.

Add grades

Go to Grades and add at least two: one entry-level rank and one boss rank.

Each grade has:

  • a rank number — 0 is the lowest, and higher numbers outrank lower ones
  • an internal name and a display label
  • a salary, paid each interval while on duty
  • a boss flag

The boss flag is what unlocks the management desk. Without at least one boss grade, nobody can open it.

Rank numbers govern everything else too: minimum ranks on garages, fleet vehicles, uniforms, radio channels and supply shop rows are all compared against them. A boss can only hire, promote or fire below their own rank.

Create a facility

Go to Facilities, pick a type, and create it.

  • Hospital — beds, respawn point, x-ray machines, operating tables
  • Doctor's office — walk-in reception

Give it a label and pick the type, and the panel closes so you can place the building anchor in the world. The anchor sets the map blip position and the station-marker fallback position; it is not an interaction point of its own. The panel reopens with the new facility once you have placed it.

A facility's label, type and anchor can all be changed later from its Overview tab — including moving the anchor with the same picker.

Place its interaction points

This is the bulk of the work, and all of it is done by walking to the spot.

For each point type, press Add, then place it in the world. The panel closes while you place, and reopens automatically when you are done.

Every facility:

  • Clock-in — where medics go on and off duty. At least one is required, or nobody can work there.
  • Personal locker — the private stash and the uniform wardrobe
  • Management desk — the boss panel
  • Supply counter — the supply shop
  • Reception — a hospital's check-in desk, or a doctor's office's "Request a Doctor" bell

Hospitals also get:

  • Beds — placed with a ghost patient lying in position so you can see exactly how they will lie.
  • X-ray machines — two placements: the screen (a translucent preview quad, sized while you aim) and the patient spot where the patient lies or stands.
  • Operating tables — the same two placements: the monitor and the table spot.
  • Respawn point — one per facility. Players who give up wake up at the nearest one across all your hospitals.

Points can be placed by pointing at the ground, or snapped to the centre of an object you aim at.

Placement controls

An on-screen hint card shows the controls the whole time. Placement has two phases.

Aiming — the preview follows your crosshair:

ControlEffect
ScrollRotate. Hold Shift for fine rotation
Ctrl + ScrollTilt (screens and monitors only)
↑ ↓ ← →Resize (screens and monitors only). Hold Shift for fine
LMBConfirm and save
EnterSwitch to fine-tune
RMB / ESC / BackspaceCancel

Fine-tune — the preview stops following you, so you can place it exactly:

ControlEffect
Drag an axisMove along it
↑ ↓ ← →Nudge. Ctrl + ↑ ↓ moves up and down
SpaceCycle the nudge step size
ScrollRotate. Ctrl + Scroll tilts (screens only)
Shift + ↑ ↓ ← →, or drag a gold handleResize (screens only)
RMBFree the camera to walk and look around; RMB or Enter returns
EnterConfirm and save
BackspaceBack to aiming
ESCCancel

Fine-tune is the answer to any spot the crosshair cannot reach — inside a wall, under an MLO's floor, or behind an object that swallows the ray.

Set up the map blip

Each facility has its own blip icon, colour, size and an on/off switch. Leave the custom name blank and the blip is named "Department - Facility"; fill it in to override.

Add a garage and vehicles

Go to Garages, create one, and give it:

  • an interaction point — where medics stand to pull a vehicle
  • one or more spawn bays — placed with a ghost vehicle preview so you can see the fit. Several bays let several medics pull vehicles at once.
  • a type (car, boat or helicopter) and an optional minimum rank

Then go to Fleet and add vehicles. As an admin you add them directly with no cost. Each entry takes a model, a label, a garage, a quantity, an optional minimum rank, a livery, extras and a replacement cost.

Adding a quantity of 5 creates five real vehicles, each with its own plate. The UI groups them into one row for readability.

Editing a fleet row edits every vehicle in that group. Deleting one deletes the whole group, and is refused while any of them is checked out.

The buy catalog bosses use is separate and lives in /ems settings under Fleet — it ships empty.

Add supply shop items

Go to Supply Shop and add rows. Each row takes an item, a label, a price, a category, a sort order and an optional minimum rank.

  • Leave the rank blank for a public row anyone can buy — the cures civilians should be able to get for themselves.
  • Set a rank for a staff row that only an on-duty medic of that department at that rank or above can buy.

Locked rows are still visible to everyone, marked as staff-only.

Add radio channels

Requires oxide-radio. Each channel takes a frequency number, a label, a minimum rank, an optional duty-only flag and an optional default flag.

The default channel is the one medics are tuned to automatically when they clock in. Only one per department.

Frequencies are globally unique. Trying to take one another resource already owns is refused.

Without oxide-radio installed, the screen says so and nothing is registered.

Build uniforms

Uniforms are captured from what you are currently wearing, so:

  1. Dress your character exactly how the uniform should look.
  2. Open Uniforms and create one.
  3. Capture your current outfit.
  4. Choose which clothing slots the uniform owns.
  5. Give it a label and an optional minimum rank, and save.

Step 4 is the one that matters. A uniform only overwrites the slots you tick — everything else stays the medic's own clothes. A uniform that owns only the shirt and trousers will not wipe out somebody's hairstyle, shoes or accessories.

The slots you can choose from are the twelve clothing components — face, mask, hair, torso, legs, bag, shoes, accessories, undershirt, body armour, decals and top — and five props: hat, glasses, earpiece, watch and bracelet.

Male and female variants are stored separately. Capturing writes into whichever gender your own character currently is, and the editor tells you which one it saved. To fill in the other, either capture again as a character of that gender, or use the copy buttons to mirror one variant onto the other — a reasonable starting point when the outfit uses the same drawable numbers for both.

Medics change at a personal locker point. Uniforms revert to civilian clothes automatically on clock-out.

Hire somebody

/ems hire 3 ambulance 0

Or hire from the management desk as a boss. Or simply set their framework job to the department's name by any other means — oxide-ems picks that up and enrols them automatically.

New medics are issued a badge number automatically: one higher than the highest badge currently issued in that department. Bosses can change it afterwards from the management desk.

The boss management desktop

Opened from a management desk point by a medic whose grade has the boss flag. It is a windowed desktop with several apps. Duty is not required — a boss can manage the department off the clock.

AppWhat it does
RosterHire online players, fire, promote and demote, set badge numbers and callsigns. Shows who is online and who is on duty.
TreasuryDeposit from your own bank, withdraw to any medic in the department, and read the full transaction history.
PayrollThe accrued back pay per medic, and a button to settle as much as the treasury covers. Hidden when salaries are not treasury-funded.
UniformsThe same uniform editor as the admin panel, scoped to this department.
FleetBuy vehicles from the catalog, and recover destroyed ones at their replacement cost. Both paid from the treasury.
SettingsRead-only department details.

Rank rules are enforced on the server: a boss can only act on medics below their own rank, and can only promote to a rank below their own. Withdrawals must name a recipient who is actually in the department; if that person is offline and cannot be paid, the money is returned to the treasury rather than disappearing.

The settings editor — /ems settings

A searchable panel covering every setting in the resource.

  • Basic and Advanced tiers — advanced hides the settings most servers should not touch.
  • Four sidebar categories: Core, Medical, Operations, Integration.
  • Changed fields are badged, and an unsaved-changes count shows at the bottom.
  • Reset to default on any setting restores the value from the config file.
  • Saving writes to the database and applies immediately. No restart.

Full per-setting reference: Configuration.

Testing tools

/ems diag

Prints a short report to your F8 console explaining why the medic options on a patient are or are not appearing: the detected death provider, whether you are on duty, your department, the nearest player, whether the resource considers them downed, and their raw death and triage state.

Run this first whenever "the revive option is not showing".

/ems test <sim>

Admin only, and only works while Debug logging is on. These let one person test loops that would normally need two.

SimWhat it does
/ems test onduty <n>Holds n phantom medics in the on-duty count. Tests the bed self-check-in block without a second player. 0 clears.
/ems test treat <conditionType>Runs the full treatment economy on yourself as both medic and patient: price resolution, supply consumption, the cure, the invoice, the medic cut and the treasury row. Skips the targeting and the minigame.
/ems test reviveRuns the revive economy on yourself while downed: item consumption, the revive, the payout, the invoice and the transaction. Skips the CPR and proximity checks.
/ems test alertechoToggles mirroring every EMS dispatch alert and on-duty relay to yourself, so you can read alert content while downed and alone.

Turn Debug logging back off when you are done — the sims refuse to run without it, which is the safety net.

Housekeeping

  • Disabling a department stops new clock-ins, removes its blips and interaction points, and releases anyone in one of its beds, on an operating table or in an x-ray machine. Everything is kept, and medics already on duty stay on duty until they clock out — with the clock-in points gone, /ems duty is how they do that.
  • Deleting a department removes its facilities, grades, medics, garages, vehicles, uniforms, radio channels, supply rows, transactions and back pay. Anyone on duty is clocked out and told why. This cannot be undone.
  • Firing an offline medic works — their framework job is cleared the next time they log in.
  • Editing a facility's layout while people are using it is safe: patients in a bed that was deleted are checked out, patients on a removed operating table or x-ray machine are released, and every client rebuilds its interaction points immediately.
  • Funding a department as an admin adds money to its treasury with no source account, logged as an admin funding transaction.