Jobs · Overextended

ox_mdt

A police mobile data terminal: reports, profiles, warrants, BOLOs and a dispatch map, as a modern React interface.

An MDT is the police side of a roleplay server — the place officers file reports, look up profiles and see where calls are coming from. ox_mdt is the most polished open implementation, and the part that matters for map work is its dispatch view: a live map of active incidents that reads whatever map tiles the server is running.

Official documentation Repository All resources

At a glance

MaintainerOverextended
Latest releaseRolling — no tagged releases
Last code change2026-05-04
LicenceGPL-3.0
Written inTypeScript
GitHub stars56
StatusActive

Figures read from the repository on 2026-09-22.

Why servers run it

  • Reports, profiles, warrants, BOLOs and announcements in one place, backed by MySQL.
  • A dispatch map showing live calls rather than a text log.
  • Granular permissions, so a cadet and a chief do not see the same buttons.
  • React-based UI that does not look like it was written in 2018.

Installing ox_mdt

  1. 1. Install oxmysql, ox_lib and a framework

    It bridges ESX, QBCore, Qbox and ox_core.

  2. 2. Import the SQL

    The schema covers reports, profiles, warrants and officers.

  3. 3. Set up permissions

    The permission table decides who can do what. Getting this right first saves a lot of support tickets later.

What goes wrong

The dispatch map uses the game's map tiles. A replaced minimap changes what officers see in the MDT too, which is usually what you want and occasionally a surprise.

Permissions default to restrictive. An MDT that 'does not work' for everyone except you is almost always the permission table.

ox_mdt — questions people ask

Does an MDT show the custom minimap?
The in-game dispatch view draws from the same map tiles the radar uses, so yes — a replacement minimap is visible there too.

Runs alongside

ox_lib

The shared library half the modern FiveM ecosystem depends on: menus, notifications, progress bars, zones, callbacks and a cache.

oxmysql

The MySQL wrapper the modern FiveM stack runs on: promise-based, prepared-statement aware and a drop-in replacement for mysql-async.

ox_target

The third-eye interaction system most modern scripts target: look at a thing, get a menu, click an option.