Server guide
Locks and keys
Two files control locking. RotorCraft_Locks.json runs the access locks players use every day: model keys, code locks and the lock pick kit. RotorCraft_Keys.json is an older ignition-key system that is off by default.
How access locks work
RotorCraft_Mosquito, RotorCraft_MH6, RotorCraft_AH6 | Model keys: RotorCraft_Key_Mosquito, RotorCraft_Key_MH6, RotorCraft_Key_AH6 |
RotorCraft_BlackHawk, RotorCraft_BlackHawkArmed | Vanilla DigitalCodeLock, keypad on the hull panel between the co-pilot door and the left gunner window |
RotorCraft_Gazelle, RotorCraft_GazelleCannon | Vanilla DigitalCodeLock at the left rear passenger door |
- A locked aircraft blocks boarding at every seat, seat changes, engine start, cargo and all attachments, including ammunition containers and parts. People already inside can stay and get out.
- Any non-ruined model key opens every aircraft of its model. There's no pairing and no ownership.
- Anyone can fit a code lock to an unlocked aircraft; there's no owner registry. Vanilla battery drain and brute-force protection still apply, and a flat battery unlocks it.
- Fresh key aircraft start unlocked with one matching key in cargo. Aircraft loaded from storage don't get a new key. If cargo is full, the key isn't created and a failure is logged.
- Keys can't be repaired with any tool. Wear lives on the key, not the aircraft.
- Lock state is saved with the aircraft. Older saves load unlocked.
RotorCraft_Locks.json
Created in the profile folder with these defaults. Restart after editing.
"codeLocksEnabled": 1 | Code locks on the Black Hawk and Gazelle. |
"typeKeysEnabled": 1 | Model keys on the Mosquito, MH-6 and AH-6. |
"keySpawnInCargo": 1 | Fresh key aircraft get one key in cargo. 0 stops that; it doesn't affect loot. |
"keyWearPerUse": 0.1 | Fraction of key health used per lock or unlock, 0 to 1. 0.1 gives about ten uses; 0 means no wear. |
"lockPickKitEnabled": 1 | 0 stops the kit being used. Players can still craft it. |
"lockPickKitSeconds": 60.0 | Kit time for unarmed aircraft, 60 to 3600. |
"lockPickKitChance": 0.4 | Kit success chance for unarmed aircraft, 0 to 1. |
"lockPickKitOverrides": [] | Per-aircraft times and chances (below). |
Missing fields keep their defaults, even in older files. If the file can't be read, the server logs a warning and uses defaults without overwriting it. Turning a lock system off ignores its saved lock state and removes its actions, but keeps that state in case you turn it back on.
The lock pick kit
Players craft RotorCraft_LockPickKit from one Lockpick and one whole ElectronicRepairKit. It's used outside a grounded, stopped aircraft, at the lock door for code locks. A finished attempt consumes the kit whether it succeeds or not; an interrupted one consumes nothing. Success unlocks the aircraft and, on a code lock, drops the keypad the vanilla way.
RotorCraft_Mosquito, RotorCraft_MH6 | 60 s, 0.4 |
RotorCraft_BlackHawk, RotorCraft_Gazelle | 60 s, 0.4 |
RotorCraft_AH6, RotorCraft_BlackHawkArmed, RotorCraft_GazelleCannon | 120 s, 0.2 |
The global seconds and chance fields set the unarmed values. To change a single aircraft, add a row to lockPickKitOverrides:
"lockPickKitOverrides": [{"aircraftClass": "RotorCraft_AH6", "seconds": 180, "chance": 0.15}]
- Class names must match exactly; there's no inheritance matching.
- The first matching row wins. Unknown classes have no effect.
- A row without
secondsorchanceuses that aircraft's normal value for it. - Values are clamped to the ranges above. The server enforces the time and rolls the chance.
RotorCraft_Keys.json (ignition keys)
This older system locks the ignition only. It doesn't stop boarding or cargo access, and an unlocked aircraft needs no key to start. It runs independently of the access locks: if you enable both, both apply.
keysEnabled (0) | 1 turns ignition locks on. |
keyMode (0) | 0: vanilla colour key groups. 1: a unique key per aircraft. |
keySpawnInCargo (1) | 1 puts a matching key in cargo on fresh aircraft in unique mode. |
Players hold a healthy matching key and use the two-second lock or unlock action outside a grounded, stopped aircraft.
- Colour mode uses the vanilla
ShippingContainerKeys_Blue,_Yellow,_Orange,_Redand_Green. Any healthy key can lock an unlocked aircraft to its colour, and any key of that colour unlocks it. No colour key is supplied with the aircraft. - Unique mode uses
RotorCraft_AircraftKey, paired to one aircraft. Each use costs 1% of the key's health. There's no key cutting, copying or lost-key recovery. - Aircraft that existed before unique mode was turned on have no saved key and can't start in unique mode. Use colour mode or leave keys off for those.
RotorCraft_Keys.json, missing fields read as 0: keys off, colour mode and no cargo key. Regenerate the file after updating.Something missing or wrong? Ask in the Discord.