FiveM MDT: what it does and how to choose one
A FiveM MDT is the police computer players open in game to search people and vehicles, file reports and warrants, and follow calls on a map. On ESX, QBCore and Qbox, an MDT inside your dispatch script suits a server that buys calls and records from one vendor. A standalone MDT suits a server that picks its dispatch and jail separately and links them. Our All-in-one MDT V2 is a standalone MDT.
What an MDT does on a server
MDT is short for mobile data terminal, the computer emergency services use to talk to a central dispatcher (Wikipedia, read 19 October 2026). On a roleplay server it holds the police records that outlive a single scene:
- profiles, vehicles, properties and weapons, with photos and tags;
- incidents and reports, with the people involved and their charges;
- warrants and BOLOs on the home page;
- the map with active units and calls.
Most of what officers do in an MDT ends in another script. The alert comes from the dispatch, the billing script charges the fine and the jail script serves the sentence. An MDT is only as useful as its links to the scripts you already run.
What to compare
| Check | Why it changes the choice |
|---|---|
| Framework and database | The MDT reads characters, jobs and vehicles from your framework tables. A wrong match means empty profiles. |
| Dispatch link | Calls on the MDT map come from your dispatch. Without a link, officers switch screens. |
| Jail link | A charge with a sentence should send the player to your jail without a second command. |
| Fines | Fining runs through your billing script; the MDT has to call its export. |
| Records from other scripts | Vehicles and weapons sold by your dealership and gun shop should reach the records without an officer typing them in. |
| Permissions | Each job and grade should see and change only what it should, per page and per action. |
| Departments | Police, sheriff, EMS and DOJ may each want their own MDT with their own pages. |
MDT inside a dispatch script
Who it suits: a server that wants one resource for calls and records, from one vendor.
What it needs: that vendor’s dispatch, and its framework.
Limits: if the records live in the dispatch resource, replacing that dispatch later also means moving the records or losing them. Check the jail, billing and registration links the same way as for a standalone MDT.
Standalone MDT: All-in-one MDT V2
Who it suits: a server that runs, or plans to run, separate police, dispatch and jail scripts and wants one records system for several departments.
What it needs:
- Framework: ESX, QBCore or Qbox. In
config,.lua Configtakes.Framework 'esx'or'qb'. The framework files are editable, so another framework can be added with your own code. - Database: oxmysql or mysql-async. Import
tk_mdton a fresh install. V1 owners get V2 as a free update, and the.sql /convertmdtcommand converts the oldtk_mdtdatabase. - Dispatch: with
Config, calls from Dispatch System also appear on the MDT map, and.Dispatch = 'tk' configholds a ready Dispatch page entry to uncomment. The same option copies calls from cd_dispatch, qs-dispatch, ps-dispatch, core_dispatch, rcore_dispatch or LoveRP’s emergency dispatch instead..lua - Jail: with
Config, a sentence set in the MDT goes to Advanced Jail System V2 (.Jail = 'tk' tk_jail).'pickle','xt'or'rcore'send it to pickle_prisons, xt-prison or rcore_prison;'xt'also needs ox_lib added tofxmanifest. CCTV Camera System (.lua tk_cctv) has a page entry too. Each of these scripts is sold separately. - Permissions: each page and action has read, write and delete rights by job name and minimum grade. You edit them in game, predefine them in
configor turn them off. Tags can carry a minimum grade that hides tagged reports and incidents from lower grades..lua - Departments: as many MDTs as you want, each with its own pages, jobs, colour and opening command or item.
Limits:
- Fining from the MDT does nothing until you add your billing script’s export to
FinePlayerinclient/; the function ships empty.main_editable.lua - Owned vehicles are read from your framework’s vehicle table when the MDT starts. A vehicle bought later shows before the next restart only if your dealership calls the
registerVehicleserver export. - Weapons appear when an officer adds them or when your gun shop calls the
registerWeaponserver export (docs). - In-game photos need
screenshot-basicand a Fivemanage token, and facial recognition only matches profiles that already have a photo. - Protected by Cfx.re Asset Escrow. The config files and editable files are open for you to change, including all framework-specific functions and events.
The V2 showcase on YouTube (3:10) shows the pages in use.
Which fits your server
- You run one vendor’s dispatch with its own MDT and are happy with both: keep it; a second MDT duplicates records.
- You are replacing your dispatch: check where your records live first. If they sit inside the old dispatch, plan the records move together with the dispatch switch.
- You run Dispatch System, Advanced Jail System V2 or both: All-in-one MDT V2 links to them with one config value each.
- You are building the police side from scratch: Advanced Police Job hands jail sentences to Advanced Jail System V2 and can open Advanced Boss Menu V2 as its boss menu, each sold separately. This MDT links to the jail and to Dispatch System itself.


