RX Doorlock Installation
RX Doorlock turns any door in the world into a lockable one. Administrators aim at a door, register it in place, and set who may pass through it. Players interact with registered doors directly, or attempt to lockpick them and risk alerting law enforcement.
The resource runs standalone or bridged to RSG or VORP, and stores registered doors in its own file rather than a database.
Requirements
| Requirement | Why it is needed |
|---|---|
| A RedM server | RX Doorlock uses RedM input hashes, raycasts, and blips. |
| RSG or VORP | Optional. Only needed for job, group, and character-based door permissions. |
| A lockpick item | Optional. Only needed if players should be able to lockpick doors. |
No database is required. Registered doors are saved to a file inside the resource, so there is no SQL to import.
1. Place the resource
Extract the complete resource into your server’s resources directory. Keep the folder intact: registered doors are written back into it, so the resource folder must stay writable.
The default extracted folder name is rx_doorlock.
2. Add it to server.cfg
Start your framework first when using the RSG or VORP bridge. On a standalone server, order does not matter.
ensure rx_doorlock If you renamed the resource folder, replace rx_doorlock with that exact folder name.
3. Grant administrator permission
Door management is gated behind the ACE permission set by Config.AdminAce. Add it to server.cfg for the groups that should manage doors:
add_ace group.admin rx_doorlock.admin allow Config.AdminGroups and Config.AdminIdentifiers are the framework-side alternatives. Any one of the three is enough to grant access, so use whichever matches how your staff are already identified.
Confirm it worked in game with the check command:
/doorlockcheck
Config.AdminBypassDoorAccessisfalseby default, so administrators can manage doors without automatically being able to open every locked one. Leave it that way unless staff are meant to pass through everything.
4. Set your lockpick item
Config.Lockpick.item ships as 'water', which is a placeholder. Change it to the lockpick item registered in your inventory before going live:
Config.Lockpick = {
item = 'lockpick', -- replace with your real item name
consumeOnUse = false,
consumeOnFail = true
} Leaving it as 'water' means any player carrying a water bottle can attempt to pick every registered door. Review consumeOnUse and consumeOnFail at the same time so the item is not removed in a way you did not intend.
5. Set your law jobs
Config.Law.jobs decides who receives door-tampering alerts. The defaults are example job names:
Config.Law = {
jobs = {
police = true,
sheriff = true,
marshal = true
}
} Job keys must match the names your framework uses. Remove the ones your server does not have and add your own with the same jobname = true format.
6. Register your first door
With admin permission in place, test the full flow:
- Aim at a door and run
/doorlock. - Press
Eto select it. For a double door, select the second one as well. - Save the door and confirm the
Door saved.message appears. - Walk up to it and use
/togglelock, or interact withE. - Test with a non-admin account to confirm the permissions apply.
- Attempt a lockpick and confirm the law alert behaves as configured.
/createdoor starts the object editor for placing a custom door object rather than registering one that already exists in the world. See Configuration for the editor settings and the full option reference.