Introduction
This guide covers setting up and managing a comprehensive permissions system using LuckPerms, creating staff hierarchies, and implementing effective player management on your Minecraft Java server.
Prerequisites
- A running Minecraft Java server (Paper/Spigot recommended)
- Server access with operator permissions
- Latest version of LuckPerms
- Basic understanding of server file management
Setting Up LuckPerms
Initial Installation
- Download LuckPerms for your server type
- Place the .jar file in your plugins folder
- Restart the server
- Initial config files will generate in
/plugins/LuckPerms/
Basic Configuration
# /plugins/LuckPerms/config.yml
server:
primary: true
storage-method: h2
split-storage:
enabled: false
temporary-add-behaviour: accumulate
Storage Options
-
H2 Database (Default)
- Good for single servers
- Easy to backup
- No additional setup required
-
MySQL
- Better for networks
- Add these settings to config.yml:
storage-method: mysql data: address: localhost:3306 database: minecraft username: root password: password
Creating Permission Groups
Default Group Setup
- Create the default group:
/lp creategroup default
/lp group default setweight 1
- Set basic permissions:
/lp group default permission set minecraft.command.me true
/lp group default permission set minecraft.command.msg true
Staff Hierarchy Example
- Helper Group
/lp creategroup helper
/lp group helper setweight 10
/lp group helper parent add default
/lp group helper permission set minecraft.command.kick true
/lp group helper permission set minecraft.command.mute true
- Moderator Group
/lp creategroup moderator
/lp group moderator setweight 20
/lp group moderator parent add helper
/lp group moderator permission set minecraft.command.ban true
/lp group moderator permission set minecraft.command.teleport true
- Administrator Group
/lp creategroup admin
/lp group admin setweight 100
/lp group admin parent add moderator
/lp group admin permission set minecraft.command.op true
/lp group admin permission set minecraft.command.gamemode true
Managing Players
Assigning Groups
- Add player to group:
/lp user <player> parent add <group>
- Remove from group:
/lp user <player> parent remove <group>
- Temporary group assignment:
/lp user <player> parent addtemp <group> 7d
Individual Permissions
- Grant specific permission:
/lp user <player> permission set <permission> true
- Temporary permission:
/lp user <player> permission settemp <permission> true 2h
- Check player's permissions:
/lp user <player> info
Prefix & Suffix Management
Setting Group Prefixes
/lp group admin meta setprefix "&c[Admin] "
/lp group moderator meta setprefix "&2[Mod] "
/lp group helper meta setprefix "&e[Helper] "
Individual Prefixes
/lp user <player> meta setprefix "<prefix>"
Color codes use the & symbol followed by the color code (e.g., &c for red)
Context System
World-Specific Permissions
/lp group builder permission set worldedit.* true world=creative
Server-Specific Permissions
/lp group vip permission set essentials.fly true server=lobby
Permission Inheritance
Understanding Inheritance
- Groups can inherit from multiple parents
- Permissions cascade down through inheritance
- Weight determines prefix/suffix priority
Example Structure
Admin
└── Moderator
└── Helper
└── Default
Best Practices
Security
- Limit access to high-level permissions
- Use temporary permissions when possible
- Regularly audit permission assignments
- Keep OP status restricted
Organization
- Document all custom permissions
- Use consistent naming conventions
- Regular permission audits
- Maintain clear hierarchy
Performance
- Minimize permission checks
- Use group inheritance
- Regular database maintenance
- Monitor permission plugin impact
Troubleshooting
Common Issues and Solutions
-
Permissions Not Working
- Check inheritance
- Verify context
- Review negated permissions
- Check plugin conflicts
-
Database Issues
- Backup regularly
- Check connection settings
- Monitor storage space
- Update schemas
-
Prefix/Suffix Problems
- Check weight values
- Verify format strings
- Review inheritance
- Check chat plugin compatibility
Useful Commands
Management Commands
/lp editor - Open web editor
/lp search <permission> - Search for permissions
/lp info - View all groups
/lp verbose on - Debug permission checks
Backup Commands
/lp export <file> - Export data
/lp import <file> - Import data
Integration with Other Plugins
Essential Plugins
-
Vault
- Economy integration
- Chat formatting
- Permission checks
-
PlaceholderAPI
%luckperms_prefix% %luckperms_suffix% %luckperms_group%
-
TAB
- Scoreboard integration
- Name tag formatting
- Group display
Conclusion
A well-organized permission system is crucial for server management. By following this guide, you can create a structured and efficient permission system that scales with your server's needs.