Configuration

Core Configuration

Core Configuration

The main configuration file is shared/config.lua.

Config.Locale = 'en'
Config.Framework = 'auto'
Config.Debug = false

Config.AdminCommand = 'garageadmin'
Config.AdminAce = 'nord.garages.admin'
Config.RealParkingCommand = 'parkvehicle'

Config.InteractionKey = 38
Config.InteractionDistance = 4.0
Config.ScanDistance = 70.0

Framework

Config.Framework accepts:

Use auto unless you need to force a specific bridge.

Debug

Keep Config.Debug = false in production. Enable it temporarily while diagnosing integration or placement issues.

World interaction

Config.WorldInteraction = {
    enabled = true,
    refreshSeconds = 10,
}

The built-in interaction does not require a target resource. The default flow uses the map blip plus Nord TextUI when the player enters interaction range.

Spawn/return safety

Blips & Vehicle Types

Blips & Vehicle Types

Blip presets

Config.Blips.useTypePresets = true applies deterministic blip presets based on garage category.

Default groups include:

With lockTypeSprite = true, old/custom sprite values stored in SQL are ignored for the sprite itself, while per-location colour/scale may still be used.

GTA class → Nord type

Config.VehicleTypes maps GTA vehicle classes to Nord categories such as:

Spawn groups

Config.SpawnGroups = {
    car = { 'car', 'motorcycle', 'bicycle', 'service', 'emergency', 'industrial', 'special' },
    boat = { 'boat' },
    air = { 'helicopter', 'plane' }
}

These groups are important for store/spawn compatibility and strict impound routing.

Bridges Configuration

Bridges Configuration

Config.Bridges = {
    notify = 'auto',
    textui = 'custom',
    keys = 'auto',
    fuel = 'auto',
    inventory = 'auto',
}

Notify

Supported modes include auto, ox_lib, qb, esx and custom.

TextUI

Default is Nord's internal NUI TextUI using custom. You may switch to supported external providers in the bridge configuration.

Keys

auto prefers nord_vehiclekeys when available, then compatible alternatives. Use none only when no key lifecycle integration is desired.

Fuel

Auto-detection supports ox_fuel, lc_fuel and LegacyFuel.

Inventory

Auto-detection supports Nord Inventory and multiple common FiveM inventories. Inventory code is isolated from the core so integrations can be replaced without rewriting garage logic.

Vehicle OS Configuration

Vehicle OS Configuration

The Vehicle OS layer is controlled by Config.VehicleOS.

Config.VehicleOS = {
    enabled = true,
    vinPrefix = 'NRD',
    stateEngine = true,
    duplicateGuard = true,
    plateAliases = true,
    snapshots = true,
    analytics = true,
    collections = true,
    reservations = true,
    advancedAccess = true,
    maintenance = true,
    insurance = true,
    stolenState = true,
    evSupport = true,
    providerRegistry = true,
}

Maintenance thresholds

Defaults:

These values are advisory metadata thresholds for systems integrating with the maintenance API.

Dynamic transfer defaults

Dynamic transfer calculation uses a base fee/time plus distance-based additions, capped by maxSeconds.

Access roles

Default advanced access roles:

Temporary access is limited by Config.VehicleAccess.maxTemporaryHours.

Persistent Parking, Delivery & Valet

Persistent Parking, Delivery & Valet

VIP Persistent Parking

Persistent parking requires both:

  1. The feature enabled in Config.PersistentParkingVIP.
  2. The garage itself allowing real parking where applicable.
  3. The player passing a VIP provider, ACE, configured identifier, or admin bypass.

Default ACE:

add_ace group.vip nord.garages.vip allow

Important defaults:

Vehicle Delivery

Default configuration is VIP-only with a 90 second cooldown and configured fee.

Valet

Default configuration is VIP-only with its own fee and cooldown.

External VIP systems should integrate through RegisterVIPProvider instead of modifying core logic.