Installation
Install JG Vehicle Keys and prepare it for first use
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:
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-itemsThe 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.Frameworkdetects Qbox, QBCore or ESX when set to"auto".Config.Inventorydetects your inventory when set to"auto". Set its resource name to select one manually.Config.KeyModeselects"flexible"(default),"limited"or"virtual". See Key Modes for the differences.Config.Locale,Config.InteractionMethodand the integration options control language, interaction prompts and other resources.Config.CommandsandConfig.Keybindsset 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.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