Permission System
TickForge registers all permissions dynamically at startup. Every permission defaults to OP — only server operators have access unless you explicitly grant nodes via a permissions plugin (e.g. LuckPerms).
The primary command is /tickforge with the alias /tf. The legacy /paper command is also supported for backwards compatibility.
PermissionDefault.OP. Non-operator players have no access unless explicitly granted.
How Permission Checking Works
When a player runs a subcommand like /tf status, TickForge checks permissions in the following order. Access is granted if any check passes:
This means granting the root permission bukkit.command.tickforge gives access to every subcommand. For fine-grained control, grant individual subcommand nodes instead.
Root Permissions
Granting a root permission gives access to the base command and all subcommands.
| Permission | Default | Description |
|---|---|---|
| bukkit.command.tickforge | OP | Root permission for /tickforge (/tf). Grants access to all subcommands. |
| bukkit.command.paper | OP | Legacy root permission for /paper. Grants access to all subcommands. Kept for backwards compatibility. |
Subcommand Permissions
Each subcommand has its own permission node for fine-grained access control. Grant these individually to restrict operators to specific tools.
| Permission | Default | Command & Description |
|---|---|---|
| bukkit.command.tickforge.status | OP | /tf status — Live server health readout: TPS, MSPT, memory, player count, and actionable hints. |
| bukkit.command.tickforge.profile | OP | /tf profile — Run the built-in tick profiler with configurable duration (1–60 seconds). |
| bukkit.command.tickforge.inspect | OP | /tf inspect — Per-chunk diagnostics: load state, ticket level, entity counts, inhabited time. |
| bukkit.command.tickforge.reload | OP | /tf reload — Reload TickForge configuration files at runtime. |
| bukkit.command.tickforge.version | OP | /tf version (alias /tf ver) — Display server version, build number, and Minecraft version. |
| bukkit.command.tickforge.entity | OP | /tf entity — Entity counts broken down by world. |
| bukkit.command.tickforge.mobcaps | OP | /tf mobcaps — Display global mob cap info per world and category. |
| bukkit.command.tickforge.playermobcaps | OP | /tf playermobcaps — Display per-player mob cap info for a specific player. |
| bukkit.command.tickforge.heap | OP | /tf heap — Generate a JVM heap dump for memory analysis. |
| bukkit.command.tickforge.motd | OP | /tf motd — View or toggle MOTD framework settings. |
| bukkit.command.tickforge.welcome | OP | /tf welcome — Toggle or view the join welcome message status. |
| bukkit.command.tickforge.syncloadinfo | OP | /tf syncloadinfo — Synchronous chunk load diagnostics and stack traces. |
| bukkit.command.tickforge.dumpitem | OP | /tf dumpitem — Dump the NBT of the held item to clipboard. |
| bukkit.command.tickforge.dumpplugins | OP | /tf dumpplugins — Export the full plugin dependency tree to a JSON file. |
| bukkit.command.tickforge.dumplisteners | OP | /tf dumplisteners — List all registered event listeners for a specific event class. |
/plugins command uses a separate permission: bukkit.command.plugins (default: OP). This is not a TickForge subcommand but is registered by the TickForge plugin system.
Legacy Permissions
For backwards compatibility with Paper-era permission setups, every subcommand also registers a bukkit.command.paper.* variant. These work identically to their tickforge counterparts.
bukkit.command.paper.* permissions are maintained for migration convenience only. New setups should use the bukkit.command.tickforge.* nodes exclusively.
| TickForge Permission | Legacy Equivalent |
|---|---|
| bukkit.command.tickforge | bukkit.command.paper |
| bukkit.command.tickforge.status | bukkit.command.paper.status |
| bukkit.command.tickforge.profile | bukkit.command.paper.profile |
| bukkit.command.tickforge.inspect | bukkit.command.paper.inspect |
| bukkit.command.tickforge.reload | bukkit.command.paper.reload |
| bukkit.command.tickforge.version | bukkit.command.paper.version |
| bukkit.command.tickforge.entity | bukkit.command.paper.entity |
| bukkit.command.tickforge.mobcaps | bukkit.command.paper.mobcaps |
| bukkit.command.tickforge.playermobcaps | bukkit.command.paper.playermobcaps |
| bukkit.command.tickforge.heap | bukkit.command.paper.heap |
| bukkit.command.tickforge.motd | bukkit.command.paper.motd |
| bukkit.command.tickforge.welcome | bukkit.command.paper.welcome |
| bukkit.command.tickforge.syncloadinfo | bukkit.command.paper.syncloadinfo |
| bukkit.command.tickforge.dumpitem | bukkit.command.paper.dumpitem |
| bukkit.command.tickforge.dumpplugins | bukkit.command.paper.dumpplugins |
| bukkit.command.tickforge.dumplisteners | bukkit.command.paper.dumplisteners |
LuckPerms Examples
Common permission setups using LuckPerms.