FivePD Configuration: config.json and Callout Settings
Understand the FivePD v1.5 config.json fields and separate callouts, menus and vehicle JSON files, with source links and safe editing steps.
FivePD v1.5 keeps its root settings in config.json and feature-specific JSON under config/. The files below are from an inspected third-party legacy snapshot, not a universal API reference or a verified current release.
If you are installing a server for the first time, start with the legacy setup guide. Back up the whole resource and database first. Do not overwrite existing JSON with a short example from a website.
FivePD config.json fields
The observed root configuration contains these groups:
| Setting | Meaning in the inspected file | Safe approach |
|---|---|---|
| db | Database backend selector; snapshot value is sqlite. | Keep the backend appropriate for your exact package. |
| database | MySQL connection host, port, username, password and database name. | Use a dedicated account and secret management; never copy the example administrator login. |
| stationBlips | Toggle for station map markers. | Change only after validating the existing JSON. |
| adminCode | Legacy admin-code value. | Change the example value, protect it and confirm the selected version’s behavior. |
| discord | Object containing an enable switch and token. | Do not enable it without a valid configuration; keep tokens private. |
| dutyNotification, observation, allowlist | Boolean feature switches. | Confirm expected behavior in your installed build. |
| maxReportLength, maxCitationCount, maxFine, maxChargeCount | Limits applied to reports and records. | Adjust cautiously; changing a numeric limit does not guarantee a different UI or database schema. |
A partial example for a package already using SQLite:
{
"db": "sqlite",
"stationBlips": true,
"dutyNotification": true
}
Do not paste this over config.json. It intentionally omits required settings. The upstream example also contains default credentials and a blank token; publishing those as ready-to-use credentials would be unsafe.
Callout settings: config/callouts.json
The inspected callout configuration contains:
{
"minCallTimeout": 30,
"maxCallTimeout": 180,
"expirationTime": 30,
"probability": 65,
"enableAmbientEvents": true
}
These are observed snapshot values, not recommended tuning values or fields guaranteed in every release. The file does not contain a list of custom callout namespaces. Installed packs may have their own author-defined configuration. See adding custom callouts and callouts not working.
Other FivePD JSON files
| File | Content visible in the legacy snapshot |
|---|---|
| config/menu.json | Duty and scene menu actions, including isEnabled and isAdminOnly flags. |
| config/vehicles.json | Vehicle display names and models, plus sample rank and department restrictions. |
| config/coordinates.json | Station positions and jail drop-off coordinates. |
| config/scene_management.json | Speed-zone choices and placeable scene objects. |
| config/charges.json | Sample violation and charge labels. |
| config/questions.json | Example questions and answer options for interactions. |
Not every visible field has been tested in-game. The FivePD police computer guide explains the distinction between record settings and the UI.
Safe editing and validation workflow
- Record the FivePD package version, git/release source, FXServer build and current database backend.
- Save a restorable copy of the resource and database separately. Protect any file containing secrets.
- Change one documented key in the existing JSON. Preserve its types: booleans, numbers and strings are not interchangeable.
- Validate with node —check only for JavaScript, not JSON. For JSON use a JSON validator, or on a trusted local machine run:
node -e "JSON.parse(require('node:fs').readFileSync('config.json', 'utf8')); console.log('valid JSON')"
- Restart in a test environment, confirm the feature and verify persistence. Revert the exact file if the behavior changes unexpectedly.
FAQ
Where is FivePD config.lua?
The inspected legacy FivePD core uses JSON, not a core config.lua. Other FiveM resources may use Lua. Do not edit a different package because both files contain the word config.
Where do I set the FivePD admin code?
The legacy root config.json includes an adminCode field. Its authentication behavior has not been verified across releases; do not assume the default code is safe to leave in place.
How do I change FivePD callout probability?
The inspected config/callouts.json has a probability field. Do not assume a percentage or scheduling algorithm across builds without the matching release documentation. Change it only with a baseline and a repeatable test.
Does FivePD need MySQL?
Not every legacy package does. This snapshot selects SQLite, with settings for a MySQL option. See database troubleshooting for differences.
Continue with a related guide
- FivePD status and reviewed sources
Check the scope of the source review and outstanding compatibility questions.