Repository navigation
Protection
A stage that hands out /op would be a backdoor. A stage that takes /history away in single player
would lock you out of your own world, because there is no console to fix it. So some commands have
special rules.
Commands on this list can be taken away by a stage, but never given, not even through *. With
the stage, Minecraft's normal operator check still applies.
Default list:
op, deop, stop, ban, ban-ip, pardon, pardon-ip, whitelist, execute, reload,
save-off, save-all, debug, perf, jfr, publish, transfer, history
-
executeis on it because/execute as <someone> run …lets you run anything as anyone. -
kickis deliberately not on it, so a moderator stage can hand it out. -
historyis on it because whoever may run it can unlock their own stages.
Change the list in the config editor (History Stages config, section HSTG: Permissions, "Protected
commands") or in config/hstg_permissions-server.toml. Write entries without a mod name: op, or
whitelist.add for a single subcommand. Default in the picker restores the list above. Entries that
protect nothing (empty, *, unknown mod) are ignored and reported in the server log.
The commands of History Stages and HSTG: Permissions can be given by a stage, but never taken
away, not even through *. That keeps /history and /hstgperms reachable no matter what the stages
say.
/history is on the protected list and never lockable, so a stage can neither give nor take it. It
always keeps Minecraft's own operator check.
The console, command blocks and functions run everything. The addon only checks players.
The editor and /hstgperms check both tell you when an entry hits one of these rules.