Security Model
Nord Doorlock treats the server as authoritative for security-sensitive door actions.
Server-Side Validation
Normal player toggle requests are validated for:
- Door existence
- Rate limiting
- Player proximity
- Door access rules
- Authorization hooks
Lockpick requests add inventory and lockpick-enabled validation.
Distance Validation
Config.ServerDistanceCheck = true
Config.ServerDistanceTolerance = 2.0
Keep ServerDistanceCheck enabled on production servers unless you have a specific architecture that replaces it.
Rate Limiting
Config.RateLimitMs = 350
This limits repeated interaction requests from a source.
Client Exports
Functions such as:
RequestToggle
RequestLockpick
OpenAdmin
are requests, not privileged direct state changes.
The server validates them.
Server Exports
Server exports can perform authoritative state changes because server resources are considered trusted code.
Do not expose unrestricted server events in your own resource that directly forward arbitrary player input into:
CreateDoor
UpdateDoor
DeleteDoor
LockDoor
UnlockDoor
without your own authorization.
Admin Panel
Opening the panel is validated server-side using the configured administrator ACE and framework groups.
Persistence
When persistence fails, Nord Doorlock attempts to restore the previous in-memory state.
Hooks
Only register trusted server callbacks.
Inventory Bridge
If lockpick item ownership matters, make sure your selected inventory bridge performs a real server-side item check.
The standalone fallback should be customized for servers with a custom inventory.