Live Trunk Session Security
Live Trunk Session Security
Why an already-open trunk closes when access becomes invalid.
Applies to: Nord Inventory v2.0.0
Vehicle Trunk Access & Live Session Guard
Nord Inventory validates trunk access both before opening and while the inventory remains open.
Locked vehicles
A locked vehicle cannot open its trunk inventory. The client checks both the normal GTA lock status and per-player door locks. The server revalidates the lock state whenever the artifact exposes the native, and also receives the normal-client preflight status for compatibility.
Live trunk session
Once a trunk is open, Nord continuously validates the same live vehicle context. The inventory closes automatically when:
- the vehicle becomes locked;
- the vehicle moves away from its opening position;
- the vehicle starts moving above the configured threshold;
- the player is no longer close enough to the physical trunk/frunk interaction point;
- the vehicle despawns;
- the network id is recycled to another entity;
- the plate no longer matches the opened vehicle.
This is especially important for ambient/NPC vehicles: an NPC cannot drive away while the player keeps the old trunk inventory open.
Configuration
Config.VehicleInteraction.Trunk.SessionGuard = {
Enabled = true,
ClientCheckInterval = 150,
ServerCheckInterval = 750,
DistanceTolerance = 1.60,
VehicleMoveDistance = 1.00,
VehicleMoveSpeed = 0.65,
CloseWhenLocked = true,
CloseWhenVehicleMoves = true,
}
The client guard is for immediate UX. The server guard protects the inventory session and rejects further inventory actions once the vehicle context becomes invalid.
Player-owned vehicles and vehicle-key resources
Player-owned/personal vehicles must obey the same trunk lock rule as every other vehicle.
Nord Inventory now has a dedicated open lock bridge:
client/bridge/vehiclelocks.lua
server/bridge/vehiclelocks.lua
With the default configuration:
LockIntegration = {
Provider = 'auto'
}
auto detects nord_vehiclekeys.
When nord_vehiclekeys is running, Nord Inventory reads its synchronized:
nordkeys:locked
state on the client and validates the server state through:
exports.nord_vehiclekeys:GetLockState(netId)
A locked = true result always blocks the trunk, even if GTA's native
GetVehicleDoorLockStatus is briefly stale/unlocked for the owner.
The provider and native checks are intentionally combined: if either reliable source says the vehicle is locked, trunk access is denied.
Other vehicle-key resources
Use:
LockIntegration = {
Provider = 'custom'
}
and implement the resolver in the open bridge files, or set the provider to a
resource exposing an IsVehicleLocked export.