Skip to content

Permission System

MCBasketball 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

MCBasketball uses three permission levels:

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

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

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

Admin Permissions

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

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

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

📋 Complete Permission Reference

Core Gameplay Permissions

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

Example Arena-Specific Permissions:

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

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

Administrative Permissions

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

Enhanced Player Permissions

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

Legacy Permissions

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


🎨 Scoreboard Permissions

MCBasketball includes an integrated scoreboard system with granular permissions:

Player Scoreboard Access

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

Scoreboard Administration

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

Usage Examples:

# Show specific scoreboard to player
/mcbasketballscoreboard add Steve game_stats

# Remove all scoreboards from player
/mcbasketballscoreboard remove Alex

# Refresh all scoreboards
/mcbasketballscoreboard update


🎯 Boss Bar Permissions

Control access to MCBasketball's boss bar displays:

Player Boss Bar Access

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

Boss Bar Administration

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

🏷️ Sign System Permissions

Manage interactive MCBasketball signs:

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

Sign Creation Example:

# Create join sign for stadium1
/mcbasketballsign add mcbasketball_join_sign arena stadium1

# Create team-specific join signs
/mcbasketballsign add mcbasketball_join_red_sign arena stadium1
/mcbasketballsign add mcbasketball_join_blue_sign arena stadium1


✨ Particle System Permissions

Control access to MCBasketball's particle effects:

Player Particle Access

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

Particle Administration

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

⚽ Club Permissions

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

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

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

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

🎮 Game-Specific Permission Scenarios

Scenario 1: Public Server with Multiple Arenas

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

Scenario 2: Tournament Server with Restricted Access

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

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

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

Scenario 3: Training Server for New Players

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

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

🔍 Permission Troubleshooting

Common Issues

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

💡 Best Practices

Security Guidelines

Admin Permission Security

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

Performance Optimization

Efficient Permission Structure

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