[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. hey, i keep get this:
    Permission node 'groups' in server config is invalid java.lang.IllegalArgumentException: 'default' key contained unknown value at org.bukkit.permissions.Permission.loadPermission(Permission.java:121) at org.bukkit.craftbukkit.CraftServer.loadCustomPermissions(CraftServer.java:418) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:152) at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:284) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:271) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335) at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)

    and not sure what to do about it.
     
  3. Offline

    Lord_Crusher

    @Celtic Minstrel - Is the permissions 3.x converter ever going to be released? I want to switch to permissionsbukkit seeing as 3.x is no longer being updated but I really don't have the time to change the permission settings.
     
  4. Offline

    moselekm

    I doubt this is possible. But I have Admin, Mod, User, and Probate. I'd like to give mods the ability to promote just probate to user. (As to not allow them to abuse promoting friends to mod or even themselves to Admin).

    Is this at all possible to control through permissions config.yml?
     
  5. Offline

    Celtic Minstrel

    It's in a transitional stage, so compatibility with plugins will be a bit off at first. But you're not required to use it; there are other plugins to choose from as well.

    Ask @SpaceManiac about that; it's on his site after all. Also, if your permissions 3.x is not monolithic (like the 6 or 8 file one I had), someone may be willing to do the conversion for you if you post your config. Or you could try one of the other new permissions plugins that are popping up; in particular, I think PermissionsEx's configs are almost the same as Permissions 3.x so it might make transitioning easier.

    It does not provide this feature at this time. I suspect it never will, but I dunno.
     
  6. Offline

    moselekm

    Ah alright, that's what I suspected.

    I also meant to ask, how do you set the default (starting) group/rank?
     
  7. Offline

    BBFPaco

    Ok, I even tried what you suggested, but not adding ANYTHING yet. No plugins use the * which is auto added, and I tried using the formats listed in the 1st post: "SuperpermsBridge: adding the special 'superpermbridge.*' and 'superpermbridge.pluginname' nodes (see #2 in the FAQ for details)."

    As someone else stated, this plugin is useless, at least for many mods...including every single mod we use. Can't get a damn thing to work and no, I'm not a noob. Sure, maybe I'm missing something simple, but based on what I've read, everything should be working now.

    I'm going to manually check the file and post it here. Maybe MCMyAdmin is screwing stuff up:

    config.yml

    Code:
    users:
        BBF_Itchy:
            groups:
            - Administrators
        bbf_paco:
            groups:
            - Administrators
    groups:
        default:
            permissions:
                mchat.prefix.Everyone: true
                mchat.suffix.Everyone: true
                permissions.build: true
        Regulars:
            permissions:
                mchat.prefix.Regulars: true
                mchat.suffix.Regulars: true
                mchat.prefix.default: false
                mchat.suffix.default: false
                permissions.build: true
            inheritance:
            - default
        Moderators:
            permissions:
                mchat.prefix.Moderators: true
                mchat.suffix.Moderators: true
                mchat.prefix.Regulars: false
                mchat.suffix.Regulars: false
            inheritance:
            - Regulars
        Administrators:
            permissions:
                superpermbridge.towny: true
                superpermbridge.*: true
                mchat.prefix.Administrators: true
                mchat.suffix.Administrators: true
                mchat.prefix.Moderators: false
                mchat.suffix.Moderators: false
            inheritance:
            - Moderators
    
    
    What noob thing am I dong wrong here?
     
  8. Offline

    Zaonhort

    I keep getting this error:

    2011-08-14 01:18:52 [SEVERE] Could not pass event PLAYER_JOIN to PermissionsBukkit
    java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
    at com.platymuus.bukkit.permissions.PermissionsPlugin.getNode(PermissionsPlugin.java:211)
    at com.platymuus.bukkit.permissions.PermissionsPlugin.getNode(PermissionsPlugin.java:181)
    at com.platymuus.bukkit.permissions.PermissionsPlugin.calculatePlayerPermissions(PermissionsPlugin.java:245)
    at com.platymuus.bukkit.permissions.PermissionsPlugin.calculateAttachment(PermissionsPlugin.java:233)
    at com.platymuus.bukkit.permissions.PermissionsPlugin.setLastWorld(PermissionsPlugin.java:164)
    at com.platymuus.bukkit.permissions.PermissionsPlugin.registerPlayer(PermissionsPlugin.java:142)
    at com.platymuus.bukkit.permissions.PlayerListener.onPlayerJoin(PlayerListener.java:20)
    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)

    I'm not exactly sure why I've tried many things. I run simpleprefix for the prefix's and suffix's Heres the permissions file:

    Code:
    groups:
      default:
        permissions:
          essentials.afk: true
          essentials.clearinventory: true
          essentials.depth: true
          essentials.getpos: true
          essentials.help: true
          essentials.kit: true
          essentials.kit.starter: true
          essentials.kit.tools: true
          essentials.kit.torch: true
          essentials.list: true
          essentials.mail: true
          essentials.mail.send: true
          essentials.me: true
          essentials.msg: true
          essentials.ping: true
          essentials.portal: true
          essentials.rules: true
          essentials.signs.disposal.use: true
          essentials.signs.free.use: true
          essentials.signs.heal.use: true
          essentials.signs.mail.use: true
          essentials.signs.protection.use: true
          essentials.spawn: true
          essentials.suicide: true
          essentials.whois: true
          lwc.protect: true
          mcdocs.*: true
          midibanks.can-use: true
          multihome.home: true
          multiverse.world.spawn: true
          PaintingSwitch.use: true
          vanish.nopickup: true
          worldedit.navigation.unstuck: true
          permissions.build: true
          simpleprefix.guest: true
      Builder:
        permissions:
          dynamicmarket.access: true
          dynamicmarket.buy: true
          dynamicmarket.sell: true
          essentials.balance: true
          essentials.balance.*: true
          essentials.balancetop: true
          essentials.pay: true
          essentials.tpa: true
          essentials.tpaccept: true
          essentials.tpdeny: true
          essentials.tptoggle: true
          essentials.world: true
          essentials.worth: true
          mcbans.vote: true
          multiverse.list: true
          multiverse.portal.list: true
          multiverse.tp: true
          mywarp.warp.basic.list: true
          mywarp.warp.basic.warp: true
          mywarp.warp.sign.warp: true
          permissions.build: true
          simpleprefix.builder: true
        worlds:
          Creative:
            dynamicmarket.access: false
            dynamicmarket.buy: false
            dynamicmarket.sell: false
            essentials.item: true
        inheritance:
          - default
      Designer:
        permissions:
          cabinet.abovechest: true
          cabinet.adjchest: true
          cabinet.covered: true
          essentials.back: true
          essentials.back.ondeath: true
          essentials.nick: true
          essentials.tpahere: true
          essentials.tppos: true
          falsebook.blocks.bridge: true
          falsebook.blocks.cauldron.use: true
          falsebook.blocks.door: true
          falsebook.blocks.gate: true
          falsebook.blocks.lift: true
          falsebook.blocks.readbooks: true
          falsebook.ic.standard: true
          falsebook.ic.detection: true
          falsebook.ic.selftriggered: true
          mcbans.vote.kick: true
          mywarp.warp.basic.createprivate: true
          worldguard.stack: true
          permissions.build: true
          simpleprefix.designer: true
        inheritance:
          - Builder
      Vip:
        permissions:
          essentials.god: true
          essentials.kit.vip: true
          essentials.signs.disposal.create: true
          magiccarpet.mc: true
          magiccarpet.ml: true
          midibanks.can-create: true
          mywarp.warp.*: true
          simple.hat: true
          superpickaxe.use: true
          worldedit.navigation.jumpto: true
          worldedit.navigation.thru: true
          permissions.build: true
          simpleprefix.vip: true
        worlds:
          Survival:
            magiccarpet.mc: false
            magiccarpet.ml: false
            worldedit.navigation.jumpto: false
            worldedit.navigation.thru: false
            essentials.god: false
        inheritance:
          - Designer
      Architect:
        permissions:
          worldedit.navigation.ascend: true
          worldedit.navigation.descend: true
          worldedit.navigation.up: true
          worldedit.selection.pos: true
          worldedit.tool.tree: true
          worldedit.wand: true
          worldguard.heal: true
          worldguard.heal.other: true
          worldguard.region: true
          worldguard.region.addmember: true
          worldguard.region.addowner: true
          worldguard.region.claim: true
          worldguard.region.define: true
          worldguard.region.info: true
          worldguard.region.info.own: true
          worldguard.region.list: true
          worldguard.region.redefine.own: true
          worldguard.region.remove: true
          worldguard.region.removemember: true
          worldguard.region.removeowner: true
          worldguard.region.setparent: true
          permissions.build: true
          simpleprefix.architect: true
        worlds:
          Survival:
            worldedit.wand: false
            worldguard.heal: false
            worldguard.heal.other: false
            worldguard.region: false
            worldguard.region.addmember: false
            worldguard.region.addowner: false
            worldguard.region.claim: false
            worldguard.region.define: false
            worldguard.region.info: false
            worldguard.region.info.own: false
            worldguard.region.list: false
            worldguard.region.redefine.own: false
            worldguard.region.remove: false
            worldguard.region.removemember: false
            worldguard.region.removeowner: false
            worldguard.region.setparent: false
        inheritance:
          - Vip
      Temp-Mod:
        permissions:
          bb.admin.watch: true
          bb.admin.info: true
          bb.admin.rollback: true
          falsebook.anyic: true
          falsebook.blocks.*: true
          lwc.mod: true
          worldedit.*: true
          worldguard.*: true
          mcbans.kick: true
          mcbans.lookup: true
          mcbans.ban.temp: true
          mcbans.ban.local: true
          mcbans.ban.view: true
          mcbans.mute.player: true
          mcbans.mod: true
          multihome.admin: true
          mywarp.admin: true
          vanish.*: true
          timeshift.shift: true
          timeshift.cancel: true
          timeshift.startup: true
          permissions.build: true
          simpleprefix.temp-mod: true
        inheritance:
          - Architect
      Mod:
        permissions:
          mcbans.ban.global: true
          mcbans.vote.msg: true
          mcbans.reload: true
          essentials.*: true
          permissions.*: true
          permissions.build: true
          simpleprefix.mod: true
        inheritance:
          - Temp-Mod
      Admin:
        permissions:
          dynamicmarket.items.add: true
          dynamicmarket.items.update: true
          dynamicmarket.items.remove: true
          dynamicmarket.admin.reload: true
          dynamicmarket.admin.reset: true
          dynamicmarket.admin.db: true
          mcbans.admin: true
          mcbans.mute.all: true
          lwc.admin: true
          permissions.build: true
          simpleprefix.admin: true
        inheritance:
          - Mod
      Ordinator:
        permissions:
          permissions.build: true
          simpleprefix.ordinator: true
        inheritance:
          - Admin
      Owner:
        permissions:
          permissions.build: true
          simpleprefix.owner: true
        inheritance:
          - Ordinator
    users:
      FreeCopyPaper:
        groups:
          - Builder
      brennanx1:
        groups:
          - Builder
    I just put in 2 users as they all follow the same suit and because I have so many in the file.
     
  9. Offline

    justproud2b

    I am getting the same error but on different events
    Code:
    2011-08-14 06:31:38 [SEVERE] Could not pass event PLAYER_QUIT to PermissionsBukkit
    java.lang.IllegalArgumentException: Attachment cannot be null
        at org.bukkit.permissions.PermissibleBase.removeAttachment(PermissibleBase.java:134)
        at org.getspout.spout.player.SpoutCraftPlayer.removeAttachment(SpoutCraftPlayer.java:142)
        at com.platymuus.bukkit.permissions.PermissionsPlugin.unregisterPlayer(PermissionsPlugin.java:137)
        at com.platymuus.bukkit.permissions.PlayerListener.onPlayerQuit(PlayerListener.java:24)
        at org.bukkit.plugin.java.JavaPluginLoader$2.execute(JavaPluginLoader.java:251)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
        at net.minecraft.server.ServerConfigurationManager.disconnect(ServerConfigurationManager.java:146)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:608)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:231)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:85)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        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)
    
    and
    Code:
    2011-08-14 06:16:06 [SEVERE] Could not pass event PLAYER_KICK to PermissionsBukkit
    java.lang.IllegalArgumentException: Attachment cannot be null
        at org.bukkit.permissions.PermissibleBase.removeAttachment(PermissibleBase.java:134)
        at org.getspout.spout.player.SpoutCraftPlayer.removeAttachment(SpoutCraftPlayer.java:142)
        at com.platymuus.bukkit.permissions.PermissionsPlugin.unregisterPlayer(PermissionsPlugin.java:137)
        at com.platymuus.bukkit.permissions.PlayerListener.onPlayerKick(PlayerListener.java:29)
        at org.bukkit.plugin.java.JavaPluginLoader$4.execute(JavaPluginLoader.java:265)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
        at net.minecraft.server.NetServerHandler.disconnect(NetServerHandler.java:96)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:354)
        at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:491)
        at net.minecraft.server.Packet10Flying.a(SourceFile:126)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:85)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        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)
    
    *edit* also got this one -- hope it helps
    Code:
    06:44:47 [SEVERE] Could not pass event PLAYER_QUIT to PermissionsBukkit
    java.lang.IllegalArgumentException: Given attachment is not part of Permissible object org.bukkit.permissions.PermissibleBase@3ba99c51
            at org.bukkit.permissions.PermissibleBase.removeAttachment(PermissibleBase.java:147)
            at org.getspout.spout.player.SpoutCraftPlayer.removeAttachment(SpoutCraftPlayer.java:142)
            at com.platymuus.bukkit.permissions.PermissionsPlugin.unregisterPlayer(PermissionsPlugin.java:137)
            at com.platymuus.bukkit.permissions.PlayerListener.onPlayerQuit(PlayerListener.java:24)
            at org.bukkit.plugin.java.JavaPluginLoader$2.execute(JavaPluginLoader.java:251)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
            at net.minecraft.server.ServerConfigurationManager.disconnect(ServerConfigurationManager.java:146)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:608)
            at net.minecraft.server.NetworkManager.b(NetworkManager.java:231)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:85)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
            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)
    
    I can provide a list of plugins if needed I use mChat for handling prefix/suffix and my permission config looks like this I'll save you from having to look from a long line of users as well and just put two hah
    Code:
    naminab:
            groups:
            - member
        SniperCX:
            groups:
            - member
    groups:
        default:
            permissions:
                permissions.build: false
        member:
            permissions:
                mchat.prefix.member: true
                permissions.build: true
                falsebook.blocks.bridge: true
                falsebook.blocks.cauldron.use: true
                falsebook.blocks.door: true
                falsebook.blocks.gate: true
                falsebook.blocks.hiddenswitch: true
                falsebook.blocks.hiddenswitch.create: true
                falsebook.blocks.lift: true
                falsebook.blocks.lightswitch.create: true
                falsebook.blocks.lightswitch.use: true
                falsebook.blocks.readbooks: true
                falsebook.destroy.blocks: true
                falsebook.ic.mc0111: true
                falsebook.ic.mc0260: true
                falsebook.ic.mc0261: true
                falsebook.ic.mc0262: true
                falsebook.ic.mc0271: true
                falsebook.ic.mc1017: true
                falsebook.ic.mc1110: true
                falsebook.ic.mc1510: true
                falsebook.ic.mc3000: true
                falsebook.ic.mc3002: true
                falsebook.ic.mc3031: true
                falsebook.ic.mc3033: true
                faslebook.ic.mc3020: true
                iConomy.access: true
                iConomy.bank.access: true
                iConomy.bank.deposit: true
                iConomy.bank.join: true
                iConomy.bank.join.multiple: true
                iConomy.bank.leave: true
                iConomy.bank.list: true
                iConomy.bank.main: true
                iConomy.bank.main.change: true
                iConomy.bank.main.set: true
                iConomy.bank.main.view: true
                iConomy.bank.transfer: true
                iConomy.bank.transfer.multiple: true
                iConomy.bank.withdraw: true
                iConomy.list: true
                iConomy.payment: true
                iConomy.rank: true
                iConomyChestShop.command.iteminfo: true
                iConomyChestShop.shop.buy: true
                iConomyChestShop.shop.exclude.1: true
                iConomyChestShop.shop.exclude.3: true
                iConomyChestShop.shop.exclude.4: true
                iConomyChestShop.shop.exclude.12: true
                iConomyChestShop.shop.exclude.17: true
                iConomyChestShop.shop.exclude.20: true
                iConomyChestShop.shop.exclude.35: true
                iConomyChestShop.shop.exclude.43: true
                iConomyChestShop.shop.exclude.44: true
                iConomyChestShop.shop.exclude.50: true
                iConomyChestShop.shop.exclude.66: true
                iConomyChestShop.shop.exclude.69: true
                iConomyChestShop.shop.exclude.77: true
                iConomyChestShop.shop.exclude.87: true
                iConomyChestShop.shop.exclude.88: true
                iConomyChestShop.shop.exclude.256: true
                iConomyChestShop.shop.exclude.257: true
                iConomyChestShop.shop.exclude.258: true
                iConomyChestShop.shop.exclude.277: true
                iConomyChestShop.shop.exclude.278: true
                iConomyChestShop.shop.exclude.279: true
                iConomyChestShop.shop.exclude.292: true
                iConomyChestShop.shop.exclude.293: true
                iConomyChestShop.shop.exclude.331: true
                iConomyChestShop.shop.exclude.356: true
                iConomyChestShop.shop.sell: true
                lwc.protect: true
                nSpleef.member.*: true
                nSpleef.member.join: true
                nSpleef.member.leave: true
                nSpleef.member.list: true
                deathcontrol.free: true
                deathcontrol.use: true
                giveto.self: true
                giveto.item.1: true
                giveto.item.3: true
                giveto.item.4: true
                giveto.item.12: true
                giveto.item.17: true
                giveto.item.20: true
                giveto.item.35: true
                giveto.item.43: true
                giveto.item.44: true
                giveto.item.50: true
                giveto.item.66: true
                giveto.item.69: true
                giveto.item.77: true
                giveto.item.87: true
                giveto.item.88: true
                giveto.item.331: true
                giveto.item.356: true
            inheritance:
            - default
        donator:
            permissions:
                mchat.prefix.donator: true
                mchat.prefix.member: false
                permissions.build: true
            inheritance:
            - member
        donatorplus:
            permissions:
                mchat.prefix.donatorplus: true
                mchat.prefix.donator: false
                permissions.build: true
            inheritance:
            - donator
        moderator:
            permissions:
                mchat.prefix.moderator: true
                adminscanfly.allow: true
                mchat.prefix.donatorplus: false
                permissions.build: true
                mcbans.mute.player: true
                mcbans.mute.all: true
                mcbans.kick: true
                mcbans.lookup: true
                mcbans.ban.local: true
                mcbans.ban.view: true
                giveto.others: true
                giveto.self: true
                giveto.exempt.cost: true
            inheritance:
            - donatorplus
        developer:
            permissions:
                mchat.prefix.developer: true
                mchat.prefix.moderator: false
                mcbans.mod: true
                adminscanfly.allow: true
                permissions.build: true
                mcbans.ban.global: true
            inheritance:
            - moderator
        admin:
            permissions:
                mchat.prefix.admin: true
                mchat.prefix.developer: false
                mcbans.unban: true
                mcbans.reload: true
                mcbans.offline: true
                mcbans.online: true
                mcbans.admin: true
            inheritance:
            - developer
        owner:
            permissions:
                mchat.prefix.owner: true
                mchat.prefix.admin: false
                giveto.reload: true
                adminscanfly.allow: true
            inheritance:
            - admin
    messages:
        build: '&cYou do not have permission to build here. Contact leadership or post
            in forums'
    
    
    Not sure why the name posted weird but w/e its in the right spot in the config :)
     
  10. Offline

    Corvias

    Here is my plight. Hopefully it's just something I missed somewhere. I am using Permissions bukkit and Superperms bridge. Everything has been going swimmingly, until yesterday I realized that the /group commands were not working. Even from the console! For example, if I type "perm group list" I get "You do not have permissions to do that." Permissions that I have set in config.yml are fine. I see nothing scurrilous in sever.log.

    One thing I did discover, though, is that if I remove SuperpermsBridge from the plugins directory , the /perm commands work again. Though as soon as I add it back in, they go back to being access denied.

    I think I've fixed it -- or at least found a workaround. I noticed that SuperpermsBridge.jar was loading before PermissionsBukkit, so on a hunch I stuck an "a" at the beginning of the PermissionsBukkit jar filename so it would hopefully get loaded first. Now the /group commands work. Weirdness. We'll see if it lasts.

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

    Luke.Handle

    Does "permissions group list" work?
     
  12. Offline

    Corvias

    Before I had gotten things working again, no, using the "permissions" instead of "perm" also did not work.
     
  13. Offline

    theakore

    Im starting to think my original post got completely ignored...

    Whenever someone on the server uses the servers /reload command (not /permissions reload), it's like permissions bukkit ignores the config.yml everyone on the server is put into the default group and no one has access to any commands. the logs dont show any errors. this is a pretty big issue! please help!

    edit: after the server wide /reload the permissions bukkit /reload command does not fix the issue.
     
  14. Offline

    khamseen_air

    When kicking a player and only when kicking a player, the following shows up in the log. We only use PermissionsBukkit for one node in a 'default' group, everything else is handled by Permissions Yeti;
    Code:
    [SEVERE] Could not pass event PLAYER_QUIT to PermissionsBukkit
    java.lang.IllegalArgumentException: Attachment cannot be null
    	at org.bukkit.permissions.PermissibleBase.removeAttachment(PermissibleBase.java:134)
    	at org.bukkit.craftbukkit.entity.CraftHumanEntity.removeAttachment(CraftHumanEntity.java:104)
    	at com.platymuus.bukkit.permissions.PermissionsPlugin.unregisterPlayer(PermissionsPlugin.java:137)
    	at com.platymuus.bukkit.permissions.PlayerListener.onPlayerQuit(PlayerListener.java:24)
    	at org.bukkit.plugin.java.JavaPluginLoader$2.execute(JavaPluginLoader.java:251)
    	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
    	at net.minecraft.server.ServerConfigurationManager.disconnect(ServerConfigurationManager.java:146)
    	at net.minecraft.server.NetServerHandler.disconnect(NetServerHandler.java:117)
    	at net.minecraft.server.ConsoleCommandHandler.handle(ConsoleCommandHandler.java:125)
    	at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:329)
    	at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:713)
    	at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:677)
    	at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:670)
    	at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
    	at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    	at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:85)
    	at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    	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)
     
  15. Offline

    Celtic Minstrel

    If that's the case, you could probably do away with PermissionsBukkit (at least for now) by adding the following to your permissions.yml file in the server directory:
    Code:
    server.defaultpermissions:
        default: true
        children:
            the.permissions.node.you.want.everyone.to.get: true
    Alternatively, you could try scrapping PermissionsYeti and switching to something like PermissionsEx.
     
  16. Offline

    khamseen_air

    Well that's handy to know, thanks I will give it a try. We're sticking with Yeti simply because it's what we're used to, but we are hoping to switch to PermissionsBukkit once all the plugins we use work reliably with it. Some of them just fail so far. Only installed it last week because backtobody has stopped supporting all permissions but Bukkit.
     
  17. Offline

    justproud2b

    @SpaceManiac I tried the dev version as well and it got rid of the errors but then the permissions just weren't working at all like people lost building rights. So I'm stumped I really hope you find a fix soon as I wanted to depend on this to be my final permission plugin switch :'(
     
  18. Offline

    Butkicker12

    Is there a convertor from 3.0.6 or 3.1.6 @SpaceManiac
     
  19. Offline

    92921376

    I was using this plugin to add plugin permissions to my new server, and at first it was working fine. I installed and set permissions for like 10 plugins, and the permissions were working fine. Then, all of the sudden, I couldn't add new permissions to any group at all. Adding them worked, but when a user from that group tries to use the new command, it says they do not have permission. Whether PanelMaster, MobArena, or SignShop, nothing is working. I have tried them all with and without the superpermsbridge. prefix, and they still do nothing.
     
  20. Offline

    kel

    I have a person that has a username all numbers "8547623" and when they join the get the error below and don't have any permissions. If there are users in the config.yml that are below them those people also don't have any permissions.

    Is this a bug or what?

    Code:
    [INFO] 8547623 [/184.99.26.193:52188] logged in with entity id 80 at ([world] -531.7811265733242, 63.60749998688698, -213.0858742167196)
    19:00:42 [SEVERE] Could not pass event PLAYER_JOIN to PermissionsBukkit
    java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
            at com.platymuus.bukkit.permissions.PermissionsPlugin.getNode(PermissionsPlugin.java:211)
            at com.platymuus.bukkit.permissions.PermissionsPlugin.getNode(PermissionsPlugin.java:181)
            at com.platymuus.bukkit.permissions.PermissionsPlugin.calculatePlayerPermissions(PermissionsPlugin.java:245)
            at com.platymuus.bukkit.permissions.PermissionsPlugin.calculateAttachment(PermissionsPlugin.java:233)
            at com.platymuus.bukkit.permissions.PermissionsPlugin.setLastWorld(PermissionsPlugin.java:164)
            at com.platymuus.bukkit.permissions.PermissionsPlugin.registerPlayer(PermissionsPlugin.java:142)
            at com.platymuus.bukkit.permissions.PlayerListener.onPlayerJoin(PlayerListener.java:20)
            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)
    
     
  21. Offline

    RchGrav

    I GOT EVERY ONE OF MY PLUGINS TO WORK... here is how.

    After doing a complete conversion of all of my existing permissions (manually)... About 15% of my plugins would not work with either SuperPerms, or The SuperPermBridge. I wasn't about to REDO all of my conversions again, for bPermissions, only to lose CRITICAL plugins that clearly don't work with that.

    My final solution was to return Permissions.jar from 2.7.4 into my plugins folder, to see if it would co-exist with the SuperPermsBridge... The bridge was my main concern.. but HALLELUJAH... It works .. No errors and every plugin has proper permissions, new, old or whatever/

    I realize this may be difficult for NEW server admins to learn 2 new systems of applying permissions, (One of which is Legacy)... For the guru's in the crowd.. I can confirm that EVERYTHING works 100% now.

    As some plugin devs ARE using a multi-permission system similar to what Sk89q has (maybe they are using his?) I found that in many cases there is a priority to which permissions system supercedes another...

    Permissions should be assigned in this order... until you find everything works..

    #1. SuperPerms (If it works.. stop you are done..)
    #2. Try Adding the superpermbridge. node to the beginning of the permission added in step 1. (If it works.. stop you are done..)
    #3. Final Jeopardy... Use the legacy permissions system...

    I will slowly clean out my legacy configuration as permissions have been migrated... once it is empty.. the legacy system can be retired.

    (I only tested this in my configuration, and since I was using a 2.x permissions system you may need to do your own tests.)

    This technique resolves issues with ALL plugins it seems.. including ones that may pull things like prefixes out of your permissions system (for example MCDocs does this.).
     
  22. Offline

    Celtic Minstrel

    Not yet, unfortunately.
     
  23. Offline

    Zocomen

    A minimalistic bridge from Permissions 3.0 to Superperms is available as a separate plugin, which does not depend on PermissionsBukkit.
    Can't realy understand what this means, can you use Permissions 3.0 and upwards together with this plugin using Superperms ?
     
  24. Offline

    tinez

    Hi!

    does this plugin allow to set different group for user depend of which world is he in?

    ex: I have world1 and pvp1. John ,who is in Moderator group in world1, is in defaut group in pvp1. (I want everyone to get the default color in pvp.)

    thank
     
  25. Offline

    lilalulelo

    Hi !
    I'm in the process of switching to this permission plugin and I would like to know :

    How do you set a group to be the default group ? am I forced to name it "default" ? Or is there another way ?
     
  26. Offline

    hiro24

    Could someone give me a hand w/ superpermsbridge? In particular I have a plugin I'm trying to get working that requires permissions 3.x and I'm getting the following error:

    Code:
    2011-08-15 10:10:01 [SEVERE] Could not pass event CUSTOM_EVENT to Heroes
    java.lang.NoClassDefFoundError: com/nijiko/permissions/StorageReloadEvent
    	at com.herocraftonline.dev.heroes.HPermissionsListener.onCustomEvent(HPermissionsListener.java:29)
    	at org.bukkit.plugin.java.JavaPluginLoader$87.execute(JavaPluginLoader.java:855)
    	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
    	at com.herocraftonline.dev.heroes.persistence.Hero.gainExp(Hero.java:151)
    	at com.herocraftonline.dev.heroes.persistence.Hero.gainExp(Hero.java:100)
    	at com.herocraftonline.dev.heroes.HBlockListener.onBlockBreak(HBlockListener.java:84)
    	at org.bukkit.plugin.java.JavaPluginLoader$37.execute(JavaPluginLoader.java:497)
    	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
    	at net.minecraft.server.ItemInWorldManager.c(ItemInWorldManager.java:157)
    	at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:121)
    	at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:471)
    	at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
    	at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    	at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:87)
    	at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    	at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:454)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
    	at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.ClassNotFoundException: com.nijiko.permissions.StorageReloadEvent
    	at java.net.URLClassLoader$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(Unknown Source)
    	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
    	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	... 20 more
    

    In my config file for superperms I have:

    Code:
    groups:
        default:
            permissions:
                heroes.classes.*: true
                heroes.classes.class-name-in-all-lowercase: true
                'superpermbridge.heroes': true
    I'll admit I'm grasping at straws here, as I don't completely understand how this is supposed to imitate permissions or if I'm putting this in there right. Is this right?
     
  27. Take off the ' ' around superpermbridge.heroes, and add superpermbridge. in front of the first line too. You really only need superpermbridge. when there is a * node.
     
  28. Offline

    rmb938

    Sometimes when a user switches world the group name go to a capital. So if their group name is testgroup it changes to Testgroup which doesn't exist. This only happens 1 out of 10 times switching worlds but is still very annoying.
     
  29. Offline

    hiro24

    Doesn't seem to have helped..

    Code:
    2011-08-15 10:31:57 [INFO] [Heroes] Permissions found.
    2011-08-15 10:31:57 [INFO] [Heroes] version 1.1.4-b142 is enabled!
    2011-08-15 10:31:59 [INFO] Server permissions file permissions.yml is empty, ignoring it
    2011-08-15 10:31:59 [INFO] Done (0.580s)! For help, type "help" or "?"
    2011-08-15 10:32:07 [INFO] hiro24 [/127.0.0.1:55719] logged in with entity id 3 at ([Midgard] 815.21875, 64.0, -187.15625)
    2011-08-15 10:32:07 [INFO] [Heroes] Loaded hero: hiro24
    2011-08-15 10:32:10 [SEVERE] Could not pass event CUSTOM_EVENT to Heroes
    java.lang.NoClassDefFoundError: com/nijiko/permissions/StorageReloadEvent
        at com.herocraftonline.dev.heroes.HPermissionsListener.onCustomEvent(HPermissionsListener.java:29)
        at org.bukkit.plugin.java.JavaPluginLoader$87.execute(JavaPluginLoader.java:855)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at com.herocraftonline.dev.heroes.persistence.Hero.gainExp(Hero.java:151)
        at com.herocraftonline.dev.heroes.persistence.Hero.gainExp(Hero.java:100)
        at com.herocraftonline.dev.heroes.HBlockListener.onBlockBreak(HBlockListener.java:84)
        at org.bukkit.plugin.java.JavaPluginLoader$37.execute(JavaPluginLoader.java:497)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.ItemInWorldManager.c(ItemInWorldManager.java:157)
        at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:121)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:471)
        at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:87)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:454)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.ClassNotFoundException: com.nijiko.permissions.StorageReloadEvent
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 20 more
    Changed config.yml to:

    Code:
                superpermbridge.heroes.classes.*: true
                superpermbridge.heroes.classes.class-name-in-all-lowercase: true
                superpermbridge.heroes: true
    
    should note this seems to happen when I'm breaking a block, which tries I suppose to pass some type of custom event thru a permission node to permissions 3.x
     
  30. Offline

    RchGrav

    I made a post on the last page regarding my success in running BOTH the SuperPermBridge and Permissions 2.7.4 (Legacy) in order to support plugins which took advantage of features not present in the Bridge.

    I'm really kind of curious how this would be possible.. and wondering if the same thing would be possible with the Permissions 3.x system.

    It would seem that this is a good way to migrate into the new official permissions system without needing to drop plugins which are slow to utilize the new system, or are not compatible due to relying on group variables that are not being set by bridge.

    This was my personal last resort, not because I expected it to make stuff blow up.. just because I had convinced myself it would not work, so it wasn't even worth trying.

    What gives here? Is there a technical explanation for why this does work? Would the same thing work for others that were using newer variations on Nijiko's original permissions system without conflicting with the bridge?

    The small inconvenience of needing to maintain parallel permissions seems to be less of an evil than losing functionality on their servers.
     
  31. Sorry then I can't help you. I've never used heroes, it's probably happening like you say. Only think I can think is run both permissions plugins at once, as described below.

    I ran PermisisonsBukkit and 3.1.6 for a while, had no problems at all. Once they fixed the multi-world bug in PermissionsBukkit I was able to remove 3.1.6 without incident, there was no need for it.

    Also, why is this still in version 1.1? the 1.1 version has a lot of bugs that have since been fixed...
     

Share This Page