What goes wrong most often, what it actually means, and what to do about it. Most of these come down to load order, a second doorlock still running, or a rule doing exactly what it was told.
Installation and Access#
The resource stops on start with a "custom.none" or framework error
No framework was running when Doorlock Creator started, so it looked for a bridge called none. Ensure es_extended, qb-core or qbx_core above it in server.cfg. A framework under another folder name needs a line in the frameworks table of config/main.lua — see Integrations.
Errors about the qs_doorlocks table
The table does not exist — it is not created automatically. Import database/database.sql into the same database your mysql_connection_string points at, then restart. A healthy start prints Loaded N doors from database.
"Waiting for db and sv_inventory.formatItemList" repeats forever
The resource is waiting for the database or an inventory bridge. Check that oxmysql starts first and connects, and that the line names an inventory that exists under server/custom/inventory/. A key added to the inventories table without its bridge file causes exactly this.
A warning about the standalone inventory repeats every few seconds
No supported inventory was found when the resource started — usually because it starts after Doorlock Creator. Move the inventory above it in server.cfg. Doors still work, but the Required Item list stays empty until it is fixed.
/doorlockcreator says "You do not have permission to do this."
You are neither staff nor in Config.CreatorJobs. On ESX your group must be admin or superadmin; on QBCore and Qbox you need the god or admin permission or the command ace. Job grades in Config.CreatorJobs are exact numbers — { 1, 2, 3 } does not include grade 4. See Installation.
The creator opens blank, or not at all
The interface is loaded from nui://qs-doorlock-creator/web/. If the folder was renamed, rename it back to qs-doorlock-creator. Also check that the web/ folder came across complete from the download, and look in the F8 console for a file that failed to load.
The console is full of [DEBUG] lines
Config.Debug ships as true. Set it to false in config/main.lua once everything works.
Creating Doors#
The door was saved but does not lock
Any object can be clicked during selection, so it is easy to pick the frame, a wall panel or a prop next to the door. Those save fine but cannot be held shut. Open the door in the creator, press Select 1 Door Entity again and aim at the moving leaf itself — the part that swings or slides. On an MLO, the door must be a real door object, not part of the building's mesh.
"Single door mode requires exactly one selected door" (or two for multi)
The Multi Door box and the number of selected doors disagree. Tick it for a double door and select both leaves, or untick it and select one.
"Door name already exists"
Names are unique, ignoring capitals — Armory and armory clash. Search the list for the name; a door created by a script with hidden set does not appear there but still owns its name.
The Required Item list is empty
No inventory was detected — start it before Doorlock Creator. An item added after the server started appears once both the inventory and the doorlock have been restarted.
Player search finds nobody
Type at least two characters. The search reads your framework's character table — users on ESX, players on QBCore and Qbox — so the character must have joined at least once. Searching by identifier or citizen ID is the most reliable.
Using Doors#
Doors unlock and snap shut, or the prompt shows the wrong state
Another doorlock is still running and fighting over the same door — ox_doorlock, qb-doorlock, nui_doorlock or a doorlock bundled inside a map or a job script. Remove it: Replacing Other Doorlocks.
No [E] prompt at the door
Get closer: the prompt shows within the door's Visible Distance plus 1.25 m of its centre.
With
Config.UseTarget = truethere is no prompt — use your target eye. If no target resource runs, set it back tofalse.A door with
hiddenset never shows a prompt; only scripts open it.
"You are not allowed to use this door"
The player passes none of the door's rules. Check the job and the exact grades (a rule for grades 2 and 3 refuses grade 4), that the item is in their inventory, and that the whitelisted entry is the character they are playing. Rules are combined with or: passing any one is enough.
"Invalid passcode"
The code typed does not match. The passcode is asked for on every unlock, even for players who have the job — it is an extra lock, not an alternative. To let a job in without the code, remove the passcode.
"Not enough money", or staff are charged to open their own door
A door with a Money Requirement charges everyone who unlocks it, including players let in by job, item or whitelist. If staff should open it for free, give staff their own door or remove the fee. Check also that the Money Type is the account the player actually holds money in.
A paid door cannot be locked again
Paying only ever unlocks. If money is the door's only rule, nobody qualifies to lock it. Add a job or a player who closes up, or an autolock — see Usage.
Pressing E does nothing
Requests closer together than Config.Doorlock.ToggleCooldownMs (750 ms) are ignored, and the server refuses a player who is further than the door's distance plus MaxInteractDistance (3 m). Step closer and press once.
Autolock does not work
Autolock is off by default (DefaultAutolockSeconds = 0). A per-door autolockSeconds set in the database is only read when the resource starts, so restart it after the change. A door unlocked by the SetDoorState export does not autolock.
No lock / unlock sound
Check UI sounds on the door and Config.DisableSounds. The sound is heard only near the door, and uses the game's interface volume.
Still stuck? Open a ticket and include your server console from the start of the resource (with
Config.Debug = true), your framework and inventory, and the name of the door that misbehaves.



