[ADMN/DEV] PermissionsBukkit v2.0 - Official Default Groups Plugin [1.5.2-R1.0]

Discussion in 'Archived: Plugin Releases' started by SpaceManiac, Jul 17, 2011.

  1. Offline


    PermissionsBukkit - the Official Default Groups Plugin
    Current Version: v2.0
    Find PermissionsBukkit on BukkitDev!

    If you are getting a specific error or cannot determine what is wrong with your permissions file, filing a ticket on BukkitDev will make me much more likely to respond to you; general questions are best to ask in this thread or on the forums on BukkitDev.

    It's been a long time coming, but with the accomplishment of build 1000 Bukkit has finally accomplished a built-in Permissions system (codenamed Superperms). For more info on how they work, and how to integrate them with your plugin, see the official Permissions FAQ. Keep in mind that you should rarely, if ever, have to hook this plugin directly; instead keep things in the realm of checking player.hasPermission("yourplugin.node"). The FAQ thread has more info on how to use Superperms with things like chat prefixes/suffixes.

    • Storage of users and groups in plugins/PermissionsBukkit/config.yml.
    • Both users and groups can be assigned individual permissions and parent groups to inherit permissions from.
    • Support for global and per-world permissions.
    • Reload configuration from file with out reloading the plugin.
    • Ability to check if a player has a specific permission node.
    • Ability to dump all permissions a player has and the plugins that set them.
    • Ability to print plugin, description, and default for a given permission node.
    • Ability to modify the permissions of groups and users and the groups of a user in-game.
    • Built-in antibuild via the "permissions.build" node (defaults to allowing anyone to build).
    • A minimalistic bridge from Permissions 3.0 to Superperms is available as a separate plugin, which does not depend on PermissionsBukkit.
    Command Usage:

    Show Spoiler
    PermissionsBukkit uses the command /permissions, with aliases /perms and /perm.

    /permissions reload - reload the configuration from disk.
    /permissions check <node> [player] - check if a player or the sender has a permission (any plugin).
    /permissions info <node> - prints information on a specific permission.
    /permissions dump [player] [page] - prints info about a player's (or the sender's) permissions.
    /permissions setrank <player> <group> - set a player to be in a group with per-group permissions.
    /permissions group - list group-related commands.
    /permissions group list - list all groups.
    /permissions group players <group> - list players in a group.
    /permissions group setperm <group> <[world:]node> [true|false] - set a permission on a group.
    /permissions group unsetperm <group> <[world:]node> - unset a permission on a group.
    /permissions player - list player-related commands.
    /permissions player groups <player> - list groups a player is in.
    /permissions player setgroup <player> <group,...> - set a player to be in only the given groups.
    /permissions player addgroup <player> <group> - add a player to a group.
    /permissions player removegroup <player> <group> - remove a player from a group.
    /permissions player setperm <player> <[world:]node> [true|false] - set a permission on a player.
    /permissions player unsetperm <player> <[world:]node> - unset a permission on a player.

    All commands have in-game help and are usable from the server console.

    Show Spoiler
    A permission node is a string like 'permissions.build', usually starting with the name of the plugin. Refer to a plugin's documentation for what permissions it cares about. Each node should be followed by true to grant that permission or false to revoke it, as in 'permissions.build: true'. Some plugins provide permission nodes that map to a group of permissions - for example, PermissionsBukkit has 'permissions.*', which automatically grants permissions for all PermissionsBukkit commands. You can also specify false for permissions of this type.

    Users inherit permissions from the groups they are a part of. If a user is not specified here, or does not have a 'groups' node, they will be in the group 'default'. Permissions for individual users may also be specified by using a 'permissions' node with a list of permission nodes, which will override their group permissions. World permissions may be assigned to users with a 'worlds:' entry.

    Groups can be assigned to players and all their permissions will also be assigned to those players. Groups can also inherit permissions from other groups. Like user permissions, groups may override the permissions of their parent group(s). Unlike users, groups do NOT automatically inherit from default. World permissions may be assigned to groups with a 'worlds:' entry.

    The cannot-build message is configurable. If it is left blank, no message will be displayed to the player if PermissionsBukkit prevents them from building, digging, or interacting with a block. Use '&' characters to signify color codes.

    An example configuration file might look like this:
                permissions.example: true
            - admin
                permissions.build: false
                permissions.*: true
            - user
                permissions.build: true
                    coolplugin.item: true
            - default
        build: '&cYou do not have permission to build here.'

    Show Spoiler
    PermissionsBukkit checks for the following permission nodes:
    • permissions.build - Allows a player to build. Defaults to true.
    • permissions.help - Allows viewing of usage for /permissions.
    • permissions.reload - Allows use of /permissions reload.
    • permissions.check - Allows use of /permissions reload.
    • permissions.info - Allows use of /permissions reload.
    • permissions.dump - Allows use of /permissions reload.
    • permissions.group.help - Allows viewing of usage for /permissions group.
    • permissions.group.list - Allows use of /permissions group list.
    • permissions.group.players - Allows use of /permissions group players.
    • permissions.group.setperm - Allows use of /permissions group setperm.
    • permissions.group.unsetperm - Allows use of /permissions group unsetperm.
    • permissions.player.help - Allows viewing of usage for /permissions player
    • permissions.player.groups - Allows use of /permissions player groups.
    • permissions.player.setgroup - Allows use of /permissions player setgroup.
    • permissions.player.addgroup - Allows use of /permissions player addgroup.
    • permissions.player.removegroup - Allows use of /permissions player removegroup.
    • permissions.player.setperm - Allows use of /permissions player addgroup.
    • permissions.player.unsetperm - Allows use of /permissions player removegroup.
    Also, the following parent nodes are provided for convenience:

    • permissions.* - Maps to permissions.help, .reload, .check, .info, .dump, and to permissions.group.* and permissions.player.*. Defaults to op.
    • permissions.group.* - Maps to permissions.group.help, .list, .players, .setperm, and .unsetperm.
    • permissions.player.* - Maps to permissions.player.help, .groups, .setgroup, .addgroup, .removegroup, .setperm, and .unsetperm.

    Frequently Asked Questions:
    1. Where are my * nodes? (open)
    Bukkit's Superperms has no built-in concept of a global '*' node that automatically gives all permissions, which is intentional - a player can instead be given all permissions by being given 'op' status (that is, listed in ops.txt). Additionally, individual plugins define a parent node (which could be 'pluginname.*' or 'pluginname.all' or anything else) which maps to whatever subpermissions in that plugin the author desires.

    An example is PermissionsBukkit, which provides three such permissions: 'permissions.group.*' for all /permissions group commands, 'permissions.player.*' for all /permissions player commands, and'permissions.*' for all /permissions commands (including permissions.group.* and permissions.player.*).

    If you are using SuperpermsBridge, you can do something similar to '*' nodes for plugins which use Permissions 2.7/3.1 - see the next FAQ for more information.
    2. How do I use SuperpermsBridge? (open)
    SuperpermsBridge is kind of like FakePermissions for GroupManager or PermissionsBridge for PermissionsEx. Once it's installed, it pretends to be the Permissions plugin and converts any plugins that use Permissions 2.7 or Permissions 3.1 to use Superperms instead.

    You can have PermissionsBukkit without SuperpermsBridge or SuperpermsBridge without PermissionsBukkit if you like, but both of these are limited in functionality. If you install SuperpermsBridge without PermissionsBukkit you will not be able to make use of PermissionsBukkit's groups feature or admin commands, and if you install PermissionsBukkit without SuperpermsBridge, plugins that have not updated to use Superperms directly will not function.

    For plugins that use Permissions 2.7/3.1, you can use the special node 'superpermbridge.*' to give the equivalent of what used to be the '*' node for plugins that do not use Superperms directly. If you don't want to give the * node, you can also use the node 'superpermbridge.pluginname' to do the equivalent of what used to be the 'pluginname.*' node. Once again, these only apply to plugins that SuperpermsBridge handles and not to plugins using Superperms directly.
    3. How do I use the root permissions.yml? (open)
    The file 'permissions.yml' in the root of your server can be used to set up custom parent permissions. Parent permissions are a single node that, when given to a player or group, automatically give all their children node. Here's a simple example:
            commandbook.motd: true
            commandbook.say: true
            commandbook.say.me: true
            commandbook.time: true
    Now, if you give a player the node 'server.basics', they automatically get all the nodes listed here. Children may also say 'false' instead of 'true', in which case giving the parent will remove the child instead of giving it.

    You can also specify a description if you like, which can be used by plugins to provide information on your node (such as PermissionsBukkit's /perm info command). If you want, you can also provide a default, which can be one of "true", "false", "op", or "notop". CraftBukkit will automatically assign everyone, no one (default), ops, or non-ops the children permissions based on the specified default. Without any plugin like PermissionsBukkit, you can use this defaults system as a limited way to assign people permissions. Here's a more complex example:
        description: Basic permissions for My Cool Server.
        default: true
            commandbook.motd: true
            commandbook.say: true
            commandbook.say.me: true
            commandbook.time: true
        description: Admin permissions for My Cool Server.
        default: op
            commandbook.broadcast: true
            commandbook.teleport: true
            commandbook.kick: true
            commandbook.ban: true
    You can also define permissions without children, but this is of limited usefulness in permissions.yml (though is important in plugin.yml; see question #6)
    4. How do I switch from (other Permissions plugin)? (open)
    Depends on the Permissions plugin! If you were using PEX's YAML backend, I have a converter done and available on the PermissionsBukkit Tools page. Also available on the tools page is an automatic converter for Essentials GroupManager users.yml and groups.yml files. Automatic converters for Permissions 2.7 and 3.x are on their way, but in the meantime you can still convert your configurations manually.
    5. Where are prefixes and suffixes (or option nodes)? (open)
    Bukkit Superperms has no built-in prefix/suffix settings or non-boolean permission nodes, so individual chat plugins will have to start supporting Superperms in order to make use of non-Permissions-plugin based prefixes and suffixes. Herochat, iChat, and Simple Suffix are all aware of the Superperms update, but in the meantime you can use mChat, which already supports Superperms.

    Once you install mChat and configure the mchat.prefix, mchat.suffix, and mchat.group names in its configuration file (see the example), use PermissionsBukkit to give players or groups the permissions "mchat.prefix.admin", replacing "admin" with whatever node you configured. For example, with an mchat configuration that looks similar to this:
    da-name-format: '+prefix+name&e'
    date-format: HH:mm:ss
    message-format: '+prefix+name&f: +message'
            admin: '&4DtK [SO] &7 '
            sadmin: '&9DtK [SA] &7 '
            jadmin: '&aDtK [JA] &7  '
            member: '&cDtK [M] &7 '
    You can assign players or groups the mchat.prefix.admin node to get the "SO" prefix, mchat.prefix.sadmin to get the "SA" prefix, and so on.
    6. (Coders) How do I set up my plugin.yml? (open)
    Take a look at this post in Dinnerbone's FAQ for an example. This is a lot like the setup of permissions.yml (see above), but you can also define non-parent permissions (just include description and default and leave out children).
    7. Is PermissionsBukkit outdated? (open)
    No! PermissionsBukkit 2.0 was last updated for 1.3.1-R2.0, is verified to work on 1.4.7-R1.0, and is unlikely to break on future releases.

    Current Version:

    PermissionsBukkit v2.0 (jar) (details)
    Old Versions:
    PermissionsBukkit v1.6 (jar) (details)



    Friday 7 September 2012 (2.0)
    • Fixed a case-sensitivity issue with setting per-world permissions that could cause some permissions to fail to apply.
    • Added /perm setrank <player> <group> subcommand (alias rank) with per-group permissions (permissions.setrank and permissions.setrank.<group>)
    • Added plugin metrics via http://mcstats.org/plugin/PermissionsBukkitMCStats (disableable in plugins/PluginMetrics/config.yml)
    Wednesday 29 February 2012 (1.6)
    • Fixed some massive issues that were caused due to having uploaded a buggy, in-development version instead of 1.5.
    • Note: If your configuration was messed up as a result of this issue, the new build should gradually correct it as needed.
    Saturday 25 February 2012 (1.5b)
    • Revamped to be compatible with R5.
    • Fixed issues with permissions not carrying properly on world change.
    • Many internal improvements for performance and stability.
    • SuperpermsBridge: in honor of R5 removing deprecated code, SuperpermsBridge is officially gone!
    Monday 18 July 2011 (1.1/1.2)
    • Fix BukkitContrib incompatibility issues.
    • Improved the output of the /perm check command.
    • Fixed issues when 'users:' is not specified in the config file.
    • Fixed the /permissions reload command.
    • SuperpermsBridge: improve wildcard handling; in addition to 'superpermbridge.*' and 'superpermbridge.pluginname', now supported are 'superpermbridge.plugin.*', 'superpermbridge.plugin.subnode.*', and so on.
    Monday 18 July 2011 (1.0/1.1)
    • SuperpermsBridge: adding the special 'superpermbridge.*' and 'superpermbridge.pluginname' nodes (see #2 in the FAQ for details).
    Sunday 17 July 2011 (1.0/1.0)

    • Initial release of PermissionsBukkit v1.0 and SuperpermsBridge v1.0.
    madmac, Gesundheit, tripleX and 23 others like this.
  2. Offline


    these are the plugins were running

    not sure if its a plugin causing it its getting frustrating though as we seem to have broken it to such a degree the plugin creator seems stunned into silence :(
  3. Offline


    I am trying to convert over to this permission system right now but I am having one big issue. When someone logs in for the first time, it is not automatically putting that person in to the default group and so it is not stopping that person from building. Anyone have any idea what I am doing wrong? Thank you!
  4. Offline

    Richard Scheide

    For all of you who type as slow as I do or need to convert your Permissions 3... to PermissionsBukkit. You can copy and paste all your nodes very easy with this.


    Simply put. PermissionsBukkit does not support node.* You need to type out every node. or use the mod i listed above to copy and paste.

    Listed again.


    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 17, 2016
  5. Offline


    In the latest dev builds of commandbook and worldedit you can drop SuperPermBridge. I recommend doing so

    I am going to say it isn't a PermissionBukkit issue (in the sense that it only occurs if some plugin is installed with PermissionBukkit) neither a Spout one.

    Could everyone that is having this issue post their plugin lists? Might be able to narrow it down based on similarities.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 17, 2016
  6. Offline


    @Grimmy777 - Users in the "default" group (and it must be called "default") do not get written to the config file. If you renamed your default group, this is your problem.

    @mrgreaper - If I understand your problem, you are unable to use /permissions from the console or in-game? I'm assuming you've also tried /perm, and /perms, both of which are valid aliases for the command. Out of curiosity, is it only /permissions that doesn't work? Or do all commands (with permissions) set by PermissionsBukkit fail to work?

    Try explicitly setting the permissions "permissions.dump" and "permissions.check" for your admins group, and then (while in-game) do /perm dump. Or, from the console, do /perm dump [player]. If this fails to provide any results, there may be something wrong.

    Furthermore, I suggest making absolutely sure you're running the latest version of CraftBukkit.

    Lastly, ensure that there are no remnants (in the form of jars, configurations, or what-have-you) from Permissions 2.x, 3.x, PermissionsEx or GroupManager. There may be some unseen conflict registering the command's permissions.

    @ADAMTT98 - Redownload the jar. It corrupted during transfer.

    @Jinux - See my response to mrgreaper.

    @olloth - That is likely an issue with Spout, and how it implements and overrides the Player interface. I'm doing some testing locally, however.

    Seeing as Space has been gone for some time, here is an updated jar (as I don't have access to jenkins): PermissionsBukkit 1.2.

    Among other small fixes, it includes checking event.isCancelled() (for vildaberper), fixing infinite looping with inheritance, and a few minor memory improvements.

    side note: This build is not recommended by SpaceManiac, but me. It's possible he will endorse it when he returns, but I cannot say when that will be.
  7. Offline


  8. Offline


    Space Maniac is away so the first post is not being changed proactivey

    That plugin is truly awesome for what its trying to do....

    Issue is that every dev out there is still switcing to SuperPerms and even if they do....some refuse to put their permission nodes within the Plugin.yml. Its sad that they don't do so as it would make their user's life much easier (I thought this was the goal of all of the devs....).

    Regardless, I used that on my server today to see if all the nodes have been caught by my permission setup.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 17, 2016
  9. Offline


    >permissions dump
    23:07:37 [INFO] You do not have permissions to do that.
    23:07:46 [INFO] You do not have permissions to do that.
    23:07:49 [INFO] You do not have permissions to do that.
    23:07:51 [INFO] You do not have permissions to do that.
    23:07:55 [INFO] Unknown console command. Type "help" for help.
    23:08:06 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-980-g4ed23b1-b1060jnks (MC: 1.7.3)
    23:08:06 [INFO] This server is also sporting some funky dev build of Bukkit!

    to clarify it worked PERFECTLY on cb 1000
    spacemaniac requested a copy of my config which i provided but then got no reply
    at the mo i have to take the server offline, copy the yml to my pc, edit it, upload it, restart the server

    all the permission nodes work etc EXCEPT it feels the admins and console do not have permission to access it! (th etext is red too if that helps)

    node.* is working we use it on many plugins with out any problem, it didnt work in 1.0 but in 1.1 it was fixed

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 17, 2016
  10. Offline


    @mrgreaper - I recommend you try the version I linked in my post (PermissionsBukkit1.2). I don't really have time to download all of the plugins you're using and troubleshoot them one-by-one.

    I don't know if it'll fix the issue (it seems unlikely, but I did test it on CB1060 and it works fine), but it might. Here's hoping?
  11. Offline


    Why is this denying all? It should make the guest world available to build for default?

                commandbook.clear: true
                commandbook.rules: true
                commandbook.motd: true
                commandbook.kit.kits.starter: true
                commandbook.spawn: true
                iConomyChestShop.shop.sell: true
                iConomyChestShop.shop.buy: true
                lwc.unlock: true
                lwc.remove: true
                lwc.info: true
                lwc.create: true
                superpermbridge.lwc.flag.*: true
                superpermbridge.craftbook.mech.*: true
                commandbook.say.me: true
                commandbook.call: true
                commandbook.warp.teleport: true
                superpermbridge.ScizzrHome.basic.*: true
                mchat.suffix.default: true
                mchat.prefix.default: true
                    permissions.build: false
  12. Offline


    sadly still a no go

    23:48:26 [INFO] You do not have permissions to do that.
    23:48:31 [INFO] You do not have permissions to do that.
    23:48:34 [INFO] You do not have permissions to do that.
  13. Offline



    How do I avoid the file being corrupted or what causes it to?
  14. Offline


    Sometimes I try commands and I get, "An internal error has ocurred" What does that mean?
  15. Offline


    @ADAMTT98 - The file just corrupted when you downloaded it. A bad packet, whatever. Redownloading it should fix the problem.

    @XZeenon - I'm not sure. Can you give me an example of a command you issued that caused the error? That typically means that something went wrong (a null pointer, out of bounds index, etc), but I have no context with which to diagnose the problem.

    @mrgreaper - That makes no sense to me. You're sure permissions.yml is empty, and doesn't set permissions.* to false?

    @[qwerty] - Without the full file, I can't say for sure what the problem is. You're not explicitly telling the default group that it can build in the "guest" world, so that could be the problem?
    [qwerty] likes this.
  16. Offline


    Well, I think it may be part of another plugins error, but sometimes it happens to me with a lot of other commands.
    I tried a command for a plugin called LocalShops and it returned NULL in the console.
  17. Offline


    I have not renamed anything. All I have done is installed it and then gave the admin group the superperm * access.
    But when someone new logs in, it does not assign that person to the default group. It rather just adds them with no group, which no group actually has build permission.

    @krinsdeath They are not getting written to the file like you say and I have not changed anything in the file but when they try to build they still can. They do not have access to any permission based commands but they can still build for some reason....

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 17, 2016
  18. Offline


    Is there a Permissions 3.1.x Converter?
  19. Offline


    Trying to let default users be able to build in a second "creative" world.
                permissions.build: false
                craftbukkit.command.list: true
                spawnx.spawn: true
                pinapp.portal.travel: true
                mchat.prefix.default: true
                    permissions.build: true
                AXIOM V5 - Map:
                    permissions.build: false
    This isn't working. Either they can build in both, or can't build in both.
  20. Offline


    I think you need to take the "permissions.build: false" out of the "permissions:" part if you are going to specify per world. I am not an expert on this permissions system though so don't quote me =P
  21. Offline


    I did try that earlier, same result. Thanks anyways.
  22. Offline


    Woohoo so far all ive noticed is how this plugin has made it take longer for me to configure the permissions.

    Tip to plugin devs please make your permissions copy and paste friendly.

    get rid of the fing true,false,op,notop system at least with : blank after each fing permission

    i liked when i could simply put + or - before a permission plus it takes alot less fking time
  23. Offline


    did i set this up right? it isnt working on the server, whenever i type /perm or any alias of that command it says Unknown console command. Type "help" for help.
    Here is a list of the plugins I have installed:
    CraftBook Circuits
    CraftBook Common
    CraftBook Mechanisms

    thank you so much for taking the time to read this and help out :) this is the last thing i need to do for my server. I've gone from essentials group manager to permissions 3.x to permissionsEx and now to this one. I couldent get any of them to work properly with other mods that I wanted. My config is at the bottom and in a .txt thanks again

    Attached Files:

  24. Offline


    Iv had it with this stupid plugin it has a bug and it needs fixing Im over it it was slightly annoying at first but now its just stupidly annoying. every time i have to /reload the server for some other plugin permissionsbukkit forgets all the permissions for all the players in the server the only way to fix it is to rejoin can you please make it search for connected players permissions in the on enable Please. instead of just relying on when they connect to give them their perms.
    Ninja Grinch likes this.
  25. Offline


    I feel your pain. :(
  26. Offline


    @Ninja Grinch at least im not the only 1 its a real pain in the backside when ur working on things like mcmmo that has no config reload command and adjusting the HUD color's also working with any kind of chat formatting is a real pain in the backside.
  27. Offline


    i had it nicely delete half the fing text in the config file so i have to rewrite a ton of crap.
  28. Offline


    Thanks so much!
  29. Offline


    Is this permission plugin working with 1060?
    Will this plugin be the new standard for permissions?
    Should I bother switching to it?
  30. Offline


    Which version do I have to choose for RB1000? v1.1 or 1.2? are there any differences?

    Thank you!
  31. Offline


    Yes, this is a problem indeed .. i've assigned the permission for moderators on my server to be able to setgroup on new players when im not online. yes as you say, they can easily do setgroup to make themselves admin :(
    I think this should be a high priority to fix.
    perhaps adding support for permission nodes such as: permissions.player.setgroup.<group>
    where <group> would be the target group that is allowed.

Share This Page