Nord Vehicle Keys
Official Nord Lab documentation for Nord Vehicle Keys. Covers installation, strict physical keys, vehicle locking, theft systems, stolen-key expiry, recovery NPCs, ghost placement, bridges, developer exports, database, security and troubleshooting.
1 · Getting Started
Install Nord Vehicle Keys, understand its core concepts and verify a clean first boot.
Overview
Nord Vehicle Keys is a server-authoritative vehicle access system for FiveM. It combines physical...
Requirements & Installation
Requirements Requirement Status FiveM server Required OneSync Required for authoritative entity c...
First Boot Checklist
After installation, verify these points before opening the server to players. oxmysql is started ...
Resource Structure
The resource is intentionally split so integrations can be changed without editing the core logic...
2 · Configuration
Configure key behaviour, vehicle state, sharing, recovery, theft systems and persistence.
Core Configuration
The primary configuration file is: config/main.lua Common options: Config.Debug = false Config.Lo...
Physical Keys
Physical-key behaviour is configured under Config.PhysicalKeys. Config.PhysicalKeys = { Enab...
Remote Configuration
Using a physical vehicle_key can open the built-in vehicle remote. Config.PhysicalKeys.Remote = ...
Sharing & Job Access
Key sharing Config.ShareKeys = { Enabled = true, AllowReshare = false, DefaultDuratio...
Persistence & Ownership
Persistence Config.Persistence = { Enabled = true, Resource = 'oxmysql', AutoInstall ...
3 · Vehicle Keys & Locking
Understand key types, lock state and the built-in player commands.
Key Types
Nord Vehicle Keys uses different key types for different access lifecycles. Key type Typical use ...
Locking Controls
Default lock controls: L Toggle current/nearest vehicle lock /vehiclelock ...
Admin Key Commands
Administrative key commands require the ACE configured in Config.Security.AdminAce. Default ACE:...
4 · Theft & Stolen Keys
Configure and operate carjacking, lockpick, hotwire and stolen-key cleanup.
Carjacking
Carjacking can start automatically when a player holds aim on an NPC driver with an allowed firea...
Lockpick
Lockpick configuration: Config.Lockpick = { Enabled = true, Item = 'lockpick', Durati...
Hotwire
Hotwire configuration: Config.Hotwire = { Enabled = true, Item = nil, DurationMs = 90...
Stolen Key Lifecycle
Keys obtained through NPC theft, lockpick-found-keys or hotwire are temporary stolen/session keys...
Blocked Vehicle Classes
The theft system can block GTA vehicle classes and models. Default blocked classes: Config.Theft....
5 · Recovery NPC & Placement
Manage persistent recovery NPCs and use the ghost placement editor.
Recovery Service
The recovery NPC allows players to reissue a lost physical owner key for a vehicle the server con...
Recovery Admin Panel
Open the recovery NPC admin panel with: /vehiclekeysadmin Required ACE: add_ace group.admin nord....
Ghost Placement Editor
Creating or editing a recovery NPC can open the visual placement editor. The preview NPC is trans...
6 · Bridges & Compatibility
Keep custom integrations isolated from the core by using the bridge layer.
Bridge Architecture
Bridge selection lives in: config/bridges.lua Config.Bridges = { Framework = 'auto', -- auto ...
Framework Bridge
Framework bridge files: client/bridge/framework.lua server/bridge/framework.lua Auto-detection or...
Inventory Bridge
Inventory bridge files: client/bridge/inventory.lua server/bridge/inventory.lua Generic item chec...
Notifications & Text UI
Notification and Text UI are independent bridges. Files: client/bridge/notify.lua server/bridge/n...
Custom Ownership Bridge
Ownership is isolated in: server/bridge/ownership.lua For custom ownership logic: Config.Ownershi...
7 · Developer API
Integrate garages, dealerships, rentals and other server resources through stable exports.
Server Key Exports
Key creation and removal should be performed from trusted server-side resources. Recommended simp...
Physical Key Item Exports
These exports work directly with the physical key item layer. exports.nord_vehiclekeys:GivePhysic...
Server Vehicle Exports
Vehicle state exports operate on a network ID. exports.nord_vehiclekeys:SetLockState(netId, true)...
Client Exports
Client exports are useful for UI, vehicle interactions and custom gameplay. local hasKey = export...
Garage Integration
A garage that spawns a player's owned vehicle should register the entity and only issue a key whe...
Dealership Integration
When a player purchases a vehicle, issue the key after the purchase and ownership transaction suc...
Rental Integration
Rental scripts should normally use temporary keys. Example 30-minute rental: exports.nord_vehicle...
8 · Database, Security & Troubleshooting
Operate the resource safely in production and resolve the most common installation issues.
Database Schema
Auto SQL creates the resource schema automatically when persistence is enabled. Core tables: nord...
Security Model
Nord Vehicle Keys is designed around server authority. Important protections OneSync entity check...
Production Checklist
Before production deployment: OneSync enabled. Database backups available. oxmysql starts bef...
Common Issues
Physical key exists but does not open the remote Check that: nord_inventory starts before nord_v...
Bridge Troubleshooting
Framework not detected Force the bridge in config/bridges.lua: Config.Bridges.Framework = 'qb' -...
FAQ
Does owning a vehicle automatically recreate a deleted key? No, not with the default strict physi...