Terminals & Access
Use terminals and set up PINs, jobs, items, and access cards.
Players raise and lower bollards at a group's terminals. A group without terminals can only be controlled from the admin menu, actions, and exports.
#Using a Terminal
Aim at the terminal's interaction point and press E. The player walks up, the camera eases onto the touchscreen, and the screen is used with the mouse. Backspace or Escape leaves it.
The screen gives full control of every bollard: select them and raise or lower the selection. A terminal with action buttons shows only those buttons.
An unlocked terminal locks again after Config.Terminal.sessionSeconds without use.
#Terminal Types
| Type | Description |
|---|---|
| Plain | Touchscreen pedestal without a light. |
| With light | Touchscreen with a traffic light on top that follows a signal rule. |
A group holds up to maxTerminalsPerGroup terminals. Each can have a screen label, such as North gate.
#Access Rules
Each terminal has its own rules, set under the Terminals tab. A terminal without rules is open to anyone.
| Rule | Description |
|---|---|
| PIN code | Digits only, pin.minLength to pin.maxLength long. |
| Jobs | Listed jobs, each with a minimum grade. |
| Items | Any listed item in the player's inventory. bollard_keycard is suggested, but any item works. |
The access mode decides how the rules combine:
- Any rule: the PIN, a listed job, or one of the items is enough.
- Require all: every rule that is set must be met.
After pin.maxAttempts wrong codes, the keypad locks for pin.lockoutSeconds.
With Config.Terminal.adminBypass enabled, players with the admin permission open every terminal without a code.
#Access Cards
A terminal with a PIN can be set to issue access cards. Whoever enters the PIN gets a Cards button on the screen and can hand out bollard_access_card items there.
A card opens only the terminal it was issued at, in place of the PIN, and cannot issue more cards. Its description names the place.
Use Revoke issued cards in the admin menu, or switch access cards off, to make every earlier card of that terminal useless. Change the item with Config.Terminal.accessCard.
#Custom Rules
The job, item, and card checks live in server/unlocked/access.lua. Edit them to add framework-specific checks, such as duty status or gangs.