wasabi_mdt
wasabi_mdt is an advanced Mobile Data Terminal and dispatch system for FiveM law-enforcement departments. It combines live operations, searchable records, investigations, dispatch, department management, CCTV, and third-party integration tools in one permission-aware interface.
danger
The resource folder must be named wasabi_mdt or integrations and exports may not operate correctly.
Features
- Multi-framework support - Automatically detects ESX, QBCore, QBOX, or ox_core through included framework bridges.
- Modern MDT interface - Responsive React/NUI interface with department theming, global search, map tools, and paginated record views.
- Live dashboard - View active officers, recent incidents, warrants, announcements, and operational information.
- Citizen and asset records - Search and manage citizens, vehicles, weapons, and properties.
- AutoSync records - Optionally read citizens and vehicles directly from framework tables and properties from a supported housing resource while retaining MDT notes, flags, photos, and fingerprints as an overlay.
- Incident reporting - Build reports with linked citizens, vehicles, charges, evidence, officers, warrants, and other records.
- Report Link Graph - Explore connected records through a configurable relationship graph with server-side traversal limits.
- Charges and penal codes - Maintain charge catalogs and structured penal codes for use in reports and warrants.
- Warrants and BOLOs - Create, track, serve, cancel, resolve, and search active law-enforcement alerts.
- Evidence management - Record evidence, photos, storage locations, check-in/check-out actions, and chain-of-custody history.
- Live dispatch - Create priority calls, assign responding units, pin calls, set waypoints, mark arrival automatically, and optionally persist active calls across restarts.
- Patrol and radio tools - Build patrol teams and use configurable TAC/call channels through optional
pma-voiceintegration. - Dispatch interoperability - Mirror calls to
ps-dispatchorcd_dispatchand optionally ingest external calls. - Panic and gunshot alerts - Configurable officer panic flow and automatic civilian gunshot detection.
- BodyCam workflow - Optional Medal desktop integration for officer recording controls and a body-worn camera HUD.
- CCTV system - Place, reposition, repair, and view department cameras using optional
object_gizmointegration. - Department permissions - Configure department labels, accent colors, and per-grade permissions for supported actions.
- Announcements and officer roster - Department-scoped communications, callsigns, duty status, and live officer tracking.
- Photos and audit logging - Optional FiveManage uploads through
screenshot-basicand configurable Discord webhook audit logs. - Developer APIs - Client/server exports and integration events for dispatch, records, permissions, bodycam, and entity linking.
Supported frameworks
- ESX
- QBCore
- QBOX
- ox_core
The active bridge is selected from the framework resources that are started on the server.
Main configuration areas
| Area | File | Purpose |
|---|---|---|
| Shared config | config/shared/config.lua | UI, locale, open methods, AutoSync, dispatch, radio, BodyCam, catalogs, and resource names |
| Client config | config/client/config.lua | Tablet animation, keybinds, CCTV streaming, dispatch blips, and BodyCam stop control |
| Server config | config/server/config.lua | Pagination, dispatch persistence, link graph limits, external dispatch ingestion, audit logging, and update checks |
| Departments | config/shared/departments/*.lua | Department labels, colors, and per-grade permissions |
| Server integrations | config/server/opensource.lua | FiveManage key, Discord webhook, billing, jail, and charge-link hooks |
| Bridges | bridge/** | Framework, housing, dispatch, notification, and custom integration paths |
Core pages
- Dashboard
- Dispatch
- Map
- Citizens
- Vehicles
- Weapons
- Properties
- Incidents
- Evidence
- Charges
- Penal Codes
- Warrants
- BOLOs
- Officers
- Announcements
- Cameras