User Commands

Commands for managing individual player permissions, group assignments, and promotions.

Command Summary

CommandDescription
/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

PermissionDescriptionDefault
hyperperms.command.userAccess to all user commandsop
hyperperms.command.user.infoView user infoop
hyperperms.command.user.permissionModify user permissionsop
hyperperms.command.user.groupModify user groupsop
hyperperms.command.user.promotePromote/demote usersop
hyperperms.command.user.cloneClone user permissionsop
hyperperms.command.user.clearClear user dataop

Duration Syntax

Many user commands accept an optional [duration] parameter for temporary permissions and group memberships. Durations use a human-readable format:

CommandDescription
30s30 seconds
5m5 minutes
2h2 hours
1d1 day
1w1 week
1d12h1 day and 12 hours (combined)
permanentNo expiry (default)
text
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 hours
Durations can be combined freely. For example, 1w2d6h 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.

text
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: 47
You can use either the player's username or their UUID. UUIDs are useful for players who have changed their name.

Managing User Permissions

/hp user setperm

Set a permission directly on a user. This overrides group permissions.

text
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.* true

Use 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)
User permissions have the highest priority. They override all group permissions. Use sparingly to avoid confusion.

/hp user unsetperm

Remove a user-specific permission.

text
Usage: /hp user unsetperm <player> <permission>

Examples:
/hp user unsetperm Steve fly.enable
/hp user unsetperm Steve build.*
This removes the user-specific permission. If the player's group also has this permission, the group permission will take effect.

/hp user setexpiry

Set or modify the expiry duration on an existing permission.

text
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 entirely
The duration is always relative to the current time. Setting an expiry replaces any existing expiry on that permission.

Managing User Groups

/hp user addgroup

Add a player to a group, with an optional duration for temporary membership.

text
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 helper

Players can be in multiple groups simultaneously. They receive permissions from all their groups.

/hp user removegroup

Remove a player from a group.

text
Usage: /hp user removegroup <player> <group>

Examples:
/hp user removegroup Steve vip
/hp user removegroup Alex helper
If you remove a player's primary group, they'll be automatically moved to the default group.

/hp user setprimarygroup

Set a player's primary group.

text
Usage: /hp user setprimarygroup <player> <group>

Examples:
/hp user setprimarygroup Steve admin
/hp user setprimarygroup Alex mod

The 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.

text
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: copied
Cloning overwrites the target user's existing permissions and groups. The target player's previous configuration will be replaced.

Promotion and Demotion

/hp user promote

Promote a player to the next rank on a track.

text
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.

text
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"
Promotion and demotion require tracks to be set up. See the tracks guide and track commands.

Edge Cases

text
# 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 track

Clearing User Data

/hp user clear

Remove all user-specific data, resetting the player to default state.

text
Usage: /hp user clear <player>

Example:
/hp user clear Steve

This removes:

  • All user-specific permissions
  • All group memberships (except default)
  • Custom prefix/suffix
  • Sets primary group back to default
This is irreversible. Create a backup first if you might need the data.

Working with Offline Players

You can manage permissions for offline players by using their username (if they've played before) or UUID.

text
# By username (must have joined before)
/hp user addgroup Steve admin

# By UUID (always works)
/hp user addgroup 853c80ef-3c37-49fd-aa49-938b674adae6 admin
Changes to offline players are saved immediately. The player will see the changes when they next log in.

Custom Prefix and Suffix

Set custom prefix/suffix that overrides the group prefix:

CommandDescription
/hp user setprefix <player> <prefix>Set custom prefix
/hp user setsuffix <player> <suffix>Set custom suffix
text
# 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

text
# Add to staff group
/hp user addgroup Steve helper
/hp user setprimarygroup Steve helper

# Or use a track
/hp user promote Steve staff

Giving Temporary VIP Access

text
# 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 7d

Restricting a Specific Player

text
# 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 ban

Setting Up a Player Like Another

text
# Clone Steve's setup to a new moderator
/hp user clone Steve Alex

# Then adjust as needed
/hp user unsetperm Alex special.perk

See Also