JG Docs
Vehicle Keys

Installation

Install JG Vehicle Keys and prepare it for first use

JG Vehicle KeysPurchase on the JG store

JG Vehicle Keys requires OneSync, ox_lib, oxmysql and Qbox, QBCore or ESX.

Installation

Download and unzip

Unzip the jg-vehiclekeys-bundle and open it.

Add the resource to your server

Drag jg-vehiclekeys into a new folder called [jg] within your server's resources folder. Keep the resource name jg-vehiclekeys.

Install the dependencies

Install the latest versions of ox_lib and oxmysql. Enable OneSync in your server settings.

Start your framework and inventory before jg-vehiclekeys. Disable your previous vehicle key resource, including qb-vehiclekeys or qbx_vehiclekeys, to avoid conflicting locks and ignition controls.

Update your server.cfg

Add these lines to server.cfg after your framework, inventory, oxmysql and ox_lib:

server.cfg
ensure jg-vehiclekeys
start [jg]

This starts Vehicle Keys before the other JG resources. Use start [jg] here so the group doesn't restart Vehicle Keys a second time.

Set up inventory items

Add the supplied items and images to your inventory using the guide below. This includes keys, keyrings, tools and vehicle security equipment.

Inventory Items/vehicle-keys/inventory-items

The built-in ESX inventory supports Virtual keys only. Set Config.KeyMode = "virtual" in config/config.lua if you use it.

Check the database installation

Config.AutoRunSQL = true is enabled by default. JG Vehicle Keys creates its tables in your server's existing database when it starts.

For manual installation, set Config.AutoRunSQL = false and run install/install.sql in your database software.

On ESX, leave automatic installation enabled for the first start. It also prepares the vehicle IDs in owned_vehicles. Manual ESX installation needs those IDs prepared separately.

Configuration

Core options live in config/config.lua. Check these before opening your server:

  • Config.Framework detects Qbox, QBCore or ESX when set to "auto".
  • Config.Inventory detects your inventory when set to "auto". Set its resource name to select one manually.
  • Config.KeyMode selects "flexible" (default), "limited" or "virtual". See Key Modes for the differences.
  • Config.Locale, Config.InteractionMethod and the integration options control language, interaction prompts and other resources.
  • Config.Commands and Config.Keybinds set the commands and default controls.

Fob designs live in config/config.fobs.lua. See Custom Key Designs to add your own.

Manage key limits, sharing, locks, ignition, theft and security in /vehiclekeysadmin > Settings. Changes are saved to the database. Your admin account needs the server's command permission.

Open Locksmiths in the same menu to add locations or import the defaults. None are placed automatically.

JG integrations

Use versions of JG Advanced Garages, JG Dealerships and JG Used Vehicles that include Vehicle Keys support. In each resource's config/config.lua, set:

config/config.lua
Config.VehicleKeys = "jg-vehiclekeys"

See parking and collection for the related Advanced Garages settings.

QB and Qbox compatibility

Existing job scripts can keep supported stock QB/Qbox key calls. Vehicle Keys provides the qb-vehiclekeys and qbx_vehiclekeys resource aliases; keep the old key resource disabled.

Unowned vehicles can receive keys through those calls. Registered vehicles require ownership or active Advanced Garages sharing permission. Your selected key mode and copy limits still apply.

Fully restart your server after installing the resource, inventory items and integrations.

Last updated 5 November 2026

On this page