Oxide Baitcar
Police-deployable honeypot vehicle with remote control, dashcam, and dispatch alerts for FiveM servers.
Oxide Baitcar is a police-deployable honeypot vehicle system for FiveM servers. Officers install a baitcar_chip into any target vehicle — civilians see a normal car, while officers get a dashboard or handheld remote that exposes door locks, engine kill, steering override, speed limiter, strobes, alarm, horn, waypoint, and a per-vehicle dashcam feed. When a non-officer drives the chipped car above a configured speed threshold, a dispatch alert fires and an audit row is written to baitcar_events. Civilians can fight back by using a screwdriver while seated in the chipped vehicle (configurable success chance). Dashcam clips upload through oxide-police's recording pipeline, and alerts are carried by any olink.dispatch.* adapter — including oxide-dispatch.
Key Features
- Chip-Based Deployment — Officers consume a
baitcar_chipin a 4-second install with a per-vehicle unique-plate check - Two Operating Modes — Handheld remote (
baitcar_remoteitem, default) or a/baitcardashboard + radial menu when remote-only mode is disabled - Remote Actions — Lock / unlock doors, engine on / off, steering override (lock / left / right), speed limiter, strobe, alarm, horn, and waypoint
- Dashcam Feed — Live camera attached to the chipped vehicle with per-class and per-model tuning via the
/baitcardashcamtuneworkflow - Drive-Off Trigger — One-shot dispatch alert + configurable fake wanted level when a non-officer exceeds
Config.TriggerSpeedMpsforConfig.TriggerDurationMs - Civilian Search — Screwdriver-based 12-second search with a configurable success chance; failures always return the same "nothing found" message to prevent detector abuse
- Audit Log + Live Feed — Persistent
baitcar_eventstable covering 20 distinct event types plus an in-memory live event feed to authorized-job clients - Officer-Only Map Blips — Active deployments surface as map markers visible only to jobs in
Config.AllowedJobs - Dashcam Recording — F8 hotkey starts a recording that uploads through
oxide-policeand lands in the MDT Video Storage tab
Requirements
Required
| Resource | Purpose |
|---|---|
ox_lib | Callbacks, timers, UI helpers |
oxmysql | Database driver for the baitcar_events audit log |
o-link | Framework and system abstraction (character, job, inventory, notifications, dispatch, radial, menu, input, logger) |
| Framework | One of qb-core, qbx_core, or es_extended |
Optional
| Resource | Purpose |
|---|---|
oxide-police | Dashcam clip recording uploads. Clips are stored in police_bodycam_recordings and surfaced in the MDT Video Storage tab. Without it, the recorder mount is skipped and the F8 hotkey is a no-op. |
Dispatch adapter (oxide-dispatch, ps-dispatch, cd_dispatch, etc.) | Carries the Bait Car Triggered alert when a suspect drives off. Without an adapter, the audit row still logs but no alert fires. |
Supported Frameworks
| Framework | Support |
|---|---|
QBCore (qb-core) | Full |
QBX (qbx_core) | Full |
ESX Legacy (es_extended) | Full |
Quick Start
Place oxide-baitcar in your server's resources directory.
Start ox_lib, oxmysql, o-link, optional oxide-police, and oxide-baitcar in that order.
Run sql/install.sql to create the baitcar_events audit table.
Register the three items (baitcar_chip, baitcar_remote, screwdriver) in your framework's inventory — see the per-framework subsections in the installation guide.
Review shared/config.lua — especially Config.AllowedJobs, Config.UseRemoteController, and Config.Dispatch.
See the Installation Guide for the full setup flow.
Documentation
Installation
Dependencies, SQL, item registration, and verification.
Configuration
Per-key reference for shared/config.lua.
Features
Deployment, remote actions, dashcam, and audit log.
Exports
Net events, callbacks, and entity statebags.
Admin
Commands, permissions, and dashcam tuning.
Troubleshooting
Common failure modes and fixes.