2026-05-26 23:16:33 -04:00
2026-05-26 23:16:33 -04:00
2026-05-26 23:16:33 -04:00
2026-05-26 23:16:33 -04:00
2026-05-26 23:16:33 -04:00
2026-05-26 23:16:33 -04:00

Ranks

Ranks, groups, grants, and chat prefixes for KweebecNet. Replaces Hytale's default file-backed permission provider with a MySQL-backed one.

What it does

  • Ranks (= Hytale groups): create, delete, edit, set parents (inheritance), add/remove permission nodes.
  • Grants: give a rank to a player permanently or for a fixed duration. Multiple ranks per player allowed; one is "primary" for display.
  • Permission provider: implements com.hypixel.hytale.server.core.permissions.provider.PermissionProvider. After we register, every PermissionsModule.get().hasPermission(...) call (yours, Staff's, Hytale's own /op) routes through our MySQL.
  • Chat prefixes: rewrites PlayerChatEvent's formatter to inject the player's primary rank prefix.
  • Cross-server propagation: every write invalidates per-user / per-rank caches network-wide via NetworkCore's MessageBus, so a /grant on one server takes effect everywhere within milliseconds.

Requires

  • NetworkCore with mysql.enabled: true and a healthy MySQL connection.
  • Working network.auth_token (so invalidations propagate cleanly).
  • Hytale permission nodes assigned for management commands - see docs/03_Commands.md.

Why this is critical

This plugin owns all permissions on the network. If it boots in a broken state:

  • Players may have wrong perms (too many → security issue; too few → game broken).
  • Hytale's own commands (/op, /perm group, etc.) silently route through us; if our writes drop, those actions vanish.
  • The chat prefix listener fires on every chat message; a bug there spams logs.

Treat changes to RanksPermissionProvider and SchemaBootstrap like changes to NetworkCore: read the docs first, ask a higher-up before merging.

Read before changing

S
Description
bad luckperms
Readme 73 KiB
Languages
Java 100%