Oxide Police

Multi-framework police department, MDT, custody, and evidence system for FiveM servers.

Oxide Police is the department-operations and Mobile Data Terminal layer for FiveM servers. It handles departments, stations, officers, hiring and duty, garages and fleet, armories, uniforms, charges and fines, custody and booking, mugshot capture, prisoner jobs, evidence, CCTV, speed cameras, bodycams, radio, and a full set of field interactions — all backed by MySQL and configured at runtime through /padmin. It supports QBCore, QBx (Qbox), and ESX Legacy through o-link, and pairs with oxide-dispatch as its alert source for the MDT Dispatch tab.

Key Features

  • MDT — Cases, charges, fines, warrants, BOLOs, criminal records, and a dispatch tab fed by olink.dispatch.*
  • Departments & Stations — Multi-department setup with grades, clock-in points, radio channels, armories, garages, and mugshot booths managed through /padmin
  • Charges & Fines — 100 pre-loaded charges catalog with configurable severity, fine caps, and oxide-banking invoicing
  • Custody & Booking — Full pipeline from cuff through search, escort, booking, mugshot, jail cells with three stripping modes (locker / wipe / whitelist), sentence ticking, and a prison revive cutscene
  • Mugshot Capturescreenshot-basic integration with configurable upload endpoint and webhook for booking photos
  • Evidence System — Blood, bullet, fingerprint, and registrable item evidence with weapon ballistics and GSR support
  • Garage & Fleet — Vehicle catalog from Config.FleetCatalog (Patrol / Pursuit / Tactical / Motorcycle); per-vehicle radar and megaphone addons, grade-gated spawn, and a vehicle impound flow
  • Speed Cameras, CCTV, Bodycams, Megaphone — Streamed radar weapon (WEAPON_RADAR), placeable cameras, bodycam streaming, and handheld + vehicle PA
  • Prisoner Jobs & Prison Shop — Mining, cleaning, and electrical jobs that reduce remaining sentence time (with optional money and item drop rewards); admin-configured prison shop with meal windows and a paid catalog
  • Field Tools — Wheel clamp, mouth tape, tracking band, headbag, ziptie, scissors, lockpick, breathalyzer
  • Framework Compatibility Shims — QBCore back-compat (qb-policejob callbacks, police:SetCopCount, IsHandcuffed export) and ESX shim with optional job sync; Qbox is covered by the QBCore shim path

Requirements

Required

ResourcePurpose
ox_libLocale, callbacks, skill checks, keybinds, UI helpers
oxmysqlDatabase persistence
o-linkFramework abstraction (character, job, money, inventory, notify, target, dispatch, banking, doorlock)
screenshot-basicMugshot capture upload
FrameworkOne of qb-core, qbx_core, or es_extended
ResourcePurpose
oxide-dispatchPowers the MDT Dispatch tab. Without it, set Config.MDT.dispatchEnabled = false
oxide-bankingFine invoicing and treasury accounts
pma-voice or yaca-voicePolice radio channels and megaphone voice routing

Supported Frameworks

FrameworkSupport
QBCore (qb-core)Full
QBX (qbx_core)Full
ESX Legacy (es_extended)Full

Quick Start

Place oxide-police in your server's resources directory.

Start ox_lib, oxmysql, screenshot-basic, o-link, your framework, optional oxide-banking and oxide-dispatch, and oxide-police in that order.

Run sql/install.sql to create every Oxide Police table.

Review shared/config.lua and the files under shared/config/.

Follow the framework-specific setup (QBCore, QBX, or ESX) to register items, the radar weapon, and disable legacy police resources.

Run /padmin in-game to create departments, stations, garages, armories, radio channels, and prison points.

See the Installation Guide for the full setup flow.

Documentation