Skip to main content

Duplicate Door Protection

A physical GTA door object must only be owned by one Nord Doorlock definition.

Duplicate registrations can create conflicting DoorSystem states where one definition unlocks the object while another keeps it locked.

Nord Doorlock includes protections for this problem.

Duplicate Tolerance

Config.DuplicateDoorTolerance = 0.15

Door parts with the same model and coordinates inside the tolerance are considered the same physical object.

New Door Validation

When creating or editing a door, the server checks whether any captured part is already owned by another saved entry.

Conflicting definitions are rejected.

Developer API error:

physical_door_already_registered

The conflicting door ID can also be returned.

Startup Cleanup

Persisted definitions are scanned when they are loaded.

When an older single-door entry conflicts with a more complete double-door entry, the more complete definition is preferred.

Removed IDs are retired and sent to clients so stale GTA DoorSystem hashes can be unlocked and removed.

Manual Cleanup

Run:

doors_dedupe

This scans the current door list and removes duplicate physical registrations.

Duplicate Icons

World icon rendering also has a visual merge distance:

Config.DoorStateIconMergeDistance = 0.35

This is only a visual safety layer.

The server-side physical duplicate protection is the important protection against conflicting lock states.