Skip to content

Permission System

MCTennis 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

MCTennis uses three permission levels:

  • 👤 User Level: All players who should be able to play MCTennis
  • 🟡 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 MCTennis access (required for all players)
- mctennis.command
- mctennis.join.*

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

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

Admin Permissions

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

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

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

📋 Complete Permission Reference

Core Gameplay Permissions

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

Example Arena-Specific Permissions:

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

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

Administrative Permissions

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

Enhanced Player Permissions

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

Legacy Permissions

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


🎨 Scoreboard Permissions

MCTennis includes an integrated scoreboard system with granular permissions:

Player Scoreboard Access

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

Scoreboard Administration

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

Usage Examples:

# Show specific scoreboard to player
/mctennisscoreboard add Steve game_stats

# Remove all scoreboards from player
/mctennisscoreboard remove Alex

# Refresh all scoreboards
/mctennisscoreboard update


🎯 Boss Bar Permissions

Control access to MCTennis's boss bar displays:

Player Boss Bar Access

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

Boss Bar Administration

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

🏷️ Sign System Permissions

Manage interactive MCTennis signs:

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

Sign Creation Example:

# Create join sign for stadium1
/mctennissign add mctennis_join_sign arena stadium1

# Create team-specific join signs
/mctennissign add mctennis_join_red_sign arena stadium1
/mctennissign add mctennis_join_blue_sign arena stadium1


✨ Particle System Permissions

Control access to MCTennis's particle effects:

Player Particle Access

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

Particle Administration

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

⚽ Club Permissions

MCTennis 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. mctennis.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
mctennis.shyguild.command User Access the /mctennisclub command base
mctennis.shyguild.cmd.create User Create a new club
mctennis.shyguild.cmd.delete User Delete a club
mctennis.shyguild.cmd.guild.list User List all clubs the player has joined
mctennis.shyguild.cmd.role.add User Assign a role to a club member
mctennis.shyguild.cmd.role.remove User Remove a role from a club member
mctennis.shyguild.cmd.role.list User List roles in a club or a player's roles
mctennis.shyguild.cmd.member.invite User Invite a player to a club
mctennis.shyguild.cmd.member.accept User Accept a pending club invite
mctennis.shyguild.cmd.member.leave User Leave a club
mctennis.shyguild.cmd.member.remove User Remove a member from a club
mctennis.shyguild.cmd.member.list User List all members of a club
mctennis.shyguild.template.mctennis_club User Use the mctennis_club template when creating a club
mctennis.shyguild.cmd.member.add Admin Add a player directly to a club (bypasses invite)
mctennis.shyguild.cmd.template.list Admin List all loaded club templates
mctennis.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
mctennis.shyguild.guild.<club>.delete owner Delete the club
mctennis.shyguild.guild.<club>.role.add.<role> owner, coach Assign a specific role in the club
mctennis.shyguild.guild.<club>.role.remove.<role> owner, coach Remove a specific role in the club
mctennis.shyguild.guild.<club>.role.list owner, coach, captain, player List roles in the club
mctennis.shyguild.guild.<club>.member.add — (admin only) Add members directly to the club
mctennis.shyguild.guild.<club>.member.remove owner, coach Remove a member from the club
mctennis.shyguild.guild.<club>.member.list owner, coach, captain, player View the club roster
mctennis.shyguild.guild.<club>.member.invite owner, coach, captain Invite players to the club
mctennis.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 mctennis.shyguild.cmd.delete (assigned to their group) and mctennis.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:
  - mctennis.shyguild.command
  - mctennis.shyguild.cmd.create
  - mctennis.shyguild.cmd.delete
  - mctennis.shyguild.cmd.guild.list
  - mctennis.shyguild.cmd.role.add
  - mctennis.shyguild.cmd.role.remove
  - mctennis.shyguild.cmd.role.list
  - mctennis.shyguild.cmd.member.invite
  - mctennis.shyguild.cmd.member.accept
  - mctennis.shyguild.cmd.member.leave
  - mctennis.shyguild.cmd.member.remove
  - mctennis.shyguild.cmd.member.list
  - mctennis.shyguild.template.mctennis_club

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

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

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

🎮 Game-Specific Permission Scenarios

Scenario 1: Public Server with Multiple Arenas

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

Scenario 2: Tournament Server with Restricted Access

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

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

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

Scenario 3: Training Server for New Players

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

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

🔍 Permission Troubleshooting

Common Issues

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

💡 Best Practices

Security Guidelines

Admin Permission Security

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

Performance Optimization

Efficient Permission Structure

  • Use wildcard permissions (mctennis.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 MCTennis features while maintaining security and performance on your server!