config/commands.json
Re-level or hide individual commands without a plugin.
A BDS file that overrides the permission level required to see and execute individual commands. Because Endstone-registered commands share the same command registry, the override applies to vanilla and Endstone commands - useful for hiding noisy or unsafe commands from non-operators, or for re-leveling a command without writing a plugin.
The file lives at <server>/config/commands.json. It isn't created automatically - add it yourself when you want to override defaults. Without it, every command keeps its default level.
Sample
{
"permission_levels": {
"tell": "internal"
}
}The example raises /tell to internal, which no real player can hold - the command effectively disappears from chat autocomplete and is rejected if typed.
Fields
| Field | Type | Description |
|---|---|---|
permission_levels | object | Map of command name (without leading /) to one of the permission levels below. |
Permission levels
Values map to BDS's CommandPermissionLevel enum:
| Value | Who can run it |
|---|---|
any | Any player. |
game_directors | Game directors and above. |
admin | Operators and above. The vanilla default for moderation commands. |
host | The server host. |
owner | The realm owner. |
internal | Reserved level - no real player holds it, so the command is effectively hidden. |