Permissions
Fine-grained control over skills and commands
Overview
Permission checks are disabled by default and controlled by two independent flags.
Skill permission checks (XP-gain gating, level caps, admin access when OP is unavailable) are toggled with a slash command:
/mmoconfig permissions --args=trueCommand permission checks (the Command Permissions table below) are a separate flag, toggled only from the admin UI (/mmoadmin → General Settings). There is no slash command for it. The Command Permissions table only takes effect once this second toggle is on.
ziggfreed. prefix (e.g. ziggfreed.mmoskilltree.skill.mining works the same as mmoskilltree.skill.mining).LuckPerms Setup
If you're using LuckPerms, admin access depends on whether permissions are enabled:
When "Enable Permissions" is OFF (default)
The mod checks for OP status. With LuckPerms, you need the wildcard permission to act as OP:
/lp user <player> permission set * trueWithout this, admin commands like /mmoadmin will be blocked even for server operators.
When "Enable Permissions" is ON
The mod checks for the mmoskilltree.admin permission instead:
/lp user <player> permission set mmoskilltree.admin trueThis is more granular - you can grant admin access without full OP privileges.
Skill Permissions
Control which players can gain XP in specific skills:
| Permission | Description |
|---|---|
mmoskilltree.skill.* | Gain XP in all skills (wildcard) |
mmoskilltree.skill.mining | Gain XP in Mining |
mmoskilltree.skill.woodcutting | Gain XP in Woodcutting |
mmoskilltree.skill.excavation | Gain XP in Excavation |
mmoskilltree.skill.harvesting | Gain XP in Harvesting |
mmoskilltree.skill.fishing | Gain XP in Fishing |
mmoskilltree.skill.swords | Gain XP in Swords |
mmoskilltree.skill.daggers | Gain XP in Daggers |
mmoskilltree.skill.polearms | Gain XP in Polearms |
mmoskilltree.skill.staves | Gain XP in Staves |
mmoskilltree.skill.axes | Gain XP in Axes |
mmoskilltree.skill.blunt | Gain XP in Blunt |
mmoskilltree.skill.archery | Gain XP in Archery |
mmoskilltree.skill.magic | Gain XP in Magic |
mmoskilltree.skill.artillery | Gain XP in Artillery |
mmoskilltree.skill.unarmed | Gain XP in Unarmed |
mmoskilltree.skill.defense | Gain XP in Defense |
mmoskilltree.skill.acrobatics | Gain XP in Acrobatics |
mmoskilltree.skill.crafting | Gain XP in Crafting |
mmoskilltree.skill.enchanting | Gain XP in Enchanting |
mmoskilltree.skill.building | Gain XP in Building |
mmoskilltree.skill.taming | Gain XP in Taming (optional) |
Feature Bypass Permissions
Three nodes let an individual player use a feature even while its global toggle is off. Each is checked independently and is not implied by mmoskilltree.admin.
| Permission | Description |
|---|---|
mmoskilltree.bypass.quests | Use quests while the global Quests feature toggle is off |
mmoskilltree.bypass.achievements | Use achievements while the global Achievements feature toggle is off |
mmoskilltree.bypass.abilities | Use active abilities while the global Abilities feature toggle is off |
Level Cap Permissions
Restrict an individual player's max level per skill (or globally) by granting a permission node. Useful for tiered access (free vs VIP, trial accounts capped at low levels).
Restrict only: Permissions can only lower the cap configured in custom-skills.json - they never raise it. An over-permissive node (e.g., mmoskilltree.levelcap.mining.999 when the configured cap is 200) is clamped down to the configured cap.
This feature is always on - it is not gated by the “Enable Permissions” toggle. Server owners simply don't grant the node if they don't want to use it.
Permission Format
| Node | Effect |
|---|---|
mmoskilltree.levelcap.<skillId>.<level> | Cap the named skill at <level> for this player. <skillId> is lowercase |
mmoskilltree.levelcap.all.<level> | Cap every skill at <level> for this player |
Precedence
Per-skill nodes override the all wildcard. Granting both mmoskilltree.levelcap.all.50 and mmoskilltree.levelcap.mining.100 lets the player reach Mining level 100 while every other skill is capped at 50.
Examples
# Mining capped at 50; other skills unaffected
mmoskilltree.levelcap.mining.50
# All skills capped at 20
mmoskilltree.levelcap.all.20
# All skills capped at 20 EXCEPT swords (capped at 60)
mmoskilltree.levelcap.all.20
mmoskilltree.levelcap.swords.60Cache & /mmoconfig resetpermcache
Lookups are cached per player to keep the XP path fast. The cache is cleared automatically when a player disconnects. After granting or revoking nodes via your permissions plugin while the player is online, run:
/mmoconfig resetpermcache...or have the affected player reconnect for changes to take effect.
At-Cap Behavior
When a player hits their permission cap, XP gain silently stops - the same behavior as hitting the configured server-wide max level. No chat spam, no notifications.
Command Permissions
| Permission | Description | Default |
|---|---|---|
mmoskilltree.command.xp | Use /mmoxp | granted |
mmoskilltree.command.skilltree | Use /skilltree | granted |
mmoskilltree.command.xpdisplay | Use /xpdisplay | granted |
mmoskilltree.command.setxp | Use /setmmoxp | OP only |
mmoskilltree.command.setxp.others | Use --target flag | OP only |
mmoskilltree.command.config | Use /mmoconfig | OP only |
Admin Permission
| Permission | Description |
|---|---|
mmoskilltree.admin | Access admin features (OP always has this) |
Note: OP players always have admin access regardless of permission settings.
XP Boost Permissions
Admin Convenience Feature: XP Boost permission nodes require the Permission Boosts entitlement.
No extra gameplay: The same boosts are available for free via boost token items. Permission Boosts are purely an admin workflow preference - managing boosts through permission nodes instead of item distribution. Both require creative/OP to configure.
Grant permissions to allow players to self-activate repeatable boosts. MMO Skill Tree ships with 90 built-in boost permission nodes covering personal and global boosts at various multipliers, durations, and cooldowns.
Permissions are checked live through the native permission system - changes take effect on the next Boost page refresh. All templates can be customized via mods/mmoskilltree/boost-templates.json or the admin UI.
Permission Format
mmoskilltree.xpboosts.<target>.<scope>.<multiplier>.<duration>.<cooldown>Examples
# 1.5x all skills, 30min duration, 2hr cooldown (personal)
mmoskilltree.xpboosts.all.self.1_5.30.120
# 2x mining, 30min duration, 2hr cooldown (personal)
mmoskilltree.xpboosts.mining.self.2_0.30.120
# 1.25x global (server-wide), 15min duration, 2hr cooldown
mmoskilltree.xpboosts.all.all.1_25.15.120View all 90 boost permission nodes & purchase →
Skill Visibility Filtering
When permissions are enabled, skills are filtered throughout the UI based on what the player has access to:
- XP Overview - Skills without permission are hidden from the list
- Total Levels - Only permitted skills count toward total/category levels
- Skill Tree - Navigation skips skills the player can't access; shows "No permission" if accessed directly
- Item Rewards - Navigation skips unpermitted skills (total rewards always available)
- Leaderboards - Skill filters only show skills the viewer has permission for
Admin Help Text
When permissions are enabled, the /mmoadmin page displays permission node examples to help configure your server:
mmoskilltree.skill.*- Grant all skillsmmoskilltree.skill.mining- Grant individual skillsmmoskilltree.command.xp- Grant command access