Skip to main content

Installation

Basic installation instructions for wasabi_mdt.

danger

The resource folder must be named wasabi_mdt.

Before installing

  1. Install the required dependencies.
  2. Stop and remove any other MDT resource that replaces the same commands, items, or records workflow.
  3. Confirm ox_lib, oxmysql, and your framework start before wasabi_mdt.
  4. Keep the public resource name as wasabi_mdt in your resources folder and server.cfg.
  5. Back up your database before replacing an existing production MDT.

Install the resource

  1. Extract the resource into your server resources folder.
  2. Rename its folder to exactly:
wasabi_mdt
  1. Add the appropriate start order to server.cfg.

ESX

ensure ox_lib
ensure oxmysql
ensure es_extended
# Optional feature resources should start here
ensure wasabi_mdt

QBCore

ensure ox_lib
ensure oxmysql
ensure qb-core
# Optional feature resources should start here
ensure wasabi_mdt

QBOX

ensure ox_lib
ensure oxmysql
ensure qbx_core
# Optional feature resources should start here
ensure wasabi_mdt

ox_core

ensure ox_lib
ensure oxmysql
ensure ox_core
ensure ox_inventory # Required when the MDT tablet item is enabled
# Optional feature resources should start here
ensure wasabi_mdt

The resource creates its required wsb_mdt_* database tables and indexes automatically on first start. No separate SQL import is required. Ensure the database account used by oxmysql can create and alter tables, and check the server console for database startup errors.

Install the MDT tablet item

If Config.OpenMDT.item.enabled = true, add the included mdt_tablet item to your inventory.

Examples are included in:

_INSTALL_INVENTORY_ITEM/item.txt

Copy the included mdt_tablet.png to the image directory used by your inventory.

For ox_inventory or wasabi_inventory:

['mdt_tablet'] = {
label = 'MDT Tablet',
description = 'A law enforcement MDT device.',
weight = 50,
stack = false,
close = true,
consume = 0,
}

For QBCore/qb-inventory:

mdt_tablet = {
name = 'mdt_tablet',
label = 'MDT Tablet',
weight = 50,
type = 'item',
image = 'mdt_tablet.png',
unique = false,
useable = true,
shouldClose = true,
combinable = nil,
description = 'A law enforcement MDT device.',
}

You can disable item access and use only the command/export:

Config.OpenMDT.item.enabled = false

Configure departments and permissions

Department files are located in:

config/shared/departments/

The resource includes example configurations for police, lssd, and sasp. The department key must match the framework job name.

At minimum, grant mdt.open to grades that should access the MDT:

Config.Departments['police'] = {
label = 'Los Santos Police Department',
color = '#3b82f6',
permissions = {
['mdt.open'] = '*',
-- Add the remaining action permissions here.
},
}

'*' allows every grade in that department. A grade array such as { 3, 4, 5 } limits an action to those grades.

For staff override access, grant the ACE permission:

add_ace group.admin mdt.staff allow

You can also edit Config.StaffGroups in config/shared/config.lua.

Configure optional features

  • AutoSync: Review Config.SyncData and select a housing adapter if required.
  • Radio/patrol: Install pma-voice or set Config.Radio.enabled = false.
  • CCTV placement: Install object_gizmo and verify Resources.OBJECTGIZMO.name.
  • Photos: Install screenshot-basic and add the FiveManage API key to config/server/opensource.lua.
  • BodyCam: Review Config.BodyCam; officers need the Medal desktop app to record clips.
  • External dispatch: Start ps-dispatch or cd_dispatch; enable ServerConfig.IngestExternalDispatch only if calls should also be imported into the MDT.
  • Audit logging: Add a Discord webhook in config/server/opensource.lua, then enable ServerConfig.AuditLog.

Final checklist

  • Resource folder is named wasabi_mdt.
  • ox_lib, oxmysql, and the selected framework start first.
  • Old/conflicting MDT resources are disabled.
  • The mdt_tablet item is installed or item opening is disabled.
  • Department keys match framework job names.
  • Permission grades have been reviewed for every department.
  • Optional dependencies are installed or their features are disabled.
  • API keys and webhooks remain in config/server/opensource.lua and are not committed publicly.
  • /mdt, the item, dispatch HUD, record search, photos, cameras, and framework data have been tested in-game.