Full Configuration Reference

Main configuration file:

config/config.lua

Locale

Config.Locale = 'en'

Included locales:

en
pt

Storage

Config.Storage = 'json'

Values:

json
mysql
auto

json uses KVP as the authoritative store and JSON files as mirrors.

mysql requires oxmysql.

auto uses MySQL when oxmysql is running, otherwise KVP/JSON.

Base Distances & Defaults

Config.InteractionDistance = 2.0
Config.DrawDistance = 12.0
Config.DefaultDoorDistance = 2.0
Config.DefaultLocked = true
Config.DefaultAutoLock = 0

Door Closing

Config.DoorCloseRate = 10.0
Config.DoorCloseTimeoutMs = 2500
Config.DoorCloseSnapFallback = true
Config.DoorPhysicalFallback = true

Controls

Config.ToggleKey = 38
Config.LockpickKey = 74

Defaults:

E = toggle
H = lockpick

Feature Toggles

Config.EnableTarget = true
Config.EnableTextUI = true
Config.EnableLockpick = true
Config.CustomDoorNUI = true
Config.ShowDoorStateIcon = true

Native State Icon

Config.DoorStateIconDistance = 6.0
Config.DoorStateIconOffsetZ = 0.0
Config.DoorStateIconMergeDistance = 0.35

Sprite configuration:

Config.DoorStateSprites = {
    [0] = {
        'mpsafecracking',
        'lock_open',
        0.0, 0.0,
        0.018, 0.018,
        0.0,
        255, 255, 255, 180
    },

    [1] = {
        'mpsafecracking',
        'lock_closed',
        0.0, 0.0,
        0.018, 0.018,
        0.0,
        255, 255, 255, 180
    }
}

State keys:

0 = unlocked
1 = locked

Custom Door UI

Config.DoorUIShowDistance = 6.0
Config.DoorUIInteractDistance = 2.0
Config.DoorUIOffsetZ = 0.15

Administrator Settings

Config.AdminCommand = 'doors'
Config.AdminAce = 'nord.doorlock.admin'

Config.AdminGroups = {
    admin = true,
    superadmin = true,
    god = true
}

Integration Providers

Config.Framework = 'auto'
Config.Notify = 'auto'
Config.TextUI = 'auto'
Config.Target = 'auto'
Config.Inventory = 'auto'

Framework

auto
esx
qb
qbx
nord
standalone

Notify

auto
ox
qb
esx
nord
standalone

Text UI

auto
ox
nord
standalone

Target

auto
ox
qb
nord
standalone

Inventory

auto
ox
qb
esx
nord
standalone

Lockpick

Config.Lockpick = {
    item = 'lockpick',
    consumeOnSuccess = false,
    consumeOnFail = true,
    fallbackSuccessChance = 45,
    oxDifficulty = { 'easy', 'easy', 'medium' },
    oxInputs = { 'w', 'a', 's', 'd' }
}

Server Security

Config.RateLimitMs = 350
Config.ServerDistanceCheck = true
Config.ServerDistanceTolerance = 2.0

RateLimitMs reduces event spam.

ServerDistanceCheck enables authoritative proximity validation for player interactions.

ServerDistanceTolerance is added to the door's configured distance when validating the player server-side.

Capture

Config.AdminCaptureDistance = 15.0
Config.AdminCaptureRadius = 0.42
Config.AdminCaptureFallbackRadius = 1.35
Config.AdminCaptureScreenRadius = 0.075

The capture system can use a normal object ray, a capsule test and a camera-aligned object fallback.

Duplicate Door Detection

Config.DuplicateDoorTolerance = 0.15

The same physical door object cannot belong to two different door definitions.

Debug

Config.Debug = false

Enable temporarily when diagnosing persistence or synchronization problems.


Revision #1
Created 2026-09-08 13:05:55 UTC by Riguita
Updated 2026-09-08 13:05:56 UTC by Riguita