Skip to content

docs: say that operators hold the bypass permissions by default - #66

Merged
milanmalhotra merged 1 commit into
devfrom
changeset-op-bypass-note
Aug 18, 2026
Merged

docs: say that operators hold the bypass permissions by default#66
milanmalhotra merged 1 commit into
devfrom
changeset-op-bypass-note

Conversation

@milanmalhotra

Copy link
Copy Markdown
Collaborator

Found during the existing-install upgrade rehearsal on 2026-08-18. Edits the pending tidy-wolves-travel changeset only. No code change.

What happened

On an upgraded server an operator teleported with no countdown, on a server whose config.yml sets delay: 7. Deopping the same player produced the 7 second countdown, the cancel on move, and a refusal on a home in a blacklisted world. So the feature works; the operator simply is not subject to it.

sh2.admin defaults to op and grants sh2.bypass-max-homes, sh2.bypass-blacklist and sh2.bypass-teleport-delay as children. Nothing in the release notes said so.

Why no code change

The first instinct was to drop sh2.bypass-teleport-delay from the admin bundle. That would have been wrong.

Set Homes v1 1.3.0 has homes.config_bypass, a child of homes.* which also defaults to op. Read from the shipped jar, it gates:

v1 class What it skips
GoHome the tp-delay scheduler, at two call sites, and the cooldown
SetHome the world blacklist and the max-homes limit
UpdateHome the world blacklist

The same three things. So operators bypassing these is v1 parity, not a new rule, and the README already documents the mapping at lines 295 and 301 along with sh2.admin being OP-default at line 118. Changing the default would make v2 diverge from v1 for the exact audience the shared-listing consolidation is aimed at.

Only the 1.2.2 to 2.0.0 path sees a behavior change, because 1.2.2 had no bypass nodes at all. That is the case this sentence covers.

The added text

Operators hold those three by default, the same way Set Homes v1 granted homes.config_bypass through homes.*, so an operator is not held to the teleport delay, the world blacklist or the home limit. Set any of them to false in the permissions block if you would rather they were.

It reassures a migrating v1 admin that nothing changed, and warns an upgrading 1.2.2 admin that something did.

Verification

bash scripts/release.sh check: 17 changesets parse, README can take the changelog.

The upgrade rehearsal showed an operator teleporting with no countdown
on a server whose config sets a delay, with nothing in the release notes
to explain it. sh2.admin defaults to op and grants all three bypass
nodes as children.

This is v1 parity rather than a new rule: v1's homes.config_bypass was a
child of homes.*, which also defaulted to op, and it skipped the teleport
delay in GoHome and the blacklist and home limit in SetHome and
UpdateHome. So a server migrating from v1 sees no change. A server
already on 1.2.2 does, because 1.2.2 had no bypass nodes at all, and
that is the case this sentence covers.
@milanmalhotra
milanmalhotra merged commit c923a5c into dev Aug 18, 2026
5 checks passed
@milanmalhotra
milanmalhotra deleted the changeset-op-bypass-note branch August 18, 2026 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant