Director locks

"The chair is not a rank. It is a shift, and somebody has to end it." — Stage Marshal Corun Yeb

3 settings let a storyteller hold exclusive control of the tools while a scene is running, regardless of admin rank.

These settings are separate from the permission masks. They use their own numbering, and they are checked first.


What it does

A story tool is a command that changes what everyone sees, so 2 people using it at once ruins the shot. Director locks answer a different question from admin rank. Rank asks who is allowed the command at all. A director lock asks who is allowed it right now.

The person running the scene takes director mode. While they hold it, locked tools answer to them and nobody else, even other leadership admins.

The director's own view of this is covered in director mode. This page is the operator's view.


The settings

Server-side. Which commands count as story tools and follow director rules at all. Shipped value -1, meaning all of them. Server-side. Story tools locked to directors while any director is connected. Shipped value 65510. Server-side. Story tools that always require director mode, whether or not anyone is directing. Shipped value 804. Server-side. Set to 1 to carry director mode across a map change. Default 1.

Build the 3 values with the calculator on permission bits.


The order the server checks

For every story tool the server works down this list and stops at the first answer.

  1. Is the command's bit set in sf_storytools? If not, director mode is irrelevant and the check jumps straight to admin rank.
  2. Is the bit set in sf_directorrequired? If so, a director is allowed and everyone else is refused. Rank is never consulted.
  3. Is the bit set in sf_storytoolsblock, and is any director connected? If so, a director is allowed and everyone else is refused. Rank is never consulted.
  4. Otherwise, check admin rank against the permission masks.

2 consequences are worth stating plainly. sf_directorrequired is a hard lock and beats sf_storytoolsblock, so a bit in both behaves as if it were only in sf_directorrequired. And when either lock applies, any director passes it, whatever their admin rank. Director mode is independent of tier.

The refusals are worded differently, so you can tell which rule fired:

Message Which rule
Director mode required. The hard lock, sf_directorrequired
A scene is in progress - only directors can use this. The soft lock, sf_storytoolsblock
Insufficient permissions. Admin rank, meaning no lock applied

Every gated command picks its message from the rule that actually fired, so the wording is a reliable diagnosis.


The director bits

This numbering is separate from the permission bits. Bit 3 is retired and appears in no mask.

Bit Tool In the shipped soft lock In the shipped hard lock
0 /npc, /llm no no
1 /fade yes no
2 /crawl yes yes
4 /add, /edit, /remove, /list no no
5 /camera yes yes
6 /remap yes no
7 /setscore yes no
8 /prepmap yes yes
9 /scene, /sceneinfo yes yes
10 /trace yes no
11 /poi yes no
12 /changemap yes no
13 /teleport, /telemark yes no
14 /centersay, /cs yes no
15 /playcinematic yes no

Bits 16 and above are unused.

4 tools always need director mode on this configuration: /crawl, /camera, /prepmap and /scene. Somebody with leadership admin and no chair cannot run them.

Entity building is not locked

Bit 4 covers /add, /edit, /remove and /list, and the shipped config puts it in neither lock. Any community admin can still build, move and delete entities in the middle of somebody else's scene. If that is not what you want, tick the soft lock for bit 4 in the calculator.


Commands

Taking and releasing the chair

directorschair is an accepted alias for director. That line goes to everyone on the server, not only to the caller. Releasing the chair broadcasts as well:

Naming a player puts somebody else in or out of the chair, and needs bit 11. That is the way to release a chair its owner walked away from.

Checking who holds it

Anyone can run this, and it prints No active directors. when the chair is empty. Run it first when somebody reports that a tool has stopped working.


Things to note

  • The soft lock stays engaged while any director is connected. Disconnecting or logging out releases the chair automatically and broadcasts the stop line, so the real risk is a director who stays connected but walks away. Clear them with /director false <player>.
  • Director mode survives a map change on the shipped configuration, so an absent director's chair outlives the scene it was for.
  • More than one director can hold the chair at once. The soft lock opens for all of them, so it stops bystanders rather than co-directors.
  • A director must be logged in. Putting somebody who is not logged in into the chair is refused with That player is not logged in.
  • /npc and /llm sit in neither lock. They refuse on admin rank alone, so they answer Insufficient permissions. however many directors are working.
  • These 3 settings are read as 32-bit values while the permission masks are 64-bit. Only 16 director bits exist, so it makes no practical difference today.
  • The hard lock ignores rank completely. Setting a tool to require director mode takes it away from leadership too, until they take the chair.

Next