User Commands
Commands for managing individual player permissions, group assignments, and promotions.
Command Summary
| Command | Description |
|---|---|
/hp user info <player> | View user details |
/hp user setperm <player> <perm> [value] [duration] | Set a permission on user |
/hp user unsetperm <player> <perm> | Remove a permission from user |
/hp user setexpiry <player> <perm> <duration> | Set or modify permission expiry |
/hp user addgroup <player> <group> [duration] | Add user to a group |
/hp user removegroup <player> <group> | Remove user from a group |
/hp user setprimarygroup <player> <group> | Set user's primary group |
/hp user clone <source> <target> | Clone permissions from one user to another |
/hp user clear <player> | Clear all user-specific data |
/hp user promote <player> <track> | Promote user on a track |
/hp user demote <player> <track> | Demote user on a track |
/hp user setprefix <player> <prefix> | Set custom prefix |
/hp user setsuffix <player> <suffix> | Set custom suffix |
Permissions
| Permission | Description | Default |
|---|---|---|
hyperperms.command.user | Access to all user commands | op |
hyperperms.command.user.info | View user info | op |
hyperperms.command.user.permission | Modify user permissions | op |
hyperperms.command.user.group | Modify user groups | op |
hyperperms.command.user.promote | Promote/demote users | op |
hyperperms.command.user.clone | Clone user permissions | op |
hyperperms.command.user.clear | Clear user data | op |
Duration Syntax
Many user commands accept an optional [duration] parameter for temporary permissions and group memberships. Durations use a human-readable format:
| Command | Description |
|---|---|
30s | 30 seconds |
5m | 5 minutes |
2h | 2 hours |
1d | 1 day |
1w | 1 week |
1d12h | 1 day and 12 hours (combined) |
permanent | No expiry (default) |
Examples:
/hp user setperm Steve fly.enable true 1d # Expires in 1 day
/hp user setperm Steve vip.kit true 1w # Expires in 1 week
/hp user addgroup Steve vip 30d # VIP for 30 days
/hp user setperm Steve event.access true 2h30m # Expires in 2.5 hours1w2d6h means 1 week, 2 days, and 6 hours. Use permanent to explicitly set no expiry.Viewing User Information
/hp user info
View detailed information about a player's permissions and groups.
Usage: /hp user info <player>
Arguments:
<player> - Player name or UUID
Example:
/hp user info Steve
Output:
[HyperPerms] User: Steve
[HyperPerms] UUID: 853c80ef-3c37-49fd-aa49-938b674adae6
[HyperPerms] Primary Group: admin
[HyperPerms] Groups: admin, vip
[HyperPerms] Prefix: &c[Admin]
[HyperPerms] User Permissions (2):
[HyperPerms] - fly.enable: true
[HyperPerms] - special.perk: true (expires in 2d 5h)
[HyperPerms] Effective Permissions: 47Managing User Permissions
/hp user setperm
Set a permission directly on a user. This overrides group permissions.
Usage: /hp user setperm <player> <permission> [value] [duration]
Arguments:
<player> - Player name or UUID
<permission> - Permission node
[value] - true (default) or false
[duration] - Optional expiry duration
Examples:
/hp user setperm Steve fly.enable true
/hp user setperm Steve mod.ban false
/hp user setperm Steve special.perk true 7d
/hp user setperm Steve event.access true 2h30m
/hp user setperm Steve build.* trueUse cases:
- Temporary permissions - Give time-limited access with a duration
- Special exceptions - Override a group permission for one player
- Restrictions - Deny a permission even if their group has it (set value to false)
/hp user unsetperm
Remove a user-specific permission.
Usage: /hp user unsetperm <player> <permission>
Examples:
/hp user unsetperm Steve fly.enable
/hp user unsetperm Steve build.*/hp user setexpiry
Set or modify the expiry duration on an existing permission.
Usage: /hp user setexpiry <player> <permission> <duration>
Examples:
/hp user setexpiry Steve fly.enable 7d # Extend to 7 days from now
/hp user setexpiry Steve special.perk 1h # Reduce to 1 hour from now
/hp user setexpiry Steve vip.kit permanent # Remove expiry entirelyManaging User Groups
/hp user addgroup
Add a player to a group, with an optional duration for temporary membership.
Usage: /hp user addgroup <player> <group> [duration]
Examples:
/hp user addgroup Steve vip # Permanent membership
/hp user addgroup Steve vip 30d # VIP for 30 days
/hp user addgroup Steve mod 1w # Moderator for 1 week
/hp user addgroup Alex helperPlayers can be in multiple groups simultaneously. They receive permissions from all their groups.
/hp user removegroup
Remove a player from a group.
Usage: /hp user removegroup <player> <group>
Examples:
/hp user removegroup Steve vip
/hp user removegroup Alex helper/hp user setprimarygroup
Set a player's primary group.
Usage: /hp user setprimarygroup <player> <group>
Examples:
/hp user setprimarygroup Steve admin
/hp user setprimarygroup Alex modThe primary group:
- Determines the player's default prefix/suffix
- Is shown as their "main" rank in various displays
- Player must be a member of the group (added automatically if not)
Cloning User Permissions
/hp user clone
Clone all permissions and group memberships from one user to another. This is useful for quickly setting up a new player with the same configuration as an existing one.
Usage: /hp user clone <source> <target>
Example:
/hp user clone Steve Alex
Output:
[HyperPerms] Cloned permissions from Steve to Alex.
[HyperPerms] Groups: 3 copied
[HyperPerms] Permissions: 5 copied
[HyperPerms] Prefix/suffix: copiedPromotion and Demotion
/hp user promote
Promote a player to the next rank on a track.
Usage: /hp user promote <player> <track>
Example:
/hp user promote Steve staff
# If Steve is "helper" on the staff track:
# - Steve is removed from "helper"
# - Steve is added to "mod" (next rank on track)
# - Primary group is updated to "mod"/hp user demote
Demote a player to the previous rank on a track.
Usage: /hp user demote <player> <track>
Example:
/hp user demote Steve staff
# If Steve is "mod" on the staff track:
# - Steve is removed from "mod"
# - Steve is added to "helper" (previous rank)
# - Primary group is updated to "helper"Edge Cases
# At the top of track:
/hp user promote Steve staff
# Error: Steve is already at the top of the staff track
# At the bottom of track:
/hp user demote Steve staff
# Error: Steve is already at the bottom of the staff track
# Not on track:
/hp user promote Alex staff
# Alex is added to the first group on the trackClearing User Data
/hp user clear
Remove all user-specific data, resetting the player to default state.
Usage: /hp user clear <player>
Example:
/hp user clear SteveThis removes:
- All user-specific permissions
- All group memberships (except default)
- Custom prefix/suffix
- Sets primary group back to default
Working with Offline Players
You can manage permissions for offline players by using their username (if they've played before) or UUID.
# By username (must have joined before)
/hp user addgroup Steve admin
# By UUID (always works)
/hp user addgroup 853c80ef-3c37-49fd-aa49-938b674adae6 adminCustom Prefix and Suffix
Set custom prefix/suffix that overrides the group prefix:
| Command | Description |
|---|---|
/hp user setprefix <player> <prefix> | Set custom prefix |
/hp user setsuffix <player> <suffix> | Set custom suffix |
# Set custom prefix
/hp user setprefix Steve "&6[MVP] "
# Clear custom prefix (use group prefix)
/hp user setprefix Steve ""Examples
Promoting a New Staff Member
# Add to staff group
/hp user addgroup Steve helper
/hp user setprimarygroup Steve helper
# Or use a track
/hp user promote Steve staffGiving Temporary VIP Access
# Add to VIP group for 30 days
/hp user addgroup Steve vip 30d
# Or give specific VIP permissions temporarily
/hp user setperm Steve vip.fly true 7d
/hp user setperm Steve vip.kit true 7dRestricting a Specific Player
# Player has mod permissions but abused ban
# Remove ban permission specifically for them
/hp user setperm Steve mod.ban false
# They keep all other mod permissions, but can't banSetting Up a Player Like Another
# Clone Steve's setup to a new moderator
/hp user clone Steve Alex
# Then adjust as needed
/hp user unsetperm Alex special.perk