Reference

Permissions

The permission nodes Endstone registers for vanilla and Endstone commands.

Endstone uses the same permission model as Bukkit and Paper. Every command is gated by a permission node - a dotted string like endstone.command.ban. Whether a player holds a node is decided by the node's default, by the player's permission level, and by any grants a plugin applies at runtime.

Nodes are organized into a tree. Granting a parent node grants all of its children, so endstone.command covers every endstone.command.* below it.

Permission defaults

Each node declares a default that maps a player's permission level to whether they hold the node out of the box:

DefaultWho holds it
TrueEveryone - console, operators, and regular players.
FalseNo one. A plugin must grant it explicitly.
OperatorOperators and the console (permission level operator or higher).
NotOperatorOnly non-operator players.
ConsoleOnly the server console.

A player's permission level comes from permissions.json and the op / deop commands; the server console always runs at the highest level.

Endstone command nodes

Grouped under endstone.command:

NodeCommandDefaultDescription
endstone.command.banbanOperatorBan players.
endstone.command.banipban-ipOperatorBan IP addresses.
endstone.command.banlistbanlistOperatorList banned players and IPs.
endstone.command.unbanpardonOperatorUnban players.
endstone.command.unbanippardon-ipOperatorUnban IP addresses.
endstone.command.pluginspluginsTrueView the plugins running on the server.
endstone.command.reloadreloadOperatorReload the server configuration and plugins.
endstone.command.restartrestartConsoleRestart the server.
endstone.command.seedseedOperatorView the level seed.
endstone.command.statusstatusOperatorView server status.
endstone.command.versionversionTrueView the server version.

Endstone broadcast nodes

Grouped under endstone.broadcast - these control which broadcast messages a player receives, not commands they can run:

NodeDefaultDescription
endstone.broadcast.adminOperatorReceive administrative broadcasts.
endstone.broadcast.userTrueReceive user broadcasts.

Vanilla command nodes

Every vanilla Bedrock command gets a node under minecraft.command, named after the command:

minecraft.command.<command>

For example, /gamemode is minecraft.command.gamemode and /give is minecraft.command.give. A node's default is derived from the command's built-in permission level:

Command permission levelNode default
Any (usable by everyone)True
Game Directors, AdminOperator
Host, OwnerConsole
InternalFalse

Common examples:

NodeCommandDefault
minecraft.command.helphelpTrue
minecraft.command.listlistTrue
minecraft.command.memeTrue
minecraft.command.telltellTrue
minecraft.command.gamemodegamemodeOperator
minecraft.command.givegiveOperator
minecraft.command.tptpOperator
minecraft.command.kickkickOperator

The set of vanilla commands changes with each Bedrock release. For the complete list, see Microsoft's Minecraft Bedrock commands reference. You can change a command's level - and therefore its node default - through config/commands.json.

Parent nodes

Granting any of these covers everything beneath it:

NodeGrants
endstoneEvery Endstone utility, command, and broadcast node.
endstone.commandEvery Endstone command node.
endstone.broadcastEvery Endstone broadcast node.
minecraftEvery vanilla utility and command node.
minecraft.commandEvery vanilla command node.

On this page