FiveM Integration¶
PulseCAD connects to your FiveM server through a single resource you download already configured for your community, so there's no API key or community ID to paste. Drop it in, ensure it, and your server is talking to the CAD.
The resource is generated on demand for your community (and each of your game servers). It is not a static, checked-in download; every zip is built fresh with your CAD URL, your secret key, your chosen framework, and your enabled features baked in.
What it brings in-game¶
| Feature | What it does |
|---|---|
| Live unit tracking | On-duty units appear and move on the dispatch/MDT map in real time |
| Traffic stops | /ts creates a CAD call, puts you on scene, and auto-runs the plate |
| Panic / officer distress | /panic alerts dispatch and every on-duty unit in-game |
| 911 calls | /911 (voice), /t911 (text), /a911 (anonymous) route to dispatch |
| Plate lookup | /plate returns a vehicle + flags in chat (no Wraith needed) |
| ALPR | Wraith ARS 2X plate scans are checked against your records → in-game alert |
| Account linking | /cadlink ties a player's game account to their CAD account |
| Civilian ID | /civid, /id, /giveid show a character's ID card in-game |
| Vehicle registration | /reg registers the vehicle you're in to your CAD character |
| CAD Display (tablet) | The full CAD as an in-game tablet/MDT; press F7, auto-logged-in |
| Active-call blips + GPS routing | On-duty officers see live call blips; assigned calls auto-route your GPS |
| Discord Rich Presence | Your callsign, status, and active call show on your Discord status |
Many of the above are toggleable per community in Admin → FiveM, along with optional extras (ERS callouts, the money economy, force-registration, station alerting, body cam, mugshots, NPC witness callers, and more). These advanced / immersion extras are off by default - admins opt in per feature. The money economy (taking CAD citations, court fines and bail out of a player's in-game accounts) in particular starts off; see Money economy. See the full in-game command list.
NPC witness callers¶
Off by default. When enabled, NPCs who see a crime happen phone it in as an anonymous 911. Everything a caller says is a real game fact: the crime, the actual street, the suspect's actual heading, and on a carjacking the actual plate. Nothing about a suspect's appearance is ever invented, so a caller is vague rather than wrong.
Admin → FiveM → Witness 911 callers opens the tuning once the feature is on. You choose which crimes are reported (gunfire, person shot, carjacking, assault, hit and run, brandishing a firearm, reckless driving), which extra details a caller includes, how close an NPC has to be, how long they take to call, and how long before the same suspect can be reported again.
Reckless driving generates far more calls than the rest
Every other report is triggered by something a player did: a shot, a carjacking, a swing. Reckless driving is triggered by how they are driving, which stays true for a whole journey, so it is the only setting that can put a player on the dispatch board for doing nothing but driving. It is off by default for that reason.
If you turn it on, set Reckless speed well above normal driving for your server. Around 90 mph is ordinary freeway speed in GTA, so leave the threshold near that and dispatch will see a steady stream of speeding calls. A driver is reported once per speeding run (they have to slow down before they can be reported again), and reckless reports are always at least 90 seconds apart.
Changes here reach players within about 10 seconds, including switching the feature off. You do not need to re-download the resource for a settings change, only for a new resource version.
Install¶
- In the CAD, open Admin → FiveM and click Download. The ZIP is generated on the spot, pre-keyed to your community (and the selected server).
- Extract the
pulsecadfolder into your server's resources, e.g.resources/[pulsecad]/pulsecad. - In
server.cfg, after your framework andoxmysqllines, add: - Restart the server. On boot you'll see:
Keep your key server-side
Your secret API key lives in server/secret.lua, which loads only as a server script. It is what identifies your server to the CAD, so treat it like a password. Never move Config.ApiKey into config.lua or a client script; that would expose the key to every player. config.lua is a shared script and never contains the key.
One key per game server
Each game server gets its own key. If you run multiple servers, download a separate resource for each from Admin → Servers (or pick the server in the FiveM tab). You can rotate a key at any time from Admin → FiveM; re-download the resource afterward.
Link your account (one-time, per player)¶
Live tracking and the civilian/officer features identify a player by their in-game license. Each person links once, and they do it themselves - there is no link-code generator on the Admin → FiveM panel:
- In the CAD hub, under Your terminals, press Link In-Game Tablet to get a one-time code. (The same generator is still on the Portal, the MDT login card, and the Fire, Tow and Civilian screens; the hub tile is just the one place everyone can reach, whatever their role.)
- In-game, type:
- Go on duty in the MDT, and you now appear on the live map.
The code is one-time and expires in 10 minutes. After linking once, it persists.
Linking is how you sign in to the in-game tablet
/cadlink logs the in-game CAD (F7 / /cad) straight in. There is no email/password form on the
tablet; its identity comes from your linked game profile, so nothing has to be typed on a game
keyboard. Open it before you have linked and you get a short screen explaining /cadlink instead;
link, reopen, and you are in. If the tablet is still open when you run the command it swaps itself to
the signed-in CAD on the spot.
Signed out of the CAD on the tablet? It closes and stops signing you back in automatically; reopen it and press Sign in with my linked account.
That is for a sign-out you meant. If the tablet ever drops its session on its own mid-shift, it now
fetches a new one and signs itself straight back in. You do not need to run /cadlink again — the
link is permanent, and re-running it was only ever a roundabout way of getting a fresh sign-in.
Requirements & frameworks¶
- Networking: the game server makes outbound HTTPS calls to the CAD, with no inbound ports to open. Your server just needs to reach
https://cad.mypulsetech.com. With body cam or mugshots switched on, players' game clients upload their captured images to that same address directly; nothing to configure, but worth knowing if your players sit behind a restrictive network. - Frameworks: works standalone, and with ESX (
es_extended), QBCore (qb-core), and QBox (qbx_core). The download config defaults to auto-detect; set it explicitly in Admin → FiveM if you prefer. (A framework is only needed for money-based features like the money economy and job-based force-registration.) Whichever framework the resource actually detects at boot is reported back and shown on the Money economy panel, so you can see at a glance whether the server found one. - ALPR: requires Wraith ARS 2X (
wk_wars2x). The hook is inert without it. See ALPR. - Body cam / mugshots (optional): require
screenshot-basic. If you enable either,ensure screenshot-basicbeforeensure pulsecad. Captured images go from the player's client straight to the CAD over HTTPS; they never travel through your game server's event channel, which is far too small to carry a screenshot.
Updating¶
Running body cam or mugshots? Update to resource 2.9.64 now.
Earlier versions sent each captured image through the game's event channel, which cannot carry something that large. The result was players being kicked with a "Reliable network event size overflow" disconnect, naming either pulsecad:bodycam:frame or, once the channel was saturated, an unrelated event such as pulsecad:reportPos. Images now upload directly over HTTPS and the problem is gone. Re-download the zip from Admin → FiveM, replace the pulsecad folder, and restart. If you do not use body cam or mugshots, you were never affected.
There are two independent update paths:
- Live config reload (no restart).
- When you change settings in Admin → FiveM (or press Push update), installed servers re-pull the restart-free config within about 10 seconds: feature on/off toggles, smart-sign targets, live-map interval, disconnect grace, and the witness caller settings (including turning witness callers off) all apply in place, players included. Command words and keybinds are registered when the resource starts, so renaming a command needs a re-download + restart.
- New resource version (code changes).
- FiveM does not allow a resource to rewrite its own
.lua/.jsfiles at runtime, so there is no in-game code auto-updater. When a newer resource version ships, an installed server can detect it (the boot version vs. the CAD's current version), but updating the code means re-download the zip from Admin → FiveM, replace thepulsecadfolder, and restart. Your key and settings are preserved because they're generated fresh into the new download.
For developers editing the resource
The resource version lives in RESOURCE_VERSION (server/fivem/resource.ts). Bump it on any change to the generated resource so installed servers can tell they're out of date.
Next¶
- In-game commands
- Live unit tracking
- ALPR (Wraith)
- ERS callouts
- Related consoles: Dispatch · Law Enforcement (MDT)