CAD and ALPR
Reporting plate reads to SonoranCAD, LACORE, ImperialCAD, wasabi_mdt or tk_mdt, and rendering what they answer — including a failed lookup.
The CAD bridge answers plate reads from whichever CAD your server already runs. Off until you turn it on, and turning it on is one line.
Config.integrations = {
cad = { enabled = true },
}Every plate read that belongs to a player's vehicle is then looked up, and a hit lights the plate window.
There is no API key to set. Every path into a CAD is an export call into that CAD's own resource — no URL, no key, no convar.
Supported CADs
| CAD | Resource | Answers |
|---|---|---|
| LACORE | lacore or lacore-mdt | Registration, BOLOs, insurance. No rate limit |
| SonoranCAD | sonorancad | Registration, BOLOs, warrants, stolen |
| ImperialCAD | ImperialCAD | A vehicle record |
| wasabi_mdt | wasabi_mdt | A vehicle record. No rate limit |
| tk_mdt | tk_mdt | BOLO only |
Leave provider as nil and whichever is running is used, in the order above. Name one to pin it.
What a hit looks like
A flag on the plate window, through the same setPlateFlag door a CAD of your own would use.
| What the CAD said | Level | Flag |
|---|---|---|
| Stolen | alert | STOLEN |
| Active BOLO | alert | BOLO |
| Active warrant | alert | WARRANT |
| Uninsured | warn | NO INS |
| Nothing on file | — | no flag |
| Several at once | alert | STOLEN · BOLO |
Only alert blinks.
And when nobody answers
An empty flag field means the CAD answered, and nothing is on file. A lookup that did not come back gets a fourth level, unknown — dim, no blink, not red.
| On the glass | What happened |
|---|---|
| nothing | The CAD answered. Nothing is on file |
NO ANSWER | A timeout, a rate limit, or the CAD is not running |
CAD ERROR | The CAD answered with a fault, or its export raised |
STAND BY | You asked again inside the interval floor |
NO CAD | No supported CAD is running, or the pinned one is not |
tRadar never prints CLEAR.
Locking a plate runs it
Locking bypasses the NPC filter and the answer cache, and tells you when the answer cannot be had. A throttled automatic read is dropped silently.
Spending your CAD's budget
SonoranCAD's lookup endpoint is 30 requests per minute, per API key — per community, shared with your CAD resource's own traffic and every other officer.
Alongside the built-in BOLO list
Both at once is supported. The built-in BOLO list is the shift's own, kept in data.json; the bridge is a second answerer on the same event. The last answer wins, but a CAD answering clear only clears a flag the CAD set, so a plate your shift watches keeps lighting.
Every setting
| Setting | Default | What it does |
|---|---|---|
enabled | false | The whole feature. false and not one message is sent |
provider | nil | nil to use whichever supported CAD is running; or lacore, sonoran, imperial, wasabi, tkmdt to pin one |
npcFilter | true | Only a vehicle a player is in or has owned, never an emergency vehicle |
queryOnRead | true | Look up every new read the filter lets through. false keeps only the lock path |
queryOnLock | true | Look up a plate when an officer locks the window |
minIntervalMs | 2000 | Floor per officer. Two seconds is 30 a minute |
answerTtlMs | 60000 | How long one answer is reused for the same plate. 0 never reuses |
timeoutMs | 15000 | How long to wait before saying nobody answered |
notifyOfficer | true | SonoranCAD only: pop the lookup on the officer's own CAD |
When it is not working
Run tradar_diag on the server console and read its integration section.
cad = sonoran selection = auto
detected = sonoran
floor = 2000 ms/officer answer TTL = 60000 ms timeout = 15000 ms
asked = 142 coalesced = 18 from cache = 61 in flight = 1
answered = 63 hits = 4 clear = 55 no answer = 4 timed out = 2
throttled = 9 access denied = 0
| What you see | Where to look |
|---|---|
cad = off | Config.integrations.cad.enabled |
cad = NONE ANSWERING | The next line names a typo, a stopped resource, or no CAD |
detected lists (no export) | SonoranCAD's lookups plugin is switched off inside the CAD |
asked = 0 while reads happen | The NPC filter, or queryOnRead |
access denied climbing | The gate that decides who may open the radar |
timed out climbing | Reachable but slow. Raise timeoutMs |
throttled climbing | Normal on a busy server |
Next
- API reference — the export a CAD of your own answers through.
- Configuration —
Config.integrations.
tRadar
Still stuck? Support can answer it directly.
Was this page helpful?
TIMMYG Studios