Troubleshooting

Symptom-indexed checklists for common oxide-police issues — startup failures, clock-in problems, MDT/radar/mugshot/bodycam/ESX job sync diagnostics.

Common issues for oxide-police.

Startup

Duty & Hiring

MDT

Radar

Mugshot & Booking

Field Interactions

Custody

Bodycam

ESX Compatibility

Banking & Fines

General Debugging

Enable debug mode

-- shared/config.lua
Config.Debug = true

Enables verbose console output from the module boot logs and per-call diagnostics. Note that /duty is disabled by default because Config.RequireStationClockIn defaults to true (officers clock in at a station). Set it to false to enable the /duty command and the duty toggle inside the police radial menu for hired officers.

Useful checks

  • Confirm oxide-police initialised by looking for the boot log lines from each module (Departments, Officers, Duty, MDT, Custody, etc.).
  • Use the mugshot Preview in /padmin → Detention Mugshot to check booth placement, then book a test suspect to validate the full capture-and-upload pipeline.
  • Use olink.logger.SetLevel('debug') (in your o-link config) to surface bridge calls — most cross-resource issues are visible there.
  • Use /padmin → Departments → View JSON to inspect the raw row stored in the database when troubleshooting setup issues.

Getting Help

If none of the above resolve your issue:

Enable debug mode and reproduce the problem.

Check your server console for errors from oxide-police, o-link, oxmysql, and screenshot-basic.

Note your framework (QBCore / Qbox / ESX), inventory resource, and dispatch resource.

Contact Oxide Studios support with your debug output.

Next Steps