Vonix Server Utilities — Permissions & Union Semantics
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.
1. Union Permission Semantics
Section titled “1. Union Permission Semantics”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/kitsout of the box, even if LuckPerms is installed with empty groups. - Operator Commands (
opFallback = 2or3): 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
/flyor/repairto VIP ranks).
2. Naming Conventions
Section titled “2. Naming Conventions”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.
3. Node Table & Fallback Mappings
Section titled “3. Node Table & Fallback Mappings”| 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 |
4. Bypass Nodes
Section titled “4. Bypass Nodes”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. |
5. Recommended LuckPerms recipes
Section titled “5. Recommended LuckPerms recipes”Default Player Group (default)
Section titled “Default Player Group (default)”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 trueStaff Roles
Section titled “Staff Roles”# --- 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