Troubleshooting
Having issues with HyperPerms? This guide covers common problems and their solutions. Use the debug tools to diagnose issues quickly.
Quick Diagnostics
Before diving into specific issues, run these diagnostic commands:
# Check if HyperPerms is loaded correctly
/hp info
# View a player's permission state
/hp user info <player>
# Enable verbose mode to see permission checks in real-time
/hp verbose
# Check a specific permission
/hp check <player> <permission>
# View the inheritance tree
/hp debug tree <group>
# See active contexts for a player
/hp debug contexts <player>Permission Issues
Permission Not Working
Symptoms: A player should have a permission but it's not working.
Solutions:
- Check the exact permission node - Use
/hp check <player> <permission>to verify the permission state - Enable verbose mode - Run
/hp verboseand have the player try the action to see the exact permission being checked - Verify group membership - Run
/hp user info <player>to confirm the player is in the expected group - Check for negated permissions - A permission set to
falseon a higher-weight group overridestrueon lower groups - Check contexts - The permission might be limited to specific worlds, gamemodes, or other contexts
# Debug permission resolution
/hp debug resolve <player> <permission>
# This shows exactly how the permission is resolved,
# including which group or user setting provides the valuePermission Works for Some Players But Not Others
Cause: Usually a group membership or inheritance issue.
# Compare user info between working and non-working players
/hp user info <working_player>
/hp user info <broken_player>
# Check if they're in the same groups
# Look for differences in primary group or group listWildcard Not Granting All Permissions
Cause: A specific permission might be explicitly denied.
# If you have "plugin.*" but "plugin.specific" doesn't work:
# Check if it's explicitly denied
/hp check <player> plugin.specific
# The specific permission might be set to false somewhere
# which overrides the wildcardPrefix/Suffix Issues
Wrong Prefix Showing
Cause: Multiple groups with different prefix priorities.
Resolution order:
- User's custom prefix (if set)
- Primary group's prefix
- Highest prefixPriority group
- Highest weight group (if no prefixPriority set)
- Default prefix from config
# Check user's primary group and prefix settings
/hp user info <player>
# Set a specific group as primary to force its prefix
/hp user setprimarygroup <player> <group>
# Or set a custom prefix for the user
/hp user setprefix <player> "&c[Custom] "prefixPriority on groups to control which prefix displays without affecting permission weight. Higher priority = more likely to display.Prefix Not Showing in Chat
Possible causes:
- Chat formatting is disabled in config
- Another chat plugin is overriding HyperPerms
- The prefix field is empty or not set
# Check config.json
{
"chat": {
"enabled": true, // Must be true
"format": "%prefix%%player%%suffix%: %message%"
}
}
# Check the group has a prefix
/hp group info <group>Color Codes Not Working
Cause: Using wrong format or missing permissions.
# Use & not ยง for color codes
Correct: &c[Admin]
Wrong: ยงc[Admin]
# For player chat colors, they need permission:
/hp user setperm <player> hyperperms.chat.color trueInheritance Issues
Inheritance Not Working
Symptoms: Groups don't inherit permissions from parent groups.
# View the inheritance tree
/hp debug tree <group>
# Check parent relationships
/hp group info <group>
# Verify parent group exists and has permissions
/hp group info <parent_group>Circular Inheritance Error
Cause: Trying to create a loop (A โ B โ A).
# This will fail:
/hp group parent add admin mod
/hp group parent add mod admin # Error: circular inheritance
# Fix by reviewing your hierarchy structure
/hp debug tree adminStorage Issues
Changes Not Saving
Possible causes:
- File permissions issue
- Disk full
- Database connection lost
# Force save all data
/hp save
# Check console for error messages
# Verify file permissions on the data directory
# The server needs read/write access to plugins/HyperPerms/data/MySQL Connection Issues
# Common MySQL errors and solutions:
# "Connection refused"
- Check MySQL server is running
- Verify host and port in config.json
- Check firewall rules
# "Access denied"
- Verify username and password
- Check user has permissions on the database
# "Unknown database"
- Create the database first: CREATE DATABASE hyperperms;
- Grant permissions: GRANT ALL ON hyperperms.* TO 'user'@'host';Data Not Syncing Between Servers
For network setups using MySQL:
# Force sync from database
/hp sync
# Ensure all servers use the same:
# - Database host/name
# - Table prefix (if configured)
# Check each server's config.json has identical storage settingsPerformance Issues
Server Lag When Using HyperPerms
Possible causes and solutions:
- Enable cachingjson
{ "cache": { "enabled": true, "expirySeconds": 300, "maxSize": 10000 } } - Reduce auto-save frequencyjson
{ "tasks": { "autoSaveIntervalSeconds": 600 } } - Use async database operations - MySQL and SQLite are async by default
Cache Issues
Symptoms: Changes not reflecting immediately.
# Clear and rebuild cache
/hp reload
# Or for a specific player, have them relog
# Reduce cache expiry time if needed
"cache": {
"expirySeconds": 60 // Shorter cache time
}Web Editor Issues
Editor Link Not Working
# Generate a new session
/hp editor
# Sessions expire after 24 hours
# You may need to create a new one
# Check the webEditor URL in config
{
"webEditor": {
"url": "https://www.hyperperms.com"
}
}Changes Not Applying
# Make sure to copy and run the apply command from the editor
/hp apply <session_code>
# The apply command must be run from the server console or in-game
# It cannot be done from the web editor itselfCommon Mistakes
- Wrong command syntax - Use
/hp group setpermnot/hp group addpermission - Forgetting to save - Changes are auto-saved, but force save with
/hp saveif unsure - Case sensitivity - Permission nodes are case-sensitive
- Missing parent groups - Create groups before adding them as parents
- Context typos - Context keys like
world=must be exact
Getting More Help
If you're still having issues:
- Check the FAQ for additional answers
- Review the relevant documentation section
- Enable verbose mode and check console logs
- Send us detailed feedback with your issue
- Server version and HyperPerms version (
/hp info) - Relevant config.json sections
- Console errors if any
- Steps to reproduce the issue
See Also
- FAQ - Frequently asked questions
- Commands - Command reference
- Configuration - Config options
- Permissions - How permissions work
Still having issues or found a bug?
Send us feedback โ