Skip to content

Vonix Server Utilities — Permissions & Union Semantics

Permission Model: Union Evaluation (v1.6.1+ / 2.0.2)Lockout-Safe

VSU implements an operator-safe UNION permission model: a command passes if the user holds the LuckPerms node OR satisfies the vanilla op fallback level.

In earlier historical versions (specifically v1.6.0), LuckPerms was treated as strictly authoritative. If LuckPerms was added to a server without pre-configured group permissions, all non-console users (including ops) were immediately locked out of all VSU commands.

Authorized = HasLuckPermsNode(node) OR (OpLevel >= opFallback)
  • Default Player Commands (opFallback = 0): Regular players without op automatically have access to /home, /tpa, /spawn, /msg, and /kits out of the box, even if LuckPerms is installed with empty groups.
  • Operator Commands (opFallback = 2 or 3): Server ops immediately gain staff commands upon being opped, without requiring manual LuckPerms node assignments.
  • Granular Grants: Explicit LuckPerms node grants still allow non-op players to receive specific elevated commands (such as granting /fly or /repair to VIP ranks).

Permission nodes follow a structured namespace:

vsu.<category>.<command>[.<scope>]
  • vsu.command.* — Non-destructive player commands executed on self (e.g., vsu.command.home, vsu.command.tpa).
  • vsu.admin.* — Elevated administrative and world tools (e.g., vsu.admin.vanish, vsu.admin.warp).
  • vsu.mod.* — Staff disciplinary commands (e.g., vsu.mod.ban, vsu.mod.mute, vsu.mod.warn).
  • vsu.bypass.* — Specific exemptions from cooldowns or punishments.

Node Governed Commands Op Fallback Intended Role
vsu.command.home /home, /homes 0 Default Player
vsu.command.sethome /sethome, /delhome 0 Default Player
vsu.command.warp /warp, /warps 0 Default Player
vsu.command.spawn /spawn 0 Default Player
vsu.command.back /back, /backdeath 0 Default Player
vsu.command.tpa /tpa, /tpahere, /tpaccept, /tpdeny 0 Default Player
vsu.command.message /msg, /tell, /r, /reply, /ignore 0 Default Player
vsu.command.nick /nick (self) 0 Default Player
vsu.command.kit /kit, /kits 0 Default Player
vsu.command.crate /crate open, /crate prizes 0 Default Player
vsu.command.utility /afk, /anvil, /workbench, /ping, /seen, /playtime 0 Default Player
vsu.admin.nick /nick <other> 2 Moderator
vsu.admin.peek /invsee, /accsee, /backsee, /enderchest <other> 2 Moderator
vsu.admin.teleport /tp, /tphere, /tpall, /tppos 2 Moderator
vsu.admin.setspawn /setspawn 2 Moderator
vsu.admin.fly /fly 2 Moderator
vsu.admin.god /god 2 Moderator
vsu.admin.heal /heal, /feed 2 Moderator
vsu.admin.vanish /vanish 2 Moderator
vsu.admin.gamemode /gm 2 Moderator
vsu.admin.broadcast /broadcast, /bc, /gc 2 Moderator
vsu.admin.world /weather, /time, /day, /night, /ext 2 Moderator
vsu.admin.smite /smite, /lightning 2 Moderator
vsu.admin.lag /lag 2 Moderator
vsu.mod.warn /warn, /warnings, /clearwarnings 2 Moderator
vsu.mod.kick /kick 2 Moderator
vsu.mod.mute /mute, /tempmute, /unmute, /mutelist 3 Admin
vsu.mod.ban /ban, /tempban, /unban, /banlist 3 Admin
vsu.admin.warp /setwarp, /delwarp 3 Admin
vsu.admin.crate /crate key give 3 Admin
vsu.admin.manage /vonixsu, /vonixsu feature ... 3 Admin / Owner

Bypass nodes provide opt-in exemptions from standard gameplay restrictions:

Node Effect
vsu.bypass.cooldown.home Removes delay between consecutive /home teleports.
vsu.bypass.cooldown.tpa Removes cooldown between sending /tpa requests.
vsu.bypass.cooldown.back Removes delay before returning to death coordinates.

Under union semantics, player commands are already accessible by default. However, explicitly adding them provides clean inheritance:

/lp group default permission set vsu.command.home true
/lp group default permission set vsu.command.sethome true
/lp group default permission set vsu.command.warp true
/lp group default permission set vsu.command.spawn true
/lp group default permission set vsu.command.back true
/lp group default permission set vsu.command.tpa true
/lp group default permission set vsu.command.message true
/lp group default permission set vsu.command.kit true
/lp group default permission set vsu.command.crate true
/lp group default permission set vsu.command.utility true
# --- Moderator Role ---
/lp group moderator parent add default
/lp group moderator permission set vsu.admin.peek true
/lp group moderator permission set vsu.admin.teleport true
/lp group moderator permission set vsu.admin.vanish true
/lp group moderator permission set vsu.admin.broadcast true
/lp group moderator permission set vsu.mod.warn true
/lp group moderator permission set vsu.mod.kick true
# --- Administrator Role ---
/lp group admin parent add moderator
/lp group admin permission set vsu.mod.mute true
/lp group admin permission set vsu.mod.ban true
/lp group admin permission set vsu.admin.warp true
/lp group admin permission set vsu.admin.crate true
/lp group admin permission set vsu.admin.fly true
/lp group admin permission set vsu.admin.god true
/lp group admin permission set vsu.admin.manage true