Skip to content
FivePD

Callouts Not Working in FivePD? Here’s What to Do

Diagnose legacy FivePD callout failures with a clean baseline, matching package versions, server and client logs, JSON checks and a safe rollback.

TroubleshootingArticle updated

Start by distinguishing FivePD failing to start, one callout assembly failing to load, and a loaded callout not being selected. They do not have the same fix. Work on a separate test instance and keep a restorable copy of the resource, configuration and active database.

This is a source-reviewed workflow for legacy installations, not a verified repair for every FivePD release or server build. The status and sources page records what was inspected and the remaining compatibility uncertainties.

Fix Callouts

ObservationNext step
FivePD itself does not startCapture the first startup error before testing add-ons
Default callouts work but a new pack failsIsolate that pack and check its target API and dependencies
No callouts are selected despite clean startupCheck duty state and the matching package’s callout configuration
Only one player has a problemCompare client errors, settings and connection state
A restart temporarily helpsRecord a reproduction; do not call repeated restarts a root-cause fix

1. Verify Installation of Callout Files

Compare the package’s actual layout with the legacy installation guide. For the inspected distribution, callout assemblies live inside the FivePD resource’s callouts/ directory. Do not assume an arbitrary subfolder is searched recursively.

A GitHub source archive can contain project files rather than a compiled release. Check that you installed the intended build and all documented supporting files. There is no universal callout manifest.json established by this review; the FiveM resource manifest and a callout author’s own configuration are different things.

2. Check the Callout Configuration

Validate JSON syntax, then compare settings with the documentation for the exact installed version. The inspected legacy callouts.json contains minCallTimeout, maxCallTimeout, expirationTime, probability and enableAmbientEvents.

Do not add a namespace-registration list, guessed priority rules or a debug flag unless the selected package documents them. If a pack has its own configuration, follow that author’s schema. Preserve the original file so each change can be compared or reverted.

3. Check Versions Before Updating

Record the core package source/version, callout version, FXServer build, operating system and database backend. Compare the callout’s documented target with your installation.

The FivePD project website is the place to look for developer announcements. The local archives on the downloads page are legacy mirrors, not a verified current-release feed. A search result, a new commit date or a file called “latest” does not prove a supported release exists.

Do not mix unrelated core DLLs or add an unexplained compatibility binary as a routine fix. Back up and test any documented update before production. In particular, do not run an initialization SQL script against an existing database without checking for destructive statements and testing restoration.

4. Check Server and Client Errors

Capture the first relevant error in the FXServer/txAdmin console and the FiveM client’s F8 console. Do not assume every failure creates a log in a universal fivepd/logs directory.

Error categoryWhat to investigate
Assembly or method loadingMissing dependency, wrong API version or incompatible runtime target
JSON parsingSyntax errors or editing the wrong configuration file
Database connection/native librarySelected backend, permissions, credentials and operating-system compatibility
Missing model or resourceA documented dependency or resource name mismatch
Exception after accepting a calloutThe pack’s runtime behavior; provide a minimal reproduction to its author

Remove passwords, bot tokens, server license keys and personal data before sharing logs. Download dependencies only from an identified, documented source. Do not install a random DLL based solely on its filename.

5. Test Callout Functionality

Return to the last working baseline. Temporarily move the suspect add-on out of the test resource, confirm core behavior, then reintroduce one pack at a time. Keep files rather than deleting your only copy.

Cfx.re documents restart fivepd as a resource restart and ensure fivepd as starting a stopped resource or restarting a running one when executed. Neither command is a continuous crash-recovery service. refresh rescans resource manifests; it does not fix a callout. See the server command reference.

Use manual callout selection only if the installed version documents it. A successful load is not the same as a completed scenario: test acceptance, interactions, cleanup and, where applicable, multiple players.

6. Troubleshoot Player-Specific Issues

Confirm the affected player is using the server’s configured duty controls and compare behavior with another player. Permissions can be managed by different resources; do not assume a universal FivePD permissions.cfg rule.

Read the client error before making local changes. Clearing caches is not the first diagnostic step for every callout problem. Do not delete game files, authentication data or the entire FiveM application directory. Use the relevant platform’s documented troubleshooting steps only when the evidence points to a client issue.

7. Ask for Help with a Reproduction

Use support channels linked by the project or add-on author, rather than an assumed invite or a wallpaper page. Supply the environment/version record, the first sanitized error, the smallest reproduction and whether the default callouts still work.

Do not describe an untested workaround as a confirmed fix. If a proposed workaround changes security controls, adds a new binary or alters database contents, establish its source and effect before trying it on a disposable test instance.

Conclusion

A useful troubleshooting result identifies which layer failed and proves that the corrected configuration works. Keep the version record and rollback; do not promote a server change solely because an error disappeared after a restart.

For installation context, see creating a legacy FivePD server and adding custom callouts.