Skip to content

Permission System

MCHockey uses a comprehensive permission system to control player access to features and commands. This guide helps you configure permissions correctly for different user roles on your server.

🔐 Permission Levels

MCHockey uses three permission levels:

  • 👤 User Level: All players who should be able to play MCHockey
  • 🟡 Admin/User Level: Trusted players or staff members. Review carefully before granting to regular players
  • 🔴 Admin Level: Permissions that should only be given to trusted staff

For most servers, these permissions provide the best balance of functionality and security:

Essential Player Permissions

# Basic MCHockey access (required for all players)
- mchockey.command
- mchockey.join.*

# Display permissions (recommended for all players)  
- mchockey.shyscoreboard.scoreboard.*
- mchockey.shybossbar.bossbar.*
- mchockey.shyparticles.effect.visible.*

# Club system (if clubs are enabled on your server)
- mchockey.shyguild.command
- mchockey.shyguild.cmd.create
- mchockey.shyguild.cmd.delete
- mchockey.shyguild.cmd.guild.list
- mchockey.shyguild.cmd.role.add
- mchockey.shyguild.cmd.role.remove
- mchockey.shyguild.cmd.role.list
- mchockey.shyguild.cmd.member.invite
- mchockey.shyguild.cmd.member.accept
- mchockey.shyguild.cmd.member.leave
- mchockey.shyguild.cmd.member.remove
- mchockey.shyguild.cmd.member.list
- mchockey.shyguild.template.mchockey_club

Admin Permissions

# Arena management (staff only)
- mchockey.edit
- mchockey.referee.join

# Club administration (staff only)
- mchockey.shyguild.cmd.member.add
- mchockey.shyguild.cmd.template.list
- mchockey.shyguild.cmd.reload

# System administration (staff only)
- mchockey.shyscoreboard.command
- mchockey.shyscoreboard.reload
- mchockey.shybossbar.command  
- mchockey.shybossbar.reload
- mchockey.shycommandsigns.command
- mchockey.shycommandsigns.add
- mchockey.shycommandsigns.reload
- mchockey.shyparticles.command
- mchockey.shyparticles.reload
- mchockey.shyparticles.list
- mchockey.shyparticles.play
- mchockey.shyparticles.stop
- mchockey.shyparticles.follow
- mchockey.shyparticles.followother
- mchockey.shyparticles.stopfollow
- mchockey.shyparticles.stopfollowother
- mchockey.cloud

📋 Complete Permission Reference

Core Gameplay Permissions

Permission Level Description
mchockey.command User Access to /mchockey command base
mchockey.join.* User Join any arena (requires mchockey.command)
mchockey.join.[arena_name] User Join specific arena only

Example Arena-Specific Permissions:

# Allow joining only "stadium1" arena
- mchockey.join.stadium1

# Allow joining multiple specific arenas  
- mchockey.join.stadium1
- mchockey.join.arena2
- mchockey.join.tournament

Administrative Permissions

Permission Level Description
mchockey.edit Admin Create, modify, and delete arenas
mchockey.referee.join Admin Access referee mode and commands

Enhanced Player Permissions

Permission Level Description
mchockey.command.staff Admin/User Execute commands while in-game
mchockey.game.inventory Admin/User Open/use inventories during games

Legacy Permissions

mchockey.command.staff and mchockey.game.inventory are legacy permissions that will be replaced in future versions. Use with caution.


🎨 Scoreboard Permissions

MCHockey includes an integrated scoreboard system with granular permissions:

Player Scoreboard Access

Permission Level Description
mchockey.shyscoreboard.scoreboard.* User See all scoreboards
mchockey.shyscoreboard.scoreboard.[name] User See specific scoreboard only

Scoreboard Administration

Permission Level Description
mchockey.shyscoreboard.command Admin Access /mchockeyscoreboard command
mchockey.shyscoreboard.reload Admin Reload scoreboard configurations
mchockey.shyscoreboard.add Admin Add scoreboards to players
mchockey.shyscoreboard.set Admin Set player scoreboards
mchockey.shyscoreboard.remove Admin Remove scoreboards from players
mchockey.shyscoreboard.update Admin Refresh scoreboards manually

Usage Examples:

# Show specific scoreboard to player
/mchockeyscoreboard add Steve game_stats

# Remove all scoreboards from player
/mchockeyscoreboard remove Alex

# Refresh all scoreboards
/mchockeyscoreboard update


🎯 Boss Bar Permissions

Control access to MCHockey's boss bar displays:

Player Boss Bar Access

Permission Level Description
mchockey.shybossbar.bossbar.* User See all boss bars
mchockey.shybossbar.bossbar.[name] User See specific boss bar only

Boss Bar Administration

Permission Level Description
mchockey.shybossbar.command Admin Access /mchockeybossbar command
mchockey.shybossbar.reload Admin Reload boss bar configurations
mchockey.shybossbar.add Admin Add boss bars to players
mchockey.shybossbar.set Admin Set player boss bars
mchockey.shybossbar.remove Admin Remove boss bars from players
mchockey.shybossbar.update Admin Refresh boss bars manually

🏷️ Sign System Permissions

Manage interactive MCHockey signs:

Permission Level Description
mchockey.shycommandsigns.command Admin Access /mchockeysign command
mchockey.shycommandsigns.add Admin Create join/leave signs
mchockey.shycommandsigns.reload Admin Reload sign configurations
mchockey.shycommandsigns.server Admin Server teleport commands
mchockey.shycommandsigns.manipulateother Admin Modify other players via signs

Sign Creation Example:

# Create join sign for stadium1
/mchockeysign add mchockey_join_sign arena stadium1

# Create team-specific join signs
/mchockeysign add mchockey_join_red_sign arena stadium1
/mchockeysign add mchockey_join_blue_sign arena stadium1


✨ Particle System Permissions

Control access to MCHockey's particle effects:

Player Particle Access

Permission Level Description
mchockey.shyparticles.effect.visible.* User See all particle effects
mchockey.shyparticles.effect.visible.[name] User See specific particle effect only

Particle Administration

Permission Level Description
mchockey.shyparticles.command Admin Access /mchockeyparticle command
mchockey.shyparticles.reload Admin Reload particle configurations
mchockey.shyparticles.list Admin List available particle effects
mchockey.shyparticles.play Admin Play particle effects
mchockey.shyparticles.stop Admin Stop particle effects
mchockey.shyparticles.follow Admin Make particles follow yourself
mchockey.shyparticles.followother Admin Make particles follow other players
mchockey.shyparticles.stopfollow Admin Stop particles following yourself
mchockey.shyparticles.stopfollowother Admin Stop particles following other players
mchockey.shyparticles.effect.start.[name] Admin Start specific particle effect by name

⚽ Club Permissions

MCHockey includes an integrated club system (powered by ShyGuild internally). Club permissions are split into two layers — see the Clubs guide for full setup instructions.

LuckPerms Required

Club-specific guild permissions (e.g. mchockey.shyguild.guild.<club>.delete) are managed automatically by LuckPerms through role templates. You only need to assign the command-level permissions manually.

Club Command Permissions

These control which commands a player can execute. Assign them to your player/staff groups.

Permission Level Description
mchockey.shyguild.command User Access the /mchockeyclub command base
mchockey.shyguild.cmd.create User Create a new club
mchockey.shyguild.cmd.delete User Delete a club
mchockey.shyguild.cmd.guild.list User List all clubs the player has joined
mchockey.shyguild.cmd.role.add User Assign a role to a club member
mchockey.shyguild.cmd.role.remove User Remove a role from a club member
mchockey.shyguild.cmd.role.list User List roles in a club or a player's roles
mchockey.shyguild.cmd.member.invite User Invite a player to a club
mchockey.shyguild.cmd.member.accept User Accept a pending club invite
mchockey.shyguild.cmd.member.leave User Leave a club
mchockey.shyguild.cmd.member.remove User Remove a member from a club
mchockey.shyguild.cmd.member.list User List all members of a club
mchockey.shyguild.template.mchockey_club User Use the mchockey_club template when creating a club
mchockey.shyguild.cmd.member.add Admin Add a player directly to a club (bypasses invite)
mchockey.shyguild.cmd.template.list Admin List all loaded club templates
mchockey.shyguild.cmd.reload Admin Reload club configurations

Club-Specific Guild Permissions

These permissions are per-club and are automatically granted and revoked by LuckPerms when a player's role changes within that club. Do not assign these manually.

Permission Granted To Description
mchockey.shyguild.guild.<club>.delete owner Delete the club
mchockey.shyguild.guild.<club>.role.add.<role> owner, coach Assign a specific role in the club
mchockey.shyguild.guild.<club>.role.remove.<role> owner, coach Remove a specific role in the club
mchockey.shyguild.guild.<club>.role.list owner, coach, captain, player List roles in the club
mchockey.shyguild.guild.<club>.member.add — (admin only) Add members directly to the club
mchockey.shyguild.guild.<club>.member.remove owner, coach Remove a member from the club
mchockey.shyguild.guild.<club>.member.list owner, coach, captain, player View the club roster
mchockey.shyguild.guild.<club>.member.invite owner, coach, captain Invite players to the club
mchockey.shyguild.guild.<club>.member.leave owner, coach, captain, player Leave the club

How the two layers work together

A player needs both a command permission and the matching club-specific permission for most actions. For example, to delete the club red-falcons a player needs mchockey.shyguild.cmd.delete (assigned to their group) and mchockey.shyguild.guild.red-falcons.delete (assigned automatically by LuckPerms when they hold the owner role in that club).

Club Permission Scenarios

Scenario: Server with player-created clubs

default:
  - mchockey.shyguild.command
  - mchockey.shyguild.cmd.create
  - mchockey.shyguild.cmd.delete
  - mchockey.shyguild.cmd.guild.list
  - mchockey.shyguild.cmd.role.add
  - mchockey.shyguild.cmd.role.remove
  - mchockey.shyguild.cmd.role.list
  - mchockey.shyguild.cmd.member.invite
  - mchockey.shyguild.cmd.member.accept
  - mchockey.shyguild.cmd.member.leave
  - mchockey.shyguild.cmd.member.remove
  - mchockey.shyguild.cmd.member.list
  - mchockey.shyguild.template.mchockey_club

Scenario: Admin-managed clubs (staff sets up clubs, hands off ownership)

default:
  # Players can only accept invites, view, and leave
  - mchockey.shyguild.command
  - mchockey.shyguild.cmd.guild.list
  - mchockey.shyguild.cmd.member.accept
  - mchockey.shyguild.cmd.member.leave
  - mchockey.shyguild.cmd.member.list
  - mchockey.shyguild.cmd.role.list

staff:
  # Staff can create clubs and add members directly
  - mchockey.shyguild.command
  - mchockey.shyguild.cmd.create
  - mchockey.shyguild.cmd.delete
  - mchockey.shyguild.cmd.guild.list
  - mchockey.shyguild.cmd.role.add
  - mchockey.shyguild.cmd.role.remove
  - mchockey.shyguild.cmd.role.list
  - mchockey.shyguild.cmd.member.add
  - mchockey.shyguild.cmd.member.remove
  - mchockey.shyguild.cmd.member.list
  - mchockey.shyguild.cmd.member.invite
  - mchockey.shyguild.cmd.member.accept
  - mchockey.shyguild.cmd.member.leave
  - mchockey.shyguild.cmd.template.list
  - mchockey.shyguild.cmd.reload
  - mchockey.shyguild.template.mchockey_club

🎮 Game-Specific Permission Scenarios

Scenario 1: Public Server with Multiple Arenas

# All players can join any arena
default_group:
  - mchockey.command
  - mchockey.join.*
  - mchockey.shyscoreboard.scoreboard.*
  - mchockey.shyparticles.effect.visible.*

Scenario 2: Tournament Server with Restricted Access

# Players can only join assigned tournament arenas
tournament_red:
  - mchockey.command
  - mchockey.join.tournament_red_arena
  - mchockey.shyscoreboard.scoreboard.*
  - mchockey.shybossbar.bossbar.*
  - mchockey.shyparticles.effect.visible.*

tournament_blue:
  - mchockey.command  
  - mchockey.join.tournament_blue_arena
  - mchockey.shyscoreboard.scoreboard.*
  - mchockey.shybossbar.bossbar.*
  - mchockey.shyparticles.effect.visible.*

# Referees get full control
referees:
  - mchockey.command
  - mchockey.referee.join

Scenario 3: Training Server for New Players

# Beginners get limited access
beginners:
  - mchockey.command
  - mchockey.join.training_arena

# Advanced players get more arenas
advanced:
  - mchockey.command
  - mchockey.join.training_arena
  - mchockey.join.competitive_arena

🔍 Permission Troubleshooting

Common Issues

Problem Likely Cause Solution
"No permission" error Missing mchockey.command Add base command permission
Can't join arenas Missing join permissions Add mchockey.join.* or specific arena
Scoreboards not showing Missing display permissions Add scoreboard permissions
Admin commands not working Missing admin permissions Add mchockey.edit or specific admin perms
Can't use /mchockeyclub Missing club base permission Add mchockey.shyguild.command
Club role permissions not applied LuckPerms not installed Install LuckPerms and reload

💡 Best Practices

Security Guidelines

Admin Permission Security

  • Never give mchockey.edit to regular players
  • Be cautious with mchockey.command.staff and mchockey.game.inventory
  • Review permissions regularly as your server grows

Performance Optimization

Efficient Permission Structure

  • Use wildcard permissions (mchockey.join.*) for simplicity
  • Create permission groups rather than individual assignments
  • Test permission changes on a development server first

User Experience

Player-Friendly Setup

  • Grant scoreboard and boss bar permissions to all players
  • Use descriptive group names that make sense to your staff
  • Document your permission structure for other administrators

This permission system gives you complete control over who can access MCHockey features while maintaining security and performance on your server!