A permission node is a dot-separated string that represents a single, specific capability in the system. The server checks whether a player holds a given node before allowing an action.

Anatomy of a Node

permission.node.player.chat.global
β”‚          β”‚    β”‚      β”‚    β”‚
β”‚          β”‚    β”‚      β”‚    └── specific action
β”‚          β”‚    β”‚      └─────── feature area
β”‚          β”‚    └────────────── scope (player / guild / alliance / admin / moderator)
β”‚          └─────────────────── always "node"
└────────────────────────────── always "permission"

Every node in the system follows this pattern. The depth of the path reflects how specific the permission is β€” shorter paths with wildcards grant broad access, longer paths grant narrow access.

Node Scopes

PrefixScopeWho uses it
permission.node.player.*Server-wide player actionsAll server roles
permission.node.moderator.*Moderation actionsModerator role and above
permission.node.admin.*Administration actionsAdmin role and above
permission.node.superadmin.*Bypass / unrestrictedServer owner only
permission.node.guild.*Within a specific guildGuild roles
permission.node.alliance.*Across an allianceAlliance roles

How Nodes Are Checked

When a player attempts an action, the server performs a permission check in this order:

  1. Does the player hold permission.node.superadmin.bypass? If yes β€” allow immediately.
  2. Does the player hold the exact node required? If yes β€” allow.
  3. Does the player hold a wildcard node that covers the required node? If yes β€” allow.
  4. None of the above β€” deny the action.

Where Nodes Come From

Nodes are defined in two places:

  • Core system nodes β€” built into the server software. These are the permission.node.player.*, moderator.*, admin.*, guild.*, and alliance.* nodes documented in this wiki.
  • Datapack nodes β€” datapacks can register their own permission nodes (e.g. for custom research, storage slots, or content gates). These follow the same dot-path format and are documented in the datapack that adds them.

See also: Node Syntax & Wildcard Rules | Extra & Tab Nodes