Browse docs

Installation

Install Sky Police Job, prepare its dependencies and database, and complete the first server setup.

Requirements

Before installing Sky Police Job, update both required resources from the same CFX Portal account:

  • sky_base
  • sky_jobs_base

Keep both dependencies up to date when updating the police resource. Start your framework, inventory and targeting resources before the Sky resources.

Install the resource

Deploy the files

Place the sky_policejob resource in your server resources directory. Do not rename its resource folder.

Configure the start order

Add the resource to server.cfg after its dependencies. A typical order is your framework and integrations first, followed by sky_base, sky_jobs_base, and finally sky_policejob.

Prepare the database

Config.AutoExecuteQuery is enabled by default in config/config.lua. With this option enabled, the resource creates and updates its database tables automatically.

Import the included import.sql manually only if you disable automatic queries.

Set up media uploads

Images & videos in the tablet are uploaded to FiveManage. The capture runs directly in the tablet UI — no extra server resource is required.

  1. Create an account at FiveManage and generate a Media API Key from your dashboard.
  2. Enter your Media API Key in sky_jobs_base/config/webhooks.lua:
sky_jobs_base/config/webhooks.lua
Webhooks = {
    fivemanage = {
        apiKey = "your_media_api_key_here",
        baseUrl = "https://api.fivemanage.com/api/v3/file",
        timeoutMs = 10000
    }
}
Saving images & videos will break if you restart the script while your server runs. Make sure you test after doing a full server restart.

Use a metadata-capable inventory

The evidence system stores sample details on the item metadata. sky_base detects the running inventory automatically and supports:

InventorySupportOur recommendation
ox_inventoryFull⭐ Recommended — most complete metadata integration and the best-tested combination
qs-inventoryFullGood choice
qb-inventoryFullGood choice
ps-inventoryFull
core_inventoryFull
codem-inventoryFull
tgiann-inventoryFull
origen_inventoryFull
jaksam_inventoryFull
ak47_inventoryFull
jpr-inventoryFull
one_inventoryFull
QBCore / Qbox built-in inventoryFullFine if you stay on the framework default
ESX built-in inventoryPartial — no item metadata; collected evidence items lose their sample dataNot recommended — switch to a metadata-capable inventory
vRP built-in inventoryPartial — no item metadata; collected evidence items lose their sample dataNot recommended — switch to a metadata-capable inventory

Add police items

Add the following items to your inventory script. Use the preview images inside sky_policejob/config/inventory so they match the UI. For ready-to-copy definitions see the Inventory Items page.

Equipment & tools:

  • cctvcam
  • bodycam
  • speedcam
  • gps_tracker
  • ankle_monitor
  • wheelclamp
  • welder
  • fixtool
  • cleaning_alcohol
  • code_list
  • wire_cutter
  • cigarette

Restraints (required for the cuffing / transport flow — without them RegisterUsableItem silently does nothing):

  • handcuffs
  • zipties
  • legcuffs
  • headbag

Evidence field kit:

  • saliva_kit
  • blood_kit
  • collected_fingerprint
  • fingerprint_kit
  • fingerprint_scanner
  • hydrogen_peroxide
  • collected_saliva
  • collected_casing
  • collected_blood

Disable duplicate salaries

Sky Jobs Base pays salaries for configured jobs. Set the framework salary values for every police grade to 0 (for example in the job_grades table) — leaving both salary systems active produces duplicate payments.

If you prefer to keep your framework or an external payroll system instead, disable the built-in payroll by setting Config.Salary.enabled = false in sky_jobs_base/config/config.lua.

Configure administrator access

Install the global permissions bootstrap, assign your administrator group, and review the Permissions page.

Grant boss permissions

Run /setboss once for the highest police grade after a fresh installation or after clearing sky_job_permissions.

For example, a police job whose highest grade is 5 should be configured with /setboss police 5.

Configure the job

Restart the server, run /jobconfig, and select Police Jobs. Configure jobs and enabled systems before placing station points. See the Configuration page for the full workflow.

Build the stations

Stations, jails, social work zones, and impound lots are placed through the Job Configurator. Follow the Station Setup page to place the duty terminal, storage, and enforcement points.

First-start checklist

  • The server console shows no missing dependency or database errors.
  • /jobconfig lists Police Jobs.
  • The police job and its highest grade exist in the framework.
  • Required items exist in the selected metadata-capable inventory.
  • The police tablet shows the expected applications.
  • A test officer can go on duty, restrain a suspect, and complete a jail sentence.
Most day-to-day settings are managed through /jobconfig when Config.UseJobConfigurator is enabled. Static and advanced settings remain in the open config directory.

Next steps

Support

Need help? Our support team is always ready to assist.

Join Discord