Skip to content

Plate readerGame

Plates read in game by the Wraith ARS 2X radar or by the bridge’s built-in reader are checked against the MDT: in-game alert, trace on the vehicle record, who can use it and where.

On this page09
  1. Turn it on
  2. Service settings
  3. The in-game alert
  4. The built-in reader in game: what the officer sees
  5. The trace on the vehicle record
  6. Wraith ARS 2X or built-in reader: who can use it, where
  7. Bridge settings
  8. Permissions
  9. Troubleshooting

With the in-game plate reader, every plate read in front of a patrol car is checked against the MDT. If the vehicle is stolen, wanted, or its owner has an arrest warrant, the officer gets an on-screen alert in game, without typing anything.

Plates are read by the Wraith ARS 2X radar if it is installed on your server, otherwise by the bridge’s built-in reader.

  1. In Settings › Game › Integrations, turn on In-game plate reader (administrators, or a rank with Delegated administration › Set up the game). Off by default. Under the switch, SuperMDT shows whether it uses Wraith or the built-in reader.
  2. In Settings › Operations, pick the service and open the Plate reader card. Check Reader on in this service. The service also needs the Vehicles module: without it, the reader has nothing to check.
  3. Choose what triggers an alert, then save.
Settings › Operations › Plate reader

On the game server side, the reader is turned off with Config.PlateReader.enabled = false in config_shared.lua.

Setting Role Default
Reader on in this service On-duty officers of this service receive the alerts off
Built-in reader (servers without Wraith) Officers can turn it on themselves in game; only on a server without Wraith on
The front passenger can use it The driver always can; the game server can also forbid it to the passenger on
What triggers an alert The selected reasons (see below) stolen, BOLO, warrant, owner wanted
Checked fields of the vehicle record Up to 4 custom fields: alert when empty or unchecked, or when the date has passed none
In-game alert sound A sound comes with the alert on
Keep a trace in the vehicle history A flagged plate leaves a line on the record on
Merge close reads The same plate read again within this delay extends the same line 15 min (1 to 240)

Configuring the reader requires Plate reader › Configure the reader.

Reason When MDT permission needed to see it
Stolen vehicle the vehicle record is marked stolen Vehicles › See vehicles
BOLO on the vehicle an active BOLO targets this plate BOLOs › See BOLOs
Arrest warrant against the owner the owner has an active arrest warrant Warrants › See warrants
Owner wanted an active BOLO targets the owner BOLOs › See BOLOs
Seized vehicle marked seized Vehicles › See vehicles
Impounded vehicle marked impounded Vehicles › See vehicles
Plate unknown to the MDT no record has this plate Vehicles › See vehicles
Record field missing or expired a checked field is empty, unchecked or past (insurance, inspection…) Vehicles › See vehicles

An officer only sees a reason if they have the matching MDT permission: the reader never shows more than the record would. They also need Plate reader › Use in game and must be on duty.

When a plate is flagged, the officer sees a flashing red notification: the plate, the reasons and the vehicle model. A sound comes with it if the service wants one.

  • Mute the sound: each player can mute it on their side with the supermdt_plate_sound command (their choice is kept on their PC).
  • Open the record: for 20 seconds after the alert, the Page Up key (PAGEUP by default, action “open the flagged vehicle record”) opens the vehicle record in the tablet. Only with Vehicles › See vehicles. The notification shows the key the player actually bound; if they have none, it points to the SuperMDT menu and its key. The menu also offers Open the last alert for 10 minutes.

A clean plate triggers no notification. With the built-in reader, its camera shows Clear.

The built-in reader in game: what the officer sees

Section titled “The built-in reader in game: what the officer sees”

On a server without Wraith, the officer turns the reader on themselves. Once on, it stays on until they turn it off, leave the vehicle, change seats or go off duty.

  1. Turn on: the officer, on duty, gets behind the wheel of a patrol vehicle (or in the front passenger seat when allowed), opens the SuperMDT menu (F9; on ESX, the key the player picked) and picks Turn the plate reader on. A short message confirms “plate reader on”. No direct key by default: each player can bind one in Settings › Key Bindings › FiveM (“SuperMDT plate reader: turn on or off”).
  2. Read: a small panel stays on screen, at the bottom center like the Wraith radar, with two cameras side by side: Front and Rear. Each shows the plate of the vehicle it sees (up to 40 m ahead, or behind), its model and a status, updated every 500 ms.
  3. Turn off: the same menu entry (or the key). The message “plate reader off” confirms it and the panel goes away.
The built-in reader: front camera locked on a flagged plate, rear camera checked

When nothing is in front of a camera any more, it keeps the last plate read instead of going blank. Under the plate, discreetly, how long ago it was read: “just now” while the vehicle is in view, then “12 s ago”, “3 min ago”.

  • Automatic: as soon as a plate has something to report (stolen, BOLO, warrant, owner wanted…), its camera freezes on it, with the alert visible, for 30 seconds (Config.PlateReader.autoLockSeconds) or until the officer unlocks it. The countdown shows on the camera (“Locked · 24 s”). Other vehicles keep being read in the background without replacing the display. A plate with nothing to report locks nothing, and an unlocked plate does not lock again by itself while it stays in view.
  • Manual: the officer locks or unlocks each camera from the SuperMDT menu (Lock the front camera, … rear), or with their own keys (“SuperMDT plate reader: lock the front / rear camera”, no default key). A manual lock lasts until unlocked. A Locked pill with a padlock shows it on the camera.
Camera status What it means
Checking The plate was just read, the MDT is checking it.
Clear Nothing to report for this officer.
Flagged plate (red card) The plate is flagged: the reasons show on the camera, on top of the red notification, the sound and the shortcut to the record.
No vehicle This camera has read nothing since the reader was turned on.
Retrying… The MDT did not answer; the plate is read again a bit later.
Unreadable plate The vehicle seen has no readable plate.

A plate already checked is not asked again to the MDT: the camera shows at once the result kept by the bridge (2 minutes for a clean plate, for the whole service). The same plate seen by both cameras is sent only once. A clean plate never writes anything to the database.

As soon as a plate’s situation changes in the MDT (vehicle reported stolen or recovered, BOLO, arrest warrant or BOLO on the owner, plate or owner edited), the game server forgets it within a few seconds: it is read again on the next pass. Changing a service’s reasons clears everything that was kept.

When it can’t turn on, a short message says why (“Can’t turn the reader on: …”):

Reason shown What to do
go on duty in a department that has it Go on duty; check that your service has the reader on.
your department turned it off The service’s Built-in reader setting, in Settings › Operations.
you are not allowed to use it It takes Plate reader › Use in game.
get in a patrol vehicle The officer is on foot.
take the driver seat (or “take the driver or front seat”) Wrong seat.
emergency vehicles only Civilian vehicle: add unmarked cars to allowedModels.
vehicle not allowed With strictModels = true, only a model from allowedModels is accepted.
use the Wraith ARS 2X radar Wraith is installed: it reads the plates.
disabled on this server Reader turned off in the resource (Config.PlateReader).
not available for your organization In-game plate reader isn’t turned on in Settings › Game › Integrations.
your job is not linked to any department Link the job in Settings › Game › Jobs and services.
link your account to the MDT first See Accounts and characters.
refused by the MDT, try again later The MDT refused the last read: nothing more is sent for this player for 5 minutes (deniedTtlSeconds).

When the officer leaves the vehicle, the reason is “you left the vehicle”. Other short messages: “turn the plate reader on first” (locking a camera while the reader is off), “no plate read by this camera” (nothing to lock), “no recently flagged plate to open” (record key with no recent alert). The /supermdt_plate_sound command confirms the sound is muted or back on.

The reader turns itself off, with the reason, when the officer leaves the vehicle, changes seats or goes off duty. Its cameras and locks then start from scratch.

  • Automatic start: with Config.PlateReader.autoOn = true, the reader turns on by itself when the officer takes the right seat of a patrol vehicle. Turning it off (menu or key) keeps it off until the next vehicle. Off by default.
  • Move the panel: in the HUD layout (SuperMDT menu, or /mdthud), together with the other SuperMDT elements. The place is kept on the player’s PC; the default place is set with Config.PlateReader.panel.
Action Default key Also in the SuperMDT menu
Turn the reader on or off none yes
Lock or unlock the front camera none yes
Lock or unlock the rear camera none yes
Open the flagged vehicle record Page Up (20 s after the alert) yes (Open the last alert, 10 min)

Each player binds or changes their keys in Settings › Key Bindings › FiveM; the game texts always show the key they chose.

A flagged plate leaves a line in the Plate reader section of the vehicle record: the reasons, the period, who read it, via the Wraith radar or the Built-in reader, and the place on the map (Show on the map). The latest 20 passes are shown.

The Plate reader section of a vehicle record
  • Close reads of the same plate (within the service’s merge delay) extend the same line instead of adding one.
  • A clean plate never writes anything.
  • A plate unknown to the MDT leaves no trace: there is no record to write it on.
  • Without Keep a trace, nothing is written, even for a flagged plate.

Wraith ARS 2X or built-in reader: who can use it, where

Section titled “Wraith ARS 2X or built-in reader: who can use it, where”
Wraith ARS 2X (wk_wars2x, free, MIT license) Bridge’s built-in reader
When As soon as Wraith is started on the server Only without Wraith (unless builtinWithWraith = true, not recommended)
Vehicle Wraith’s rules: emergency vehicle (GTA class 18) Emergency vehicle (class 18) or a model in Config.PlateReader.allowedModels (unmarked cars), with emergencyOnly = true
Seat Driver; front passenger if Wraith’s config allows it (allow_passenger_view) Driver; front passenger only if Config.PlateReader.allowPassenger and the service setting allow it
Reading Wraith’s front and rear cameras Two cameras, front and rear: the vehicle ahead and the one behind, up to 40 m (range), every 500 ms (scanIntervalMs) while the officer has the reader on (SuperMDT menu, or their key)
Display Wraith’s screen The built-in reader’s panel: two cameras side by side (plate, model, status, last plate kept, lock)
What the bridge adds On duty, service with the reader on, Use in game permission The same
Support Verified in code Tested in game
  • Wraith is never bypassed: its own rules apply first. The bridge listens to its events (wk:onPlateScanned, wk:onPlateLocked) and adds its own.
  • Automatic lock: Config.PlateReader.wraithLockOnHit locks the plate in Wraith when it is flagged. Off by default: SuperMDT’s answer comes afterwards, and the plate Wraith shows may have changed in the meantime.
  • What the server re-checks: the seat, always. The vehicle class (class 18) can only be read on the player’s side; with strictModels = true, the server also checks the model, and only models in allowedModels are accepted.

In config_shared.lua, Config.PlateReader:

Setting Role Default
enabled The plate reader on the game server side on
builtin The built-in reader (false: Wraith only) on
builtinWithWraith Built-in reader even with Wraith (double reading) off
emergencyOnly Emergency vehicles and allowedModels only on
allowedModels Models allowed besides emergency vehicles none
strictModels Only the models in allowedModels, also checked by the server off
allowPassenger The front passenger can read (if the service allows it too) on
range Range ahead of the vehicle, in meters 40
scanIntervalMs Reader on: one read every… 500 ms
key Default key that turns the reader on or off (supermdt_plate_toggle); also in the SuperMDT menu none
autoOn Turn the reader on when getting in a patrol vehicle off
autoLockSeconds How long a camera stays locked on a flagged plate (0: never) 30 s
lockFrontKey, lockRearKey Default keys to lock each camera none
panel Default place of the panel (position, offset in pixels); each player changes it in the HUD layout bottom center, 32 px from the edge
alertSound Alert sound on
openKey Default key of supermdt_plate_open PAGEUP (Page Up)
openWindowMs This key opens the record for… after the alert 20 s
menuRecordMinutes “Open the last alert” stays in the menu for… 10 min
wraithLockOnHit Lock the plate in Wraith on an alert off

In config.lua, Config.PlateReaderServer sets the cache and the limits:

Setting Role Default
perPlayerMs At most one read sent per player every… 1.5 s
batchWindowMs Reads are sent together after this delay (16 per request at most) 750 ms
cleanTtlSeconds A clean plate is not asked again, for the whole service, for… (forgotten sooner if it changes in the MDT) 2 min
hitTtlSeconds A flagged plate is not asked again, for this officer, for… 60 s
deniedTtlSeconds After a refusal (permission, off duty…), nothing is sent for this player for… 5 min
maxPerMinute Reads sent per minute for the whole server 120
Permission What it allows Default
Plate reader › Use in game Receive the alerts in game, on duty every rank
Plate reader › Configure the reader The Plate reader card in Settings › Operations command

They sit under the Vehicles module of the permission matrix, and only show there when the game integration is on.

What you see Cause What to do
Never any alert Reader off for the organization or the service, no Vehicles module, officer off duty or without Use in game Check both switches and the permission.
Nothing shows when picking “Turn the plate reader on” Built-in reader off on the game server (builtin = false), or the entry missing from the menu (off duty, service without the reader) Check Config.PlateReader and your service; otherwise, the message on screen says why the reader does not turn on.
The built-in reader reads nothing in an unmarked car The vehicle is not class 18 Add the model to allowedModels.
The passenger gets nothing Passenger forbidden by the service, by allowPassenger or by Wraith’s config Allow it in all three places.
A stolen plate triggers nothing Reason unchecked in the service, or the officer lacks See vehicles Check the reason and the permission.
No line on the record Plate unknown to the MDT, or Keep a trace unchecked Expected in the first case.

In the server console, supermdt status (“Plate reader” line) tells whether the reader is active (and if not, why), its mode (Wraith, or built-in reader turned on by the officer or automatically), the number of services where it is active, and counts reads, sends, cache hits, alerts and refusals.