Docs / FiveM / Whitelist Sync

Whitelist Sync

When a whitelist application is approved in Docket, the player is automatically whitelisted on your FiveM server. No manual entry, no spreadsheets, no copy-paste.

Setup — three steps

  1. On Dashboard > Integrations, connect your FiveM server, then under Whitelist Sync click Generate API key and Download resource
  2. Drop the docket_whitelist folder into your server's resources/ directory
  3. Add to server.cfg (the key is shown once at generation):
ensure docket_whitelist
set docket_api_key "YOUR_KEY_FROM_THE_INTEGRATIONS_PAGE"
set docket_fail_open "0"

Restart the server (or refresh + ensure docket_whitelist). That's it — from then on, approving a whitelist application in Docket means the player can join; everyone else is turned away at connect with a friendly message telling them to apply in your Discord.

Verify it's working

Back on Dashboard > Integrations, press Test connection. It checks both directions and tells you in plain words:

  • Docket → your server — whether players.json responds at the IP you connected (and the live player count)
  • Your server → Docket — whether the resource has actually contacted Docket with your API key. If it says the server has never contacted Docket, the resource isn't started or docket_api_key isn't set — fix server.cfg and restart the resource

The resource pre-loads the whitelist about a minute after startup, so a freshly restarted server shows up on the tester within a couple of minutes even before the first player connects.

How it works

  • On connect, the resource reads the player's Discord ID from their FiveM identifiers (Discord must be running for players — the resource explains this to them if it isn't)
  • It checks that ID against your Docket whitelist — everyone with an approved whitelist application
  • Results cache for 60 seconds, and the full approved list is pre-loaded at startup and refreshed every 5 minutes — so joins are instant and a burst of connections doesn't hammer anything
  • Newly approved players can join within seconds of approval — the live check catches them even before the next cache refresh

If Docket is unreachable

You choose the failure policy in server.cfg: docket_fail_open "0" denies joins while the check is down (safest for strict whitelist servers), "1" lets everyone in until it recovers. Checks also time out after 10 seconds so a player is never left staring at a connecting screen.

Revoking access

Deny or reverse an application on the dashboard and the player stops passing checks within at most 60 seconds (the cache window). Regenerating or revoking your API key on the Integrations page instantly invalidates the old key.

Framework compatibility

The resource works at the connection level, before any framework loads the player — so it works identically with QB-Core, ESX, vMenu, or fully custom servers. No framework configuration needed.

QB-Core SetupPlayer Roster