The server uses a layered role system to control what players can do. Every player is assigned a server-level role, and that role determines which permission nodes they hold.

Role Tiers

Roles are ordered from least to most privileged. Each role inherits all nodes from the roles below it via the global.roles.* wildcard.

Super Admin
    └── global.roles.admin.*

Admin
    └── global.roles.moderator.*

Moderator
    └── global.roles.member.*

Member
    └── (base nodes only)
Role names shown above are illustrative. Actual role labels are defined in your datapack manifest and translated via language files. The inheritance chain is controlled by global.roles.* wildcards, not by the names themselves.

How Inheritance Works

When you assign a role the node global.roles.member.*, that role automatically receives every permission node that the Member role holds. This means you only need to define the additional nodes a higher role needs — not repeat everything from below.

Scope Comparison

ScopeAssigned byInheritance wildcardNode prefix
Server-wideServer Adminglobal.roles.*permission.node.player.*
Within a guildGuild adminguild.roles.*permission.node.guild.*
Across an allianceAlliance adminalliance.roles.*permission.node.alliance.*

Role Pages

RoleReference
MemberMember Role Nodes
ModeratorModerator Role Nodes
AdminAdmin Role Nodes
Super AdminSuper Admin Node