Skip to main content

What's new

October 2026

These features come from the community roadmap. Each one can be turned on or off where it makes sense (Admin → CAD Settings → Features), and every permission is checked by the API as well as in the interface.

See all updates from October 2026: Updates — October 2026

Coming soon

FiveM framework integration (ESX, QBCore, Qbox): coming by 15 October 2026.

Communication​

Radio​

A push-to-talk radio built into the CAD. Dispatchers and admins talk from any web browser (a radio dock on every CAD page, a pop-out window, or the full-screen Dispatch → Radio console). Units talk in FiveM with the snailycad-radio resource: a handheld in hand, positional audio for people nearby, earpieces, and dispatch moving units between channels.

  • Turn it on in Features → Radio, then add channels in CAD Settings → Radio.
  • Works next to any voice script (pma-voice, SaltyChat, TokoVOIP, mumble-voip).
  • Other radios and scripts can connect through an open protocol.

See Radio.

Unit messages​

On-duty officers and EMS-FD deputies can send each other private messages from their dashboard.

  • Open Unit messages next to your active unit. The button shows how many messages are unread.
  • Pick an on-duty unit to start a conversation, or continue one from the list.
  • Only the two units in a conversation can read it. Messages are never sent to dispatch, the radio or the public chat. Live updates only say that a message arrived; the text is loaded over your signed in session.
  • Combined units send from your own officer or deputy in that unit.

Feature toggle: UNIT_PRIVATE_MESSAGES (on by default).

Tone presets​

Admins can set up as many tones as they need, and dispatch can play them for a specific audience.

  1. Admin → CAD Settings → Tones: add a tone with a name, who it's for (LEO, EMS-FD or everyone), an optional department, and a sound. Use Preview to hear it.
  2. Dispatch → Tones → Play a tone: filter and pick a tone, choose who hears it, add an optional message and press Play tone.
Play forWho hears it
Everyone on dutyAll LEO and EMS-FD dashboards
All LEO units / All EMS-FD unitsOne service
DepartmentUnits of that department
UnitOne unit
Units on a callEvery unit attached to the call

Built-in sounds (two-tone, long tone, hi-lo, alert beeps, rising chirp) are generated in the browser, so they work without uploading audio files. A custom sound can be an https:// link to an mp3, ogg or wav file, or a file in the client's public/sounds folder (for example /sounds/my-tone.mp3).

Playing a tone needs the Dispatch permission and the Tones feature.

Mini-CAD​

A compact panel that stays on top of the LEO and EMS-FD dashboards, for when the CAD runs next to the game.

  • Turn it on with the Mini-CAD button on your dashboard.
  • It shows the latest active 911 call, how many units are attached, and lets you move between calls and attach or detach.
  • Default keys: ← previous call, → next call, ↑ attach. Change them with the gear icon, where you can also move the panel to another corner.
  • Keys are ignored while you type or when a window is open. Settings are saved in your browser, so every player can set their own.

Administration​

Update the CAD from the dashboard​

Admin → Dashboard → Update CAD shows the running version and how far behind it is, and the owner can start an update with one click on Linux servers that run the CAD as a systemd service.

UPDATE_MODEWhat it does
git (default)The standalone update: stash, pull, install, build, restart
dockerThe Docker update: pull, build the images, up -d
localNo pull: rebuilds and restarts with the files already on the server

UPDATE_BRANCH (default main) picks the branch to pull. On Windows, inside Docker, or without systemd, the card shows the update commands to run yourself instead.

Build progress page​

When you start the CAD with start.sh, the client port shows a progress page with a filtered live log while the CAD installs, builds or restarts, instead of a connection error. It refreshes by itself and opens the CAD when it's ready. Only known progress lines are shown and credentials are masked; the raw log is never served.

start.sh also skips install and build when nothing changed since the last successful build, which makes restarts much faster. Flags: --force-build, --force-install, --no-build.

Custom locales​

Admin → CAD Settings → Custom Locales lists every language with how complete it is. You can add a language (copied from an existing one), fill in missing files, set the default and remove custom languages, then Apply & rebuild.

On Windows, in Docker, or without systemd the CAD can't restart itself: the page shows the commands to run instead, and in Docker the languages are managed on the host.

Recovery tools​

A recovery token is created on first start and shown once to the owner on the admin dashboard. Use it on /auth/recovery to get back in when you're locked out. See Recovery tools. In Docker, set RECOVERY_TOKEN_FILE to a mounted folder so the token survives image rebuilds.

More admin tools​

  • Duty hours: per user, department and week, with sessions you can correct (Admin → Manage → Duty hours).
  • Citizen claims: players can ask to take over an existing civilian; admins approve or deny.
  • Prune citizens: filter, preview, export and then delete citizens in bulk.
  • Permissions: nobody can grant permissions they don't have themselves. New ManagePendingUsers, ManageOfficerRank and ManageOfficerCallsign permissions.
  • Discord webhooks: 11 more webhook types (registrations, bans, BOLOs, warrants, calls, citizens, expungements, tow and taxi).

Units and records​

  • Officers with ManageCallHistory can edit and end calls; dispatch can end calls in bulk.
  • EMS-FD incidents have report types (medical, fire, fire investigation, inspection) and their own ManageEmsFdIncidents permission.
  • Citizens have aliases and drug tests sections.
  • Linking incidents searches all incidents, not just the first page.

Demo mode​

For public demos: set DEMO_MODE=true in .env.

VariableDefault
DEMO_MODEfalseTurns demo mode on
DEMO_USERNAMEdemoDemo owner account, shown on the login page
DEMO_PASSWORDdemo1234Its password
DEMO_RESET_MINUTES10How often all data is reset

On first start the CAD takes a snapshot of the data. Every reset puts everything back to that snapshot in one go, and a countdown is shown on the login page and in the CAD. The demo account can't be renamed, banned, demoted, deleted or have its password changed. To take a new snapshot, delete apps/api/.demo-baseline.sql and restart the API.

Demo mode needs the database client tools on the server: pg_dump/psql for PostgreSQL, or mysqldump/mysql (mariadb-dump/mariadb) for the MySQL edition.

Look and feel​

  • A refreshed dark interface with a grouped, searchable admin sidebar and a new admin dashboard.
  • A What's new popup after sign-in, which can be reopened from the account menu.
  • An optional modern citizen theme (MODERN_CITIZEN_THEME).

Was this page helpful?