promotional bannermobile promotional banner

HyperPerms

Permissions made visual: the first Hytale plugin with a dedicated browser-based editor.

File Details

HyperPerms-2.9.3.jar

  • R
  • Mar 28, 2026
  • 6.68 MB
  • 82
  • Early Access

File Name

HyperPerms-2.9.3.jar

Supported Versions

  • Early Access

v2.9.3 — March 26 Server Support

Server Version: 2026.03.26 (release & pre-release)

What's New (since 2.9.1)

Added

  • Per-world permissionssetperm and unsetperm commands (group and user) now accept an optional world argument to restrict permissions to a specific world
  • Context display in info commands — Group and user info now shows context restrictions (e.g. [world=Survival]) on permission nodes

Fixed

  • API compatibility — Updated TabListListener to handle Universe.get().getPlayers() returning Collection<PlayerRef> instead of List<PlayerRef>, fixing compilation against the March 26 server update
  • Group inheritance priority — Child group permissions now always take precedence over inherited parent group permissions, regardless of weight values
  • LuckPerms H2 migration version mismatch — Use isolated classloader when loading H2 driver from LuckPerms libs
  • H2 driver selection — Prefer modern H2 driver over legacy to match current LuckPerms database format
  • H2 migration column access — Use unquoted column name for ResultSet access
  • Analytics flush data loss — Prevent race condition where permission check counters could be lost during flush
  • ImportCommand silent failures — Await all group save futures before reporting success
  • Non-atomic node mutations — Synchronize compound removeIf+add operations in setNode and addGroup
  • SQL serialization — Use Gson instead of hand-rolled JSON parser for correct escaping of special characters
  • Cycle detection case sensitivity — Normalize group names to lowercase in inheritance cycle detection
  • Template loader race condition — Prevent concurrent template loading from clearing the map mid-load
  • Confirmation memory leak — Clean up expired pending confirmations to prevent unbounded map growth
  • Migration thread starvation — Use dedicated executor instead of common ForkJoinPool for LuckPerms migration
  • SQLite nested ResultSet — Collect all rows before loading nodes to avoid driver conflicts on single connection
  • SQLite backup consistency — Checkpoint WAL before copying database file to capture all committed writes
  • SQLite restore PRAGMAs — Re-enable WAL and foreign_keys after restoring a backup
  • Clone command data loss — Await save future in clone command before reporting success
  • Group rename atomicity — Create new group before deleting old to prevent data loss on crash; await all save futures
  • JSON storage path traversal — Validate names on load/delete paths to prevent directory traversal
  • WildcardMatcher trace inconsistency — Add stripped-prefix matching to checkWithTrace() to match check() behavior

Full Changelog: https://github.com/HyperSystems-Development/HyperPerms/compare/v2.9.1...v2.9.3