PowerfulPerms wiki

Oct 13, 2017
PowerfulPerms wiki
  • Resource page available here

    1. How do I set the default groups?
      Add groups to the user [default]. The command for this is "/pp user [default] addgroup <yourdefaultgroup>".
    2. I want to set a prefix or suffix containing spaces. How do I do that?
      You can put any command parameter between quotes, such as "&f[&c Admin &f] ". Or you can add spaces in phpmyadmin later.
    3. I added a per-world BungeeCord permission. It does not work!?
      BungeeCord permissions can only work per-server as BungeeCord has no way to know what world the players are in, only Spigot knows that.
    4. How do I use "mixed" mode?
      When your network is running mixed mode it will run a few extra checks towards both Mojang UUID API and the database to make sure the UUIDs are correct when translating from player username to UUID. Premium players are always prioritized over non-premium players.
      Here is a small scheme(Translating from player username to UUID);

      If server is running online mode all UUIDs will be translated by the Mojang UUID API.
      If server is running offline mode all UUIDs will be generated from the player name in the same way as Bungeecord does. They will generate the same UUIDs.
      If server is running mixed mode: Generates offline UUID and retrieves online UUID. If database contains the online UUID, use that one. Else, if database contains the offline UUID, use that one. If the database contains neither of them and a premium player exists with that player name it will use the online UUID of that player. If neither are found and the player name is not a premium player name it will use the offline UUID.
    5. I can't get prefixes and/or suffixes to show properly! (PlaceholderAPI)
      1. You have to make sure PlaceholderAPI is installed.
      2. You must install the PlaceholderAPI PowerfulPerms expansion. Do so by executing "papi ecloud download powerfulperms" in console. (It won't say more then Attempting download of expansion PowerfulPerms; just reboot after)
      3. If you're using DeluxeChat, you have to enable PlaceholderAPI in its config file, you also have to use placeholders like %placeholderapi_powerfulperms_prefix_<yourladder>% instead.
    6. I am getting X error when I reloaded!
      Don't reload! Restart, and try again!
    7. I have added a permission and PP says the player has it but he still can't execute the command/do the thing!
      You need to make sure your Bungee forwards the proper UUIDs to your servers.
      Assuming your network is using online mode:

      spigot.yml -> "bungeecord: true"
      server.properties -> "online-mode: false"
      Bungeecord config.yml -> "ip_forward: true" and "online_mode: true"
      PP config.yml on Spigot servers and Bungee "onlinemode: true"

      It is very sensitive that these settings are correct.
    8. Players have access to Essentials commands, but I didn't add any Essentials permission?
      Delete the section "playercommands" in Essentials config.

    Timed permissions and groups
    /pp user <user> add <permission> (server) (world) (expires)
    /pp group<group> add <permission> (server) (world) (expires)
    /pp user <user> addgroup <group> (server) (expires)

    Where (expires) is either a specific datetime with format "yyyy-MM-dd HH:mm:ss" (24 hour clock) or a duration, like "1m10w5min" which specifies 1 month + 10 weeks + 5 minutes. These timed features will have second accuracy.

    Command information
    /pp user <user> promote <ladder>
    Promotes the user on the specified ladder to the closest group with higher rank. For example, "/pp user gustav9797 promote staff".

    /pp user <user> demote <ladder>
    Demotes the user on the specified ladder to the closest group with lower rank. For example, "/pp user gustav9797 demote staff".

    /pp user <user> setrank <group>
    Works like promote and demote but instead you specify the group to set.

    The above commands have one thing in common. They will all affect all instances of the same group but different server- or negation configuration. For example, a user may have the Builder group on the server "build" but also on the server "build2" but no other server. This means the user has two group entries. The above commands apply on both entries. They also require that the user has a group on the ladder specified in order to work.

    /pp group <group> create (ladder) (rank)
    Creates the group with the specified ladder and rank. If rank is not specified, it defaults to 100. If ladder is not specified, it defaults to "default".

    Explanation of the ladder/rank system
    A ladder contains a certain kind of groups. Here is an example:

    "Staff" ladder:
    • group Player - rank 5000
    • group Trial Moderator - rank 10000
    • group Moderator - rank 20000
    • group Admin - rank 30000
    • group Owner - rank 40000
    "Donator" ladder:
    • group Bronze - rank 10
    • group Silver - rank 20
    • group Gold - rank 30
    • group Diamond - rank 40
    "Prison" ladder:
    • group A - rank 100
    • group B - rank 500
    • group C - rank 1000
    • group D - rank 1500
    A player can have infinite groups on many ladders at the same time but only one group will be working at once per ladder. You may promote and demote the user on specific ladders using the above commands. The rank of a group only applies in its ladder, not across all ladders.


    • powerfulperms_group_<group>_id
    • powerfulperms_group_<group>_ladder
    • powerfulperms_group_<group>_rank
    • powerfulperms_group_<group>_permexpirytime_some.permission.here
    • powerfulperms_group_<group>_permexpirydate_some.permission.here
    • powerfulperms_user_<username>_(Here you can put any of the normal placeholders)
    • powerfulperms_prefix/suffix
      • The same as Vault prefix, it gets the prefix from the highest rank group across all ladders.
    • powerfulperms_prefix/suffix_<ladder>
      • Replace <ladder> with ladder name. Will use the prefix of the group the user currently has on this ladder.
    • powerfulperms_firstprefix/firstsuffix_<ladder1>_(ladder2)_(ladder3 etc)
      • If player has no prefix on ladder1, it will try the next one, and so on.
    • powerfulperms_ownprefix/ownsuffix
    • If the player has a prefix/suffix set specifically, this placeholder will return it.
    • powerfulperms_primarygroup
    • powerfulperms_groupname_<ladder>
    • powerfulperms_firstgroup_<ladder1>_(ladder2)_(ladder3 etc)
    • Same as powerfulperms_groupname but will return first valid groupname.
    • powerfulperms_permexpirytime_some.permission.here
    • powerfulperms_permexpirydate_some.permission.here
    • powerfulperms_ownpermexpirytime_some.permission.here
    • powerfulperms_ownpermexpirydate_some.permission.here
    Default user
    There is a user called [default] in the database. When a new player joins your network he'll automatically get the groups of the user [default]. The groups aren't copied onto the new player, they are used from [default] directly which means that any changes of [default] will affect all players who have no groups. An alias for [default] is {default} so that you can write commands with it in the console.

    Explanation of the inheritance system
    Lets say we have the following groups:
    • Guest - parent of Player
    • Player - parent of Moderator
    • Builder - (on the server "Build")
    • Moderator - parent of Admin
    • Admin - parent of Owner
    • Owner
    In this case, Guest is a parent of Player, Player is a parent of Moderator and so on. Permissions will be inherited all the way from Guest up to your rank.

    A player can have the group "Builder" on the Build server that gives him/her permissions for WorldEdit.

    If a player does not have a specifically set prefix or suffix on him/her, it will use the prefix and suffix from the groups of the player. This prefix or suffix depends on what placeholder you use.

    Explanation of the permissions system
    This plugin supports wildcard permissions and permission negation.
    It works in a special way. Permissions are derived from Guest all the way up to Owner, so the permissions from Guest are added first, permissions from Player are added second, and so on. The order of permissions is very important.
    Lets say we have the following permissions on the group Builder:

    • worldedit.*
    • -worldedit.mass_destruction
    This is a correct order. The first permission "worldedit.*" states that the player has every permission in the plugin WorldEdit. The second permission states that a specific permission is denied. If the order was switched and the negated permission was first such as:
    • -worldedit.mass_destruction
    • worldedit.*
    The last permission specifies that the player should have all worldedit permissions, as such it will ignore the negated permission.

    The order of permissions also applies through the inheritance tree. They are first added from the "oldest" parent, in this case it's Guest, then Player, and so on. The last permissions added are the player specific permissions. They decide over all the inherited permissions.

    Sequences is a new feature as of version 4.1.0. You can use sequences in any command in PowerfulPerms.
    /pp user <user> add essentials.{pay,balance,tpa,home,warp} (Without spaces)
    Will add the 5 permissions to the player. (essentials.pay, essentials.balance, essentials.tpa, essentials.home, essentials.warp)
  • Loading...
  • Loading...