PurePerms provides rank, inheritance and permission management for PocketMine-MP and Axolotl-PM API 5 servers.
- The plugin targets API 5 and is tested against Axolotl-PM 5.51.1 in CI.
- PHP 8.4 is used by the development and build workflow.
- JSON, SQLite3 and MySQL providers are retained.
- PureChat can use PurePerms for group and rank information.
- Download the
PurePerms.pharfile from the latest release. - Copy the PHAR to the server's
plugins/directory. - Start the server and review
plugin_data/PurePerms/config.yml.
PurePerms creates its configuration on the first start. Set default-language: vie to use the Vietnamese translation. The available locale files are in resources/lang/.
- Define ranks and inherit permissions from other ranks.
- Store rank data with the retained JSON, SQLite3 or MySQL providers.
- Enable multi-world rank data in
resources/config.yml. - Define temporary ranks with values such as
1d2h3m,2hor30m. Usepermanentfor a permanent rank. - Reload file-backed and MySQL-backed group data without restarting the server.
- Expose
ppscore.rank,ppscore.prefixandppscore.suffixtags when ScoreHud is installed. - Preserve the legacy configuration format used by the original project.
| Command | Description | Permission |
|---|---|---|
/addrank |
Add a rank. | pperms.command.addrank |
/defrank <rank> [world] |
Set the default rank. | pperms.command.defrank |
/plperms <plugin> [page] |
List permissions for a plugin. | pperms.command.plperms |
/fperms <plugin> [page] |
List plugin permissions through the legacy alias. | pperms.command.fperms |
/listranks |
List all ranks. | pperms.command.ranks |
/ppinfo |
Show PurePerms information. | pperms.command.ppinfo |
/rmrank <rank> |
Remove a rank. | pperms.command.rmrank |
/setrank <player> <rank> [duration] [world] |
Set a permanent or temporary rank. | pperms.command.setrank |
/unsetuperm <rank> <permission> [world] |
Remove a permission from a user. | pperms.command.unsetuperm |
/setuperm <player> <permission> [world] |
Add a permission to a user. | pperms.command.setuperm |
/setgperm <group> <permission> [world] |
Add a permission to a group. | pperms.command.setgperm |
/unsetgperm <group> <permission> [world] |
Remove a permission from a group. | pperms.command.unsetgperm |
/ppreload |
Reload configuration, messages and provider-backed data. | pperms.command.ppreload |
The repository uses AxolotlBucketLabs DevTools for PHAR packaging and PHPStan level max analysis. The local build requires an Axolotl-PM source tree, as shown in the workflow.
php -d phar.readonly=0 .tooling/DevTools/bin/devtools.php build --project=. --out=build --overwrite --jsonThe workflow produces an auditable PHAR artifact for each push and pull request. Releases and tags are created separately after runtime verification.
See UPSTREAM.md for the original project, retained attribution and maintenance policy. See CHANGELOG.md for maintained changes.