[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

    SpaceManiac

    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.

    Features:
    • 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.

    Configuration:
    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:
    Code:
    users:
        ConspiracyWizard:
            permissions:
                permissions.example: true
            groups:
            - admin
    groups:
        default:
            permissions:
                permissions.build: false
        admin:
            permissions:
                permissions.*: true
            inheritance:
            - user
        user:
            permissions:
                permissions.build: true
            worlds:
                creative:
                    coolplugin.item: true
            inheritance:
            - default
    messages:
        build: '&cYou do not have permission to build here.'
    

    Permissions:
    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:
    Code:
    server.basics:
        children:
            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:
    Code:
    server.basics:
        description: Basic permissions for My Cool Server.
        default: true
        children:
            commandbook.motd: true
            commandbook.say: true
            commandbook.say.me: true
            commandbook.time: true
    server.admin:
        description: Admin permissions for My Cool Server.
        default: op
        children:
            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:
    Code:
    da-name-format: '+prefix+name&e'
    date-format: HH:mm:ss
    message-format: '+prefix+name&f: +message'
    mchat:
        prefix:
            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.

    Downloads:
    Current Version:

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

    [​IMG]

    Changelog:

    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

    Bronski

    I'm having a problem with (seemingly only) 1 plugin, PreciousStones.
    I have given "preciousstones.admin.info: true" to my builder group but they just get "Syntax error" when trying to issue "/ps info". It works for me as admin and that node worked previously under GroupManager. It looks like the other nodes aren't working for them either (the benefit one at least).

    Permissions my ranks have that relate to this issue. Each group is inherited by the next:

    Code:
    builders have:
                preciousstones.admin.info: true
                preciousstones.benefit.*: true
                preciousstones.whitelist.*: true
    mods have:
                preciousstones.admin.*: true
    semiadmin has:
                preciousstones.alert.*: true
                preciousstones.bypass.*: true
    admin has:
                superpermbridge.*: true
    Despite the explicit permission, /ps info only works for admin. I just tried adding "superpermbridge.preciousstones.admin.info: true" to the builder group and it still does the same. I'm just not sure which plugin is throwing that error, or if PS does something different than most plugins. I posted on his thread but he hasn't responded yet.

    My full config.yml:

    Show Spoiler
    Code:
    groups:
        default:
            permissions:
                SpawnControl.spawn.use: true
                essentials.afk: true
                essentials.help: true
                essentials.helpop: true
                essentials.ignore: true
                essentials.list: true
                essentials.motd: true
                essentials.rules: true
                essentials.spawn: true
                guestprev.access.commands: true
                mchat.group.default: true
                mchat.prefix.default: true
                mchat.suffix.default: true
                permissions.build: false
        Builder:
            permissions:
                SpawnControl.home.basic: true
                SpawnControl.sethome.basic: true
                anyonesleep.toggle: true
                archers.bow.normal: true
                archers.change.normal: true
                archers.craft: true
                chaircraft.sit: true
                citizens.use.bandit: true
                citizens.use.blacksmith: true
                citizens.use.guard: true
                citizens.use.healer: true
                citizens.use.quester: true
                citizens.use.trader: true
                citizens.use.wizard: true
                essentials.balance: true
                essentials.compass: true
                essentials.depth: true
                essentials.getpos: true
                essentials.home: true
                essentials.mail: true
                essentials.mail.send: true
                essentials.me: true
                essentials.msg: true
                essentials.pay: true
                essentials.portal: true
                essentials.protect: true
                essentials.sethome: true
                essentials.signs.balance.use: true
                essentials.signs.buy.use: true
                essentials.signs.disposal.create: true
                essentials.signs.disposal.use: true
                essentials.signs.free.use: true
                essentials.signs.heal.use: true
                essentials.signs.mail.create: true
                essentials.signs.mail.use: true
                essentials.signs.protection.create: true
                essentials.signs.protection.use: true
                essentials.signs.sell.use: true
                essentials.signs.trade.create: true
                essentials.signs.trade.use: true
                essentials.signs.warp.use: true
                essentials.suicide: true
                essentials.tpaccept: true
                essentials.tpdeny: true
                essentials.worth: true
                falsebook.blocks.gate: true
                falsebook.blocks.lift: true
                getwolfowner: true
                guestprev.is.authorized: true
                iConomy.payment: true
                iConomyChestShop.command.iteminfo: true
                iConomyChestShop.shop.buy: true
                iConomyChestShop.shop.create: true
                iConomyChestShop.shop.sell: true
                lottery.buy: true
                lwc.protect: true
                mchat.group.Builder: true
                mchat.group.default: false
                mchat.prefix.Builder: true
                mchat.prefix.default: false
                mchat.suffix.Builder: true
                mchat.suffix.default: false
                myhome.home.basic.*: true
                myhome.home.free.*: true
                permissions.build: true
                preciousstones.admin.info: true
                preciousstones.benefit.*: true
                preciousstones.whitelist.*: true
                pvpreward.reward: true
                pvptoggle.command.status: true
                pvptoggle.command.toggle: true
                pvptoggle.use: true
                showcase.buy.*: true
                simplesignedit.edit: true
                styxspace.teleport.enter: true
                styxspace.teleport.exit: true
                styxspace.teleport.leave: true
                superpermbridge.preciousstones.admin.info: true
                tombstone.cmd.tombfind: true
                tombstone.cmd.tomblist: true
                tombstone.freesign: true
                tombstone.large: true
                tombstone.lwc: true
                tombstone.quickloot: true
                tombstone.sign: true
                tombstone.use: true
                torchmissile.Normal: true
                wormhole.use.sign: true
            inheritance:
            - default
        Police:
            permissions:
                essentials.ban: true
                essentials.invsee: true
                essentials.jails: true
                essentials.kick: true
                essentials.togglejail: true
                lwc.mod: true
                mcbans.ban.local: true
                mcbans.ban.temp: true
                mcbans.ban.view: true
                mcbans.lookup: true
                mcbans.mod: true
                mcbans.mute.player: true
                mcbans.reload: true
                mcbans.unban: true
                permissions.build: true
                mchat.prefix.Police: true
                mchat.group.Police: true
                mchat.suffix.Police: true
                mchat.prefix.Builder: false
                mchat.group.Builder: false
                mchat.suffix.Builder: false
                mchat.prefix.default: false
                mchat.group.default: false
                mchat.suffix.default: false
            inheritance:
            - Builder
        Pimpin:
            permissions:
                choptree.*: true
                discosheep.*: true
                essentials.back.ondeath: true
                essentials.bigtree: true
                essentials.kit.tools: true
                essentials.lightning: true
                essentials.nick: true
                essentials.thunder: true
                essentials.tree: true
                essentials.warp: true
                essentials.weather: true
                magiccarpet.*: true
                multiverse.tp: true
                raveblox.*: true
                rocketboots.boots.diamond: true
                tombstone.freechest: true
                WeatherControl.*: true
                wormhole.use.*: true
                permissions.build: true
                mchat.prefix.Pimpin: true
                mchat.group.Pimpin: true
                mchat.suffix.Pimpin: true
                mchat.prefix.Police: false
                mchat.group.Police: false
                mchat.suffix.Police: false
                mchat.prefix.Builder: false
                mchat.group.Builder: false
                mchat.suffix.Builder: false
                mchat.prefix.default: false
                mchat.group.default: false
                mchat.suffix.default: false
            inheritance:
            - Police
        Mod:
            permissions:
                FD.admin: true
                ToughMelt.melt: true
                anyonesleep.*: true
                appleseed.*: true
                essentials.back: true
                essentials.ban: true
                essentials.banip: true
                essentials.broadcast: true
                essentials.delwarp: true
                essentials.eco: true
                essentials.ext: true
                essentials.item: true
                essentials.jump: true
                essentials.kick: true
                essentials.kill: true
                essentials.protect.admin: true
                essentials.protect.alerts: true
                essentials.protect.exemptbreak: true
                essentials.protect.exemptplacement: true
                essentials.protect.exemptuse: true
                essentials.protect.ownerinfo: true
                essentials.setwarp: true
                essentials.signs.protection.override: true
                essentials.signs.trade.override: true
                essentials.time: true
                essentials.time.player: true
                essentials.time.world: true
                essentials.togglejail: true
                essentials.top: true
                essentials.tp: true
                essentials.tpa: true
                essentials.tpahere: true
                essentials.tphere: true
                essentials.tpo: true
                essentials.tpohere: true
                essentials.tppos: true
                essentials.tptoggle: true
                essentials.unban: true
                essentials.unbanip: true
                essentials.warp.list: true
                essentials.warp.otherplayers: true
                essentials.whois: true
                essentials.world: true
                groupmanager.listgroups: true
                groupmanager.mandemote: true
                groupmanager.manload: true
                groupmanager.manpromote: true
                groupmanager.mansave: true
                groupmanager.manselect: true
                groupmanager.manuadd: true
                groupmanager.manudel: true
                iConomy.*: true
                iConomyChestShop.admin: true
                mcbans.*: true
                mchat.group.Builder: false
                mchat.group.Mod: true
                mchat.group.Pimpin: false
                mchat.group.Police: false
                mchat.group.default: false
                mchat.prefix.Builder: false
                mchat.prefix.Mod: true
                mchat.prefix.Pimpin: false
                mchat.prefix.Police: false
                mchat.prefix.default: false
                mchat.suffix.Builder: false
                mchat.suffix.Mod: true
                mchat.suffix.Pimpin: false
                mchat.suffix.Police: false
                mchat.suffix.default: false
                minecartmania.*: true
                myhome.*: true
                nocheat.*: true
                nocheat.airbuild: true
                nocheat.bogusitems: true
                nocheat.fakesneak: true
                nocheat.fastswim: true
                nocheat.flying: true
                nocheat.moving: true
                nocheat.notify: true
                nocheat.nuke: true
                nocheat.speedhack: true
                permissions.build: true
                preciousstones.admin.*: true
                rocketboots.boots.chainmail: true
                rocketboots.boots.gold: true
                rocketboots.boots.iron: true
                rocketboots.boots.leather: true
                showcase.*: true
                styxspace.admin.reload: true
                tombstone.admin: true
                worldedit.*: true
                worldguard.*: true
                worldguard.auto-invincible: true
                wormhole.*: true
            inheritance:
            - Pimpin
        SemiAdmin:
            permissions:
                groupmanager.mantogglesave: false
                archers.arrow: true
                archers.bow.fire: true
                archers.bow.fly: true
                archers.bow.ice: true
                archers.bow.monster: true
                archers.bow.pig: true
                archers.bow.sniper: true
                archers.bow.steal: true
                archers.bow.stone: true
                archers.bow.thrice: true
                archers.bow.thunder: true
                archers.bow.tnt: true
                archers.bow.torch: true
                archers.bow.tp: true
                archers.bow.tree: true
                archers.bow.web: true
                archers.bow.zeus: true
                archers.bow.zombie: true
                archers.change.*: true
                bb.admin.*: true
                citizens.*: true
                citizens.basic.create: true
                citizens.basic.settext: true
                citizens.general.color: true
                citizens.general.copy: true
                citizens.general.getid: true
                citizens.general.lookatplayers: true
                citizens.general.move: true
                citizens.general.remove.singular: true
                citizens.general.select: true
                citizens.general.setitem: true
                citizens.general.setname: true
                citizens.general.talkwhenclose: true
                citizens.general.tp: true
                citizens.help: true
                essentials: true
                essentials.burn: true
                essentials.clearinventory: true
                essentials.cooldown.bypass: true
                essentials.deljail: true
                essentials.give: true
                essentials.god: true
                essentials.heal: true
                essentials.heal.others: true
                essentials.invsee: true
                essentials.jails: true
                essentials.kickall: true
                essentials.kit.*: true
                essentials.mute: true
                essentials.sell: true
                essentials.setjail: true
                essentials.spawnmob: true
                essentials.teleport.cooldown.bypass: true
                essentials.teleport.timer.bypass: true
                essentials.togglejail: true
                groupmanager.*: true
                logblock.*: true
                lottery.admin.addtopot: true
                lottery.admin.draw: true
                multiverse.*: true
                namespace.*: true
                preciousstones.alert.*: true
                preciousstones.bypass.*: true
                pvptoggle.*: true
                slots.*: true
                vegetation.*: true
                worldguard.auto-invincible: true
                permissions.build: true
                mchat.prefix.SemiAdmin: true
                mchat.group.SemiAdmin: true
                mchat.suffix.SemiAdmin: true
                mchat.prefix.Mod: false
                mchat.group.Mod: false
                mchat.suffix.Mod: false
                mchat.prefix.Pimpin: false
                mchat.group.Pimpin: false
                mchat.suffix.Pimpin: false
                mchat.prefix.Police: false
                mchat.group.Police: false
                mchat.suffix.Police: false
                mchat.prefix.Builder: false
                mchat.group.Builder: false
                mchat.suffix.Builder: false
                mchat.prefix.default: false
                mchat.group.default: false
                mchat.suffix.default: false
            inheritance:
            - Mod
        Admin:
            permissions:
                essentials.protect.damage.*: false
                superpermbridge.*: true
                permissions.*: true
                permissions.build: true
                mchat.prefix.Admin: true
                mchat.group.Admin: true
                mchat.suffix.Admin: true
                mchat.prefix.SemiAdmin: false
                mchat.group.SemiAdmin: false
                mchat.suffix.SemiAdmin: false
                mchat.prefix.Mod: false
                mchat.group.Mod: false
                mchat.suffix.Mod: false
                mchat.prefix.Pimpin: false
                mchat.group.Pimpin: false
                mchat.suffix.Pimpin: false
                mchat.prefix.Police: false
                mchat.group.Police: false
                mchat.suffix.Police: false
                mchat.prefix.Builder: false
                mchat.group.Builder: false
                mchat.suffix.Builder: false
                mchat.prefix.default: false
                mchat.group.default: false
                mchat.suffix.default: false
            inheritance:
            - SemiAdmin
    messages:
        build: '&cYou do not have permission to build here.'
    users:
        terrorteunie:
            groups:
            - Builder
        iiWorld:
            groups:
            - Builder
        chukar:
            groups:
            - Police
        foodang:
            groups:
            - Builder
        slavetomyown:
            groups:
            - Builder
        atfrancid:
            groups:
            - Builder
        Mrist:
            groups:
            - Builder
        Maikie_G:
            groups:
            - Builder
        cosimra:
            groups:
            - Builder
        The_Albino:
            groups:
            - Builder
        SolYViento:
            groups:
            - Builder
        zanzabil:
            groups:
            - Builder
        Mz_Doom:
            groups:
            - Builder
        casey0816:
            groups:
            - Builder
        Rusah:
            groups:
            - Mod
        wolfpax181:
            groups:
            - Builder
        Kharcha:
            groups:
            - Builder
        zerophin1:
            groups:
            - Admin
        Eroock:
            groups:
            - Builder
        GrayMorning:
            groups:
            - Builder
        CoolHandMike:
            groups:
            - Builder
        WonderSizzle:
            groups:
            - Builder
        TheRickMurphy:
            groups:
            - Builder
        icanhasnachos:
            groups:
            - Builder
        stumpkin:
            groups:
            - Builder
        SheepSlapper:
            groups:
            - Builder
        Aelon:
            groups:
            - Builder
        Mattimeo1:
            groups:
            - Builder
        Blynky:
            groups:
            - admin
        LarryLevan:
            groups:
            - Builder
        SubtleShade:
            groups:
            - Builder
        blyny:
            groups:
            - admin
        jakebrick:
            groups:
            - default
        jimmybrick:
            groups:
            - builder
    


    EDIT: Solved. For whatever reason, the wildcard workaround wasn't playing nice and I had to explicitly name all of the nodes. Also, in the case of "/ps info," you need 2 nodes to make the command work.
     
  3. Offline

    pontuzz

    Using this if i have groups like:

    Code:
    Permissions:
       Groups:
          Admin:
            permission:
               example.one: true
            inheritance:
               - user
          user
            permission:
               example.two: true
              

    Will the admin group get the user nodes aswell??
     
  4. Offline

    Noctis Akatsuki

    I do not understand what I am doing wrong, I try to add permissions such as navigation in worldedit and backtobody. But it does not work when adding it to the config.yml

    This is how I've put it up
    Code:
    users:
        lordchosen1:
            permissions:
                permissions.example: true
                worldedit.navigation.thru: true
                worldedit.navigation.jumpto: true
            groups:
            - admin
    groups:
        default:
            permissions:
                permissions.build: true
                backtobody.btb: true
        admin:
            permissions:
                permissions.*: true
            inheritance:
            - user
        user:
            permissions:
                permissions.build: true
            worlds:
                creative:
                    coolplugin.item: true
            inheritance:
            - default
    messages:
        build: '&cYou do not have permission to build here.'
     
  5. Offline

    tassox33

    Messed around with it a bit seems to work ( : I like the new forma. I was hoping TimeRank mod would work with it.
    Any chance we will get an autorank with permissions? (based on time)
     
  6. Offline

    Teacup

    Sorry if these have already been asked.
    Will the converter for Permissions 3.x be out today/tomorrow, or should I just start converting manually?
    Edit: I will just convert manually since I have already started it.

    Edit: Through thorough testing I found that if the user is an OP and the node is not listed, it will default to true. If the user is not an OP then it will default to false.
    I did not test how this works with groups yet, I will respond with my results if no one else has when I get around to it.
    I think it would be better to make all nodes not specified to be true default to false no matter if the user is an OP or not.

    What I'm wanting to do is give a group/user a wildcard permission for a plugin but then exclude certain nodes without having to enter in all the ones that I want to be true.
    Edit: I have tested this one as well and determined that you can list a wildcard as true, and then list any nodes included in that wildcard that you don't want included in the true and then specify them as false.
    (I assume with the root permissions.yml you could create a parent node including all of the nodes you want false for everyone and then use the parent node to save space everywhere you want to disable the included nodes. I have not tested so don't take my word for this.)

    If I install SuperpermsBridge do I have to have Permissions 3.x installed too or will the bridge take the place of the old plugin?
     
  7. Offline

    Duulicious

    This is my config.yml file. For some reason the permissions aren't inheriting correctly. Additionally some plugins are having a problem finding permissions. Any suggestions?

    Code:
    users:
        asdfasdf:
            groups:
            - owner
    groups:
        owner:
            permissions:
                permissions.build: true
                permissions.*: true
                commandbook.*: true
                lwc.*: true
                wormhole.*: true
                HomeSpawnPlus.*: true
                mchat.*: true
                mchat.prefix.admin: false
                mchat.prefix.owner: true
            inheritance:
            - admin
        admin:
            permissions:
                permissions.build: true
                commandbook.kick: true
                commandbook.bans.unban: true
                commandbook.thor: true
                commandbook.thor.other: true
                commandbook.shock: true
                commandbook.shock.other: true
                commandbook.barrage: true
                commandbook.barrage.other: true
                commandbook.rocket: true
                commandbook.rocket.other: true
                commandbook.slap: true
                commandbook.slap.other: true
                commandbook.weather.thunder: true
                commandbook.weather: true
                lwc.admin: true
                mchat.prefix.mod: false
                mchat.prefix.adm in: true
            inheritance:
            - mod
        mod:
            permissions:
                permissions.build: true
                commandbook.bans.ban: true
                commandbook.broadcast: true
                commandbook.kick: true
                commandbook.mute: true
                commandbook.whois: true
                commandbook.whois.other: true
                commandbook.clear.other: true
                lwc.mod: true
                HomeSpawnPlus.command.home.delete.other: true
                HomeSpawnPlus.command.home.other: true
                mchat.prefix.vip: false
                mchat.prefix.mod: true
                nocheat.*: false
            inheritance:
            - vip
            worlds:
                creative:
                    nocheat.*: true
                classic:
                    nocheat.*: true
        vip:
            permissions:
                permissions.build: true
                mchat.prefix.donator: false
                mchat.prefix.vip: true
                nocheat.*: true
            inheritance:
            - donator
        donator:
            permissions:
                commandbook.midi: true
                commandbook.return: true
                commandbook.teleport: true
                commandbook.teleport.other: true
                commandbook.warp.teleport: true
                permissions.build: true
                wormhole.build: true
                wormhole.remove.own: true
                wormhole.use.dialer: true
                mchat.prefix.default: false
                mchat.prefix.donator: true
            worlds:
                creative:
                    worldedit.navigation.unstuck: true
                classic:
                    worldedit.navigation.unstuck: true
            inheritance:
            - default
        default:
            permissions:
                commandbook.msg: true
                commandbook.clear: true
                commandbook.whereami: true
                commandbook.whereami.compass: true
                commandbook.who: true
                commandbook.say.me: true
                commandbook.motd: true
                commandbook.rules: true
                lwc.protect: true
                residence.create: true
                HomeSpawnPlus.command.home.use: true
                HomeSpawnPlus.command.sethome.use: true
                HomeSpawnPlus.command.spawn.use: true
                mchat.prefix.default: true
                permissions.build: true
                wormhole.use.sign: true
            worlds:
                creative:
                    commandbook.give: true
                classic:
                    commandbook.give: true
    messages:
        build: '&cYou do not have permission to build here.'
    
     
  8. Offline

    FlyingPython

    I'm having trouble setting up multi-world permissions. I believe they are set up properly, however, when a player changes worlds, the permissions do not update with the player. They will only update to the new world when a /perm reload command is issued. Once reloaded, the permissions operate as expected until the player changes worlds again.

    config.yml:
    Code:
    users:
        FlyingPython:
            permissions: []
            groups:
            - owner
        Samsonyte1:
            permissions: []
            groups:
            - builder
        birthconl69:
            permissions: []
            groups:
            - builder
        B1GGN:
            permissions: []
            groups:
            - builder
        mediocreHalibut:
            permissions: []
            groups:
            - builder
        yellabela:
            permissions: []
            groups:
            - builder
        Testy:
            permissions:
                permissions.*: true
            groups:
            - builder
        chocolatemonster:
            permissions: []
            groups:
            - builder
    groups:
        default:
            permissions:
                commandbook.who: true
                commandbook.motd: true
                commandbook.rules: true
                commandbook.say: true
                commandbook.say.me: true
                commandbook.msg: true
                commandbook.ping: true
                commandbook.clock: true
                commandbook.intro: true
        builder:
            permissions:
                permissions.build: true
                commandbook.whereami: true
                commandbook.whereami.compass: true
                commandbook.kit.list: true
                commandbook.time.check: true
                commandbook.whois: true
                commandbook.time: true
                commandbook.weather: true
                iConomy.access: true
                superpermbridge.iConomy.bank.*: true
                superpermbridge.iConomy.bank.main.*: true
                iConomy.list: true
                iConomy.payment: true
                iConomy.rank: true
                jail.jailstatus: true
                jail.jailpay: true
                mcmmo.skills.mining: true
                mcmmo.skills.woodcutting: true
                mcmmo.skills.repair: true
                mcmmo.skills.unarmed: true
                mcmmo.skills.archery: true
                mcmmo.skills.herbalism: true
                mcmmo.skills.excavation: true
                mcmmo.skills.swords: true
                mcmmo.skills.acrobatics: true
                mcmmo.skills.axe: true
                mcmmo.skills.taming: true
                mcmmo.commands.party: true
                mcmmo.commands.ability: true
                mcmmo.ability.woodcutting: true
                mcmmo.ability.mining: true
                mcmmo.ability.axes: true
                mcmmo.ability.excavation: true
                mcmmo.ability.swords: true
                mcmmo.ability.unarmed: true
                tombstone.use: true
                tombstone.large: true
                tombstone.sign: true
                tombstone.quickloot: true
                tombstone.freechest: true
                tombstone.freesign: true
                tombstone.cmd.tomblist: true
                tombstone.cmd.tombfind: true
                commandSigns.use: true
                commandSigns.create: true
                myhome.home.basic.home: true
                myhome.home.basic.set: true
                myhome.home.basic.delete: true
                myhome.home.soc.others: true
                myhome.home.soc.list: true
                myhome.home.soc.invite: true
                myhome.home.soc.uninvite: true
                myhome.home.soc.public: true
                myhome.home.soc.private: true
            worlds:
                creative:
                    commandbook.teleport: true
                    magiccarpet.mc: true
                    magiccarpet.ml: true
                    mywarp.warp.basic.createpublic: true
                    mywarp.warp.basic.delete: true
                    mywarp.warp.basic.list: true
                    mywarp.warp.basic.search: true
                    mywarp.warp.basic.warp: true
                    mywarp.warp.basic.welcome: true
                    mywarp.warp.soc.give: true
                    odd.give.give: true
                    odd.give.i: true
                    odd.give.io: true
                hub:
                    permissions.build: false
            inheritance:
            - guest
        moderator:
            permissions:
                commandbook.spawn: true
                commandbook.clear: true
                commandbook.clear.other: true
                commandbook.give: true
                commandbook.give.other: true
                commandbook.give.stacks: true
                commandbook.more: true
                commandbook.teleport: true
                commandbook.teleport.other: true
                commandbook.return: true
                commandbook.call: true
                commandbook.mute: true
                commandbook.kick: true
                superpermbridge.commandbook.bans.*: true
                commandbook.slap: true
                commandbook.rocket: true
                commandbook.barrage: true
                commandbook.shock: true
                commandbook.broadcast: true
                commandbook.whois.other: true
                jail.command.jail: true
                jail.command.unjail: true
                jail.command.jailtransfer: true
                jail.command.jailtransferall: true
                jail.command.check: true
                jail.command.telein: true
                jail.command.teleout: true
                jail.command.jaillist: true
                jail.command.jailclear: true
                jail.command.jailmute: true
                superpermbridge.iConomy.admin.*: true
                superpermbridge.tombstone.cmd.*: true
                lwc.mod: true
                superpermbridge.myhome.*: true
                superpermbridge.mywarp.*: true
            inheritance:
            - builder
        admin:
            permissions:
                superpermbridge.commandbook.*: true
                superpermbridge.worldedit.*: true
                superpermbridge.worldguard.*: true
                superpermbridge.heroicdeath.*: true
                superpermbridge.iConomy.*: true
                superpermbridge.jail.*: true
                superpermbridge.mcmmo.*: true
                superpermbridge.tombstone.*: true
                superpermbridge.lwc.*: true
                superpermbridge.commandSigns.*: true
                superpermbridge.antihack.*: true
                superpermbridge.IBICF.*: true
                superpermbridge.OpenInv.*: true
            inheritance:
            - moderator
        owner:
            permissions:
                superpermbridge.*: true
            inheritance:
            - admin
    messages:
        build: '&cYou do not have permission to build here.'
    
     
  9. Offline

    krinsdeath

    For permissions where you use a wildcard (*), try adding the prefix 'superpermbridge.' to the front.

    I caught a snippet of a conversation regarding this on IRC. I believe SpaceManiac is currently working on a fix, but it may be done and just waiting for his next release.
     
  10. Offline

    Duulicious

    I'll try this. But i'm not using the SuperPerm bridge... i upgraded to RB1000 PermissionsBukkit. But also my inheritance isn't working and also plugins advertising comparability with RB1000 can't find the PermissionsBukkit... any suggestions to fix this?
     
  11. Offline

    Celtic Minstrel

    I suppose the answer will probably be "no", but what about the other "info" nodes such as xWarp's various limits?
     
  12. Offline

    Teacup

    My nodes aren't inheriting properly. I have the admin group assigned a wildcard and a bunch of nodes disabled from it and I assigned my user the same wildcard, but with only 2 nodes disabled from it. Instead of overriding the admin nodes, it acts as if I only have the permissions an admin does. I can just not give myself a group and it will work, but I wanted to point this out because it seems like a bug.

    Code:
    users:
    
        Cpt_Teacup:
    
            permissions:
    
                permissions.*: true
    
                admincmd.*: true
                admincmd.player.vulcan: false
                admincmd.player.vulcan.other: false
            groups:
    
            - admin
    
    groups:
    
        admin:
    
            permissions:
    
                permissions.*: true
    
                admincmd.*: true
    
                admincmd.item.blacklist: false
                admincmd.item.alias: false
                admincmd.player.god: false
                admincmd.player.god.other: false
                admincmd.player.vulcan: false
                admincmd.player.vulcan.other: false
                admincmd.weather.strike: false
                admincmd.weather.strike.other: false
                admincmd.weather.thor: false
                admincmd.weather.thor.other: false
                admincmd.mob.spawn: false
            inheritance:
    
            - member
     
  13. Offline

    AskCharlie

    I am having an issue where everyone who comes on my server is coming on as moderator, then once they speak it says they are admin and they have full commands... It's not going to default like it says it will if they don't have a group.

    here is my config.yml for groups so you can see if i did anything wrong.
    http://pastebin.com/9LjCSCNS

    I don't have anything set up in permissions.yml in the main directly, maybe this is my problem?
     
  14. Offline

    flaaghara

    If you don't have anything set up in your permissions.yml, then where is this code because it's wrong?
     
  15. Offline

    AskCharlie

    it is located in the /PermissionsBukkit/config.yml it works perfectly for the users I have set into groups, but it wont set people to default that are new. Sometimes it gives them admin, sometimes mod. 4 people just joined earlier and got user status even though i want to manually hand that over. I was under the impression permissions.yml in the main directory was for making parent/child usable commands to place within the config.yml.
     
  16. Offline

    4am

    I'm hitting an issue when running HeroChat 4.10.3 -
    PLAYER_JOIN event callback is throwing an exception when trying to call com.nijiko.permissions.PermissionHandler.getPrimaryGroup() - is this something that can be implemented in SuperpermBridge?

    Error Log (open)
    00:49:29 [SEVERE] Could not pass event PLAYER_JOIN to HeroChat
    java.lang.NoSuchMethodError: com.nijiko.permissions.PermissionHandler.getPrimaryGroup(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    at com.herocraftonline.dthielke.herochat.util.PermissionManager.getGroup(PermissionManager.java:29)
    at com.herocraftonline.dthielke.herochat.util.ConfigManager.loadPlayer(ConfigManager.java:167)
    at com.herocraftonline.dthielke.herochat.HeroChatPlayerListener.onPlayerJoin(HeroChatPlayerListener.java:84)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:244)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
    at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:124)
    at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:97)
    at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:33)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:91)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  17. Offline

    ValBGaming

    Thanks! I changed the permissions I created so that they didn't use the plugin name -- And it worked! :D
     
  18. Offline

    Noctis Akatsuki

    Still have not found a answer to this, also I know the mods work perfectly, as when OP it all works! Ofcourse running CB1000
     
  19. Offline

    pontuzz

    Heres my entire config:

    Code:
    users:
        Pontuzz:
            permissions:
                permissions.example: true
            groups:
            - deafult
            - admin
            - owner
        n2505:
            groups:
            - default
            - admin
        trigg4h4ppy:
            groups:
            - default
            - moderator
    groups:
        default:
            permissions:
                permissions.build: false
                admincmd.player.kill: true
        member:
            permissions:
                XcraftGate.gate: true
                XcraftGate.gate.create: true
                XcraftGate.gate.link: true
                XcraftGate.gate.unlink: true
                XcraftGate.gate.info: true
                XcraftGate.gate.warp: true
                permissions.build: true
                permissions.help: true
                permissions.group.list: true
                permissions.group.players: true
                admincmd.player.list: true
                admincmd.player.loc: true
                admincmd.player.clear: true
                admincmd.player.msg: true
                myhome.home.basic.home: true
                myhome.home.basic.set: true
                myhome.home.basic.delete: true
                myhome.home.soc.others: true
                myhome.home.soc.list: true
                myhome.home.soc.invite: true
                myhome.home.soc.uninvite: true
                myhome.home.soc.public: true
                myhome.home.soc.private: true
                jail.usercmd.jailstatus: true
                jail.usercmd.jailpay: true
                lockette.user.create.*: true
            inheritance:
            - deafult
        vip:
            permissions:
                admincmd.player.loc.other: true
            inheritance:
            - member
        moderator:
            permissions:
                permissions.build: true
                XcraftGate.world.weather: true
                XcraftGate.world.time: true
                XcraftGate.world.info: true
                worldedit.extinguish: true
                worldedit.navigation.unstuck: true
                spyer.stopmobs.admin: true
                spyer.spy: true
                nospawn.spawn: true
                nospawn.despawn: true
                jail.openchest: true
                jail.command.jailmute: true
                jail.command.jailcheck: true
                jail.command.jailtelein: true
                jail.command.jailteleout: true
                jail.command.jaillist: true
                jail.command.jaillistcells: true
                jail.command.jail: true
                jail.command.unjail: true
                permissions.reload: true
                permissions.check: true
                permissions.info: true
                permissions.dump: true
                permissions.group.help: true
                permissions.player.help: true
                permissions.player.groups: true
                permissions.player.addgroup: true
                admincmd.player.heal: true
                admincmd.player.heal.other: true
                admincmd.kill.other: true
                admincmd.player.clear: true
                admincmd.player.god: true
                admincmd.player.kick: true
                admincmd.item.add: true
                admincmd.item.add.other: true
                admincmd.item.more: true
                admincmd.item.repair: true
                admincmd.item.repair.other: true
                admincmd.item.color: true
                admincmd.item.alias: true
                admincmd.tp.*: true
                admincmd.weather.*: true
                admincmd.weather.thor: false
                admincmd.weather.thor.other: false
                dynmap.render: true
                dynmap.show.self: true
                dynmap.show.others: true
                dynmap.reload: true
                dynmap.stats: true
                lockette.admin.break: true
                lockette.admin.create.*: true
                lockette.admin.snoop: true
                announcer.add: true
                announcer.broadcast: true
                announcer.delete: true
                announcer.moderate: true
            worlds:
                creative:
                    coolplugin.item: true
            inheritance:
            - vip
        admin:
            permissions:
                bb.admin.watch: true
                bb.admin.info: true
                bb.admin.rollback: true
                permissions.*: true
                XcraftGate.world.warp: true
                XcraftGate.world.pvp: true
                admincmd.player.god.other: true
                admincmd.player.vulcan: true
                admincmd.player.vulcan.other: true
                admincmd.item.*: true
                admincmd.item.noblacklist: true
                dynmap.hide.self: true
                jail.command.jailcreate: true
                jail.command.jailcreatecells: true
                jail.command.jaildelete: true
                jail.command.jaildeletecells: true
                jail.command.jailtransfer: true
                jail.command.jailtransferall: true
                jail.command.jailclear: true
                jail.command.jailclearforce: true
                jail.modifyjail: true
                lockette.admin.break: true
                lockette.admin.bypass: true
                nospawn.allowspawn: true
                nospawn.denyspawn: true
                announcer.admin: true
                spyer.seeAll: true
                worldedit.brush.sphere: true
                worldedit.brush.cylinder: true
                worldedit.brush:clipboard: true
                worldedit.brush.smooth: true
                worldedit.brush.ex: true
                worldedit.chunkinfo: true
                worldedit.listchunks: true
                worldedit.delchunks: true
                worldedit.clipboard.copy: true
                worldedit.clipboard.cut: true
                worldedit.clipboard.paste: true
                worldedit.clipboard.rotate: true
                worldedit.clipboard.flip: true
                worldedit.clipboard.load: true
                worldedit.clipboard.save: true
                wordledit.clipboard.clear: true
                worldedit.limit: true
                worldedit.generation.cylinder: true
                worldedit.generation.sphere: true
                worldedit.generation.forest: true
                worldedit.generation.pumpkins: true
                worldedit.history.undo: true
                worldedit.history.redo: true
                worldedit.history.clear: true
                worldedit.navigation.*: true
                worldedit.region.*: true
                worldedit.regen: true
                worldedit.scripting.execute: true
                worldedit.selection.pos: true
                worldedit.selection.hpos: true
                worldedit.selection.chunk: true
                worldedit.wand: true
                worldedit.wand.toggle: true
                worldedit.selection.*: true
                worldedit.analysis.count: true
                worldedit.analysis.distr: true
                worldedit.snapshots.list: true
                worldedit.snapshots.restore: true
                worldedit.superpickaxe: false
                worldedit.superpickaxe.area: false
                worldedit.superpickaxe.recusive: false
                worldedit.tool.*: true
                worldedit.brush.options.mask: true
                worldedit.brush.options.material: true
                worldedit.brush.options.size: true
                worldedit.fill: false
                worldedit.fill.recusrive: false
                worldedit.drain: true
                worldedit.fixlava: true
                worldedit.fixwater: true
                worldedit.removeabove: true
                worldedit.removebelow: true
                worldedit.removenear: true
                worldedit.replacenear: true
                worldedit.snow: true
                worldedit.thaw: true
                worldedit.butcher: true
                worldedit.remove: true
                worldedit.reload: true
                permissions.build: true
            inheritance:
            - moderator
        owner:
            permissions:
                dynmap.fullrender: true
                dynmap.hide.others: true
                dynmap.resetstats: true
                nospawn.setmoblimit: true
                nospawn.settotalmoblimit: true
                nospawn.settimer: true
                worldedit.superpickaxe: true
                worldedit.superpickaxe.area: true
                worldedit.superpickaxe.recusive: true
                worldedit.fill: true
                worldedit.fill.recursive: true
                XcraftGate.world: true
                XcraftGate.world.create: true
                XcraftGate.world.delete: true
                XcraftGate.world.setborder: true
            inheritance:
            - admin
    messages:
        build: '&cYou do not have permission to build here.'
    
    But still somehow permissions do not inherit and commands are unavailable and even i can't build (i can build when i op myself throu console thou) >.< prehaps i need to edit some other file aswell?
     
  20. Offline

    obscurehero

    Why is super perms even necessary? Is it faster? Cleaner? I've seen no real reason why this was developed. It's nice to have a standardized feature, but it really seems like this system mimics permissions in most ways. This is frustrating, because it seems like I'll need to do a bit of work to convert for no benefit whatsoever.

    Can someone explain what I'm missing here?
     
  21. Offline

    cowsgomoo192

    Hi im having this problem with my server, any help at all would be very much appreciated[​IMG]
     
  22. Offline

    Celtic Minstrel

    The plugin was developed as a group system built on Bukkit's new permissions. You are certainly not required to switch if you prefer some other permissions system, since most of them will eventually be updated to also build on Bukkit's new permissions.

    As for Bukkit's new permissions themselves, they're better for plugin developers because we no longer have to worry about what permissions system a server administrator wants. They're also better for server administrators because you can define your own shortcut permissions, and for those who don't want a group system and would prefer just relying on isOp(), you can actually control which permissions go to ops, which permissions go to regulars, and which permissions go to no-one.

    That's not to say the system is entirely without flaws; however, it would be more accurate to say Permissions (imperfectly) mimics it than that it mimics Permissions.
     
  23. Offline

    4am

    Permissions creates a dependency on a plugin; Superperms is built into Bukkit, so it is avalible to all plugins at all times, whether you use something like PermissionsBukkit or not. Also, it allows a standard interface for plugins to modify permissions on their own (imagine WorldGuard adds and removes permission nodes when players enter/leave certain regions? awesome).

    Users can choose whatever permissions plugin they like and it will be complatible with all Bukkit plugins, automatically. Plugin authors don't need to worry about a permissions plugin changing devs (Permissions) or losing support entirely (GroupManager), the API is built into Bukkit and if they build against that they'll always be compatible with everything.
     
  24. Offline

    obscurehero

    @Celtic Minstrel ; @4am

    Thanks for the thoughtful replies. I figured that the utility lay somewhere in the "standardization" of a permissions type system. I remember four weeks ago when I dove head-first into minecraft and bukkit world, I was a bit confused as to why bukkit didn't include permissions support.

    I will admit that I'm not entirely sure how this would work, but the general concept of a standardized API that permissions plugin developers can implement uniquely is much easier to understand. It also creates less work and frustration for plugin developers to be sure.

    This, I don't quite understand. As implemented, I think it would be right to say this, but as far as I understand it TheYeti's system predates any kind of bukkit implementation. Regardless, I think I get what you're trying to say.

    Overall, I get that this will be a benefit in the LONG RUN. I will say as a moderately skilled server operator the constant flux in the bukkit community is refreshing but also incredibly exhausting. I feel like every 7 days a new bukkit RB comes out, every 14 days a new plugin version comes out, and every 2 months or so Notch throws out an unfinished MC update that throws the whole thing into a tizzy again. I DO appreciate this new SuperPerms, I just realize that it further complicates things.

    However, in the end this is an alpha project to a beta game (although does a true beta really release new features this often?) and most of the work is provided pro bono. Thanks for the answers.

    Final Question:

    For those of us server operators with less time on our hands, should I make the effort to switch over to permissionsbukkit or should I just wait it out and wait for the permissions team to provide a seamless transition to a superperms implemented permissions?
     
  25. Offline

    4am

    At this point, PermissionsBukkit is planning a file converter tool for Permissions 3. AFAIK, "Permissions 4" will support superperms while allowing you to configure your permissions the way you do now (as in, how you're used to with Permissions 3). There are already conversion tools for other permissions plugins, such as GroupManager.

    This system is very new to everyone, so we're all moving a bit slowly to make sure we've re-coded everything properly. It's a big step, for certain.

    Permissions 3 is currently maintained by rcjccjcr, based on work by TheYeti, based on the original plugin by Nijikokun, which is losely based on sk89q's original proposal for Bukkit's built-in permission system. Basically,since the Bukkit team has been dealing with more important issues (like keeping up-to-date with Minecraft and fixing many of Notch's major bugs so we can actually RUN our servers) that the community took Permissions into its own hands - at this point though it was time to get us all on the same interface. In the long run, this will be a major improvement.
     
  26. Offline

    obscurehero

    agreed.

    Well, at least for me, I appreciate yours and other plugin developers hard work. Especially that you're taking your time. I know this is a bit new to all of you as well.
     
  27. Offline

    Lord_Crusher

    Is there an eta on a conversion from permissions 3.x to permissionsbukkit yet?
     
  28. Offline

    Paah

    1.1/1.2 combo still has the PLAYER_QUIT problem with BukkitContrib 0.1.7
    It doesn't happen anymore when they disconnect, but on server quit (forced disconnects).
    This is problem because when I try to stop the server with McMyAdmin, it detects a server crash and automatically restarts the server.
     
  29. Offline

    Celtic Minstrel

    4am already mentioned this, but basically, the design for Bukkit permissions has been around for quite awhile, and Niji based his permissions plugin on discussion of that design. I think the design has changed a lot since then, though.
     
  30. Offline

    Raul

    How I can give to "owner" gropu, acces to all commands?...I need to write all comands permissions ?
     
  31. Offline

    Celtic Minstrel

    You'll probably need one permission for each plugin you use that has permissions you want to give. Exactly what that permission is depends on the plugin, but "pluginname.*" will likely be a common choice. If you're using SuperpermsBridge and the plugin doesn't support superperms yet, you should use "superperms.pluginname" instead of "pluginname.*".

    So, you don't need to list every permission, but you do need to list at least one permission for every plugin.
     

Share This Page