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
🚀 Quick Setup (Recommended Permissions)
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.editto regular players - Be cautious with
mcbasketball.command.staffandmcbasketball.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!