In this guide, we will walk through the purpose, setup, configuration, commands, and permissions of the PurePerms plugin
What is PurePerms?

PurePerms is a key Pocketmine plugin that allows you to:

Set up permissions for different groups (+MySQL, multi-language, and API support)
Have a multi-group inheritance system that allows you to inherit group permissions

How do you install it?

Download the plugin from Poggit
Upload it to your plugins folder
Restart your server

Having trouble? Check out our plugin setup article
How do you configure it?

Options
To start off, there are a few options. None are necessary for the plugin to work, but we'll go over them anyways:

data-provider: yamlv1: leave this alone unless you want mysql or yamlv2

default-language: en: can be en, ko, jp, ru, ua, it, sp, cz, sk, de, idn, tr

disable-op: true: This option disables /op permission for all players (the command to make someone operator)

enable-multiworld-perms: false: Setting this option to true will allow you to use per-world permissions (different permissions in each multiworld level - requires MultiWorld)

enable-noeul-sixtyfour: false: Enables 'Noeul', a 'pointless' security management system for PurePerms (only change if you know what you're doing!)

MySQL Settings (Only configure this if you are going to use MySQL data provider):
mysql-settings:
  host: "PurePerms-FTW.loveyou.all"
  port: 3306
  user: "YourUsernameGoesHere"
  password: "YourPasswordGoesHere"
  db: "YourDBNameGoesHere"

noeul-minimum-pw-length: 6: Sets a minimum length for a Noeul password when registering a new account (if enabled)

superadmin-ranks: ["OP"]: Ranks that can only be set on console (in array form)

Ranks
A few permission groups will have already been set, and from there you'll be able to edit them or add more:

Here's the default Guest rank that we'll analyze:
Guest:
  alias: 'gst'
  isDefault: true
  inheritance: []
  permissions:
  - -essentials.kit
  - -essentials.kit.other
  - -pocketmine.command.me
  - pchat.colored.format
  - pchat.colored.nametag
  - pocketmine.command.list
  - pperms.command.ppinfo
  worlds: []


alias sets the shortened name of the Guest rank that can be used in commands
isDefault determines whether or not the rank is applied to all new players by default
inheritance: by adding permission group names here, you add all of the group's permissions to this group (this prevents long permission lists and convenience)
permissions: here is where you add all permissions specific to your group (use a new line and a dash to indicate a new permission)
worlds: list all worlds where this permission group should apply (leave blank for all)

You can then add as many ranks as you want!

What are the commands and permissions?

Make sure you have the permissions in order to execute commands, or make sure you are an operator!

/addgroup <group>: Adds a new group to the groups list. - Permission: pperms.command.addgroup
/addparent <target_group> <parent_group>: Adds a group to another group inheritance list. - Permission: pperms.command.addparent
/defgroup <group> [world]: Allows you to set default group. - Permission: pperms.command.defgroup
/fperms: Allows you to find permissions for a specific plugin. - Permission: pperms.command.fperms
/groups: Shows a list of all groups. - Permission: pperms.command.groups
/grpinfo <group> [world]: Shows info about a group. - Permission: pperms.command.grpinfo
/listgperms <group> <page> [world]: Shows a list of all permissions from a group. - Permission: pperms.command.listgperms
/listuperms <player> <page> [world]: Shows a list of all permissions from a user. - Permission: pperms.command.listuperms
/ppinfo: Shows info about PurePerms. - Permission: pperms.command.ppinfo
/ppsudo <login / register>: Registers or logs into your Noeul account. - Permission: pperms.command.ppsudo
/ppreload: Reloads all PurePerms configurations. - Permission: pperms.command.ppreload
/rmgroup <group>: Removes a group from the groups list. - Permission: pperms.command.rmgroup
/rmparent <target_group> <parent_group>: Removes a group from another group inheritance list. - Permission: pperms.command.rmparent
/setgperm <group> <permission> [world]: Adds a permission to the group. - Permission: pperms.command.setgperm
/setgroup <player> <group> [world]: Sets group for the user. - Permission: pperms.command.setgroup
/setuperm <player> <permission> [world]: Adds a permission to the user. - Permission: pperms.command.setuperm
/unsetgperm <group> <permission> [world]: Removes a permission from the group. - Permission: pperms.command.unsetgperm
/unsetuperm <player> <permission> [world]: Removes a permission from the user. - Permission: pperms.command.unsetuperm
/usrinfo <player> [world]: Shows info about a user. - Permission: pperms.command.usrinfo

Great! PurePerms should now be all setup, have fun setting permission groups!

Want permission groups to display in the chat? This plugin works well with its counterpart PureChat

Article made by Emperor#9999 ( ID 764580296673853460 )
Was this article helpful?
Cancel
Thank you!