Permissions FAQ

Discussion in 'Plugin Development' started by Dinnerbone, Jul 7, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    Skettalee

    Please can someone help me? I had to switch to this permissionsbukkit to get multi world permissions to work for multiverse and nothing is working out right.

    I cant get my members to change colors based on the group and I have aleready added mchat and set that up with the same names as the group names i did with permissions file.

    Can someone look at my file and tell me why no members can barely get access to anything, though i set access up. I know some groups can actually build but no other commands, and ALSO , everyone on the server has the GOD command now. HELP!!

    My permissions file: http://pastebin.com/ujMfyj1B
     
  2. Offline

    HearlessJoe

    My problem is similar to this...I used permissions 3.1.6 and also tryed permissionsBukkit... I couldn't set a group at all...When I put myself as admin, I don't see the changes (which may be caused by the fact that it doesn't work at all)...
    For now I encountered those problem:
    - I am not able to set someone to a group (Exemple: me in admin)
    - If it work, I don't see my name changing (having red name because of color coding and having a [Admin] beside
    my name)
    Those makes me think I might not have done what I should...and trust me...I've watched tons of tutorials, looked for many way to fix that...Now I'm there begging your knowledge...I would like to make my own server...but to begin with everything, I must have a plugin for permissions. Where did I failed?
    Here are some question:
    - Do you need to instal the Permissions 3.1.6 pluggin before or after installing any other pluggins
    - Do you have to absolutly gives permission to groups when its created to make it work?
    I'm really puzzuled... I know I don't give many explanation...but an accurate Tutorial on how to instal it would be really appreciate =S (Or I'll have to REDO my server T3T)
     
  3. Offline

    xwyz

    Hey, I have admin permissions but i cant use any admin commands in all plugins. What is the all admin permissions nodes? My config:

    users:
    tester:
    permissions:
    groups:
    - admin


    groups:
    admin:
    permissions:
    permissions.*: true
    inheritance:
    - user
     
  4. Offline

    floit

    It's quite different from what most of us are used to. But I believe this system will allow more freedom and creativeness, and thats what we minecrafters like after all.
     
  5. Offline

    Farlin

    Ok, I read this entire thread from first to last post and have reached a general conclusion/issue in my case.

    I am in the process of writing a fairly complex plugin that requires the ability to add/remove users from groups programmatically. I was hoping to avoid having to write code to handle this separately or rely on a third-party plugin and much hoped to directly tie into the Bukkit API for simplification and for standardization. However, after reading everything here, it seems I am stuck having to write code for managing group memberships.

    While this is not a huge issue, it does lend to the question why a base interface or API does not exist in Bukkit to handle groups? Yes, its been beaten to death on here, but there is a need for a group of us to have this type of API, me included. Specifically, I need the ability to assign a player to a group (consequently get the benefits of that group) and not rely on a slash command for it to be done nor have to assign the 100+ permissions I have available manually to each player. Realistically I could assign permissions to each player and for a small number of players its probably no big deal. Now when we start talking about larger numbers of players and more simultaneous users on the server, that is a significant IO and memory load that just isn't necessary, not to mention all the other plugins that would be doing the exact same thing.

    To give you an example, I want to grant players the ability to create zones they can protect without requiring server op intervention. Then these users can add/remove player permissions to their zones, again without an op, using command supplied by the plugin. This is somewhat similar to WorldGuard and Residences, but I have my own twists on it.

    So in effect, for me to accomplish this with the current API, I would have to either write my own code to handle the group management, or rely on an external plugin. While this is no big deal, it is a problem in the sense that plugin developers have to rewrite code that already probably exists in other plugins. Since there are so many options for permissions plugins, its just not feasible to make my plugin compatible with one or many versions and just seems like wasteful coding.

    Now I'm not suggesting eliminating the need for a permissions plugin, as DinnerBone and many others have noted there are many ways people want to manage permissions. However, a centralized repository or memory space for managing group memberships would be ideal. How users are added/removed from those groups can be completely dependent on plugins. In effect, the permissions API in Bukkit as it stands would simply allow for bukkiting (pun intended) of permissions into groups that could be centrally written to a master permissions file. Server managers could then assign permissions to groups or plugins could do the same as needed without duplication of code, but it still allows for custom permissions plugins to be written to provide facilities for managing the groups, player permissions, etc.

    Anyway, that is my 2 cents or $1.50. Maybe there is a better way to approach this and I am very interested to hear any that may be offered. I would really prefer not to have to duplicate the code already present in PermissionsBukkit and expanding it to handle groups (credit will naturally be provided where it is due). I do not think this should be necessary and is really a duplication of effort that is certainly not required.
     
    petteyg359 likes this.
  6. Offline

    Ulrar

    I didn't read all the posts, too long.
    I have a simple question : How do I do to use permissions like someplugin.*: true ?

    I'm not going to write all of the plugin permissions by hand, and I'm pretty sure to not be the only one who needs the '*' support.
    I currently have the plugin recommended in the first post "PermissionsBukkit v1.2k - Official Default Groups Plugin [1000]" and I have my permissions in the config.yml

    But with that, the full nodes works fine, the * nodes are just ignored.

    If the * nodes can't be used, is it possible to switch back to the old Permissions by Yeti ?
     
  7. Offline

    Celtic Minstrel

    Yeti Permissions may or may not still work, but there's no guarantee that they will continue to work on later versions. How you deal with someplugin.* type nodes depends on the plugin. Some may call it someplugin.all instead of someplugin.*, for example. As for the global * node, there is no good way to do that. This is intentional, since a global * node will often end up giving you permissions that you should not have; for example in fullwall's hunger plugin it would include 'hunger.disable', causing people to report that the plugin wasn't working when in fact it was working just fine, only configured incorrectly.
     
  8. Offline

    bear1717

    Ok, so i used to run a server with bukkit with 1.4 and now i just bought my own server and after googling the problem and looking on this forum i'm still confused on the new permissions.yml file that comes with it. i have tried using it but it wouldnt work (did i format it wrong maybe?), so i then got the actual plugin for permissions but that doesnt seem to work either. i read through the other people threads requesting for help, but that didnt help either. so my overall question is, should i be using the permissions file that comes with bukkit? or downloading another plugin for permissions as some people posted they did? or maybe both? o.o any help is welcome!

    here is a link to my current format in the permissions.yml that comes with bukkit
    http://pastebin.com/t9LZbRkN
     
  9. Offline

    Celtic Minstrel

    That's not what the permissions.yml is for, so you'll need a permissions plugin. There are at least four permissions plugins to choose from, though; PermissionsBukkit, bPermissions, zPermissions, and PermissionsEx. So you have quite a few options.

    The permissions.yml is for defining permissions shortcuts if there are certain sets of permissions that you assign often. For example, you could define the permissions node 'server.basicessentials' to contain all the Essentials nodes that you have assigned to the Rookie group, and then you could assign them 'server.basicessentials' instead of that long list and it would have the exact same effect. It can also be used to control which permissions ops get.
     
  10. Offline

    DiddiZ

    I'm having some problem: (cb #1185)

    I want to add some dynamic permissions to "logblock.*" permission. The issue is, that it looks like ther permissions from plugin.yml are loaded AFTER onEnable() is called, so when I use
    Code:
                final Permission perm = new Permission("logblock.tools." + tool.name, tool.permissionDefault);
                pm.addPermission(perm);
                perm.addParent("logblock.*", true);
    throws an exeption after all plugins are loaded:
    Code:
    2011-09-22 13:16:52 [WARNING] Plugin LogBlock v1.27 tried to register permission 'logblock.*' but it's already registered
    java.lang.IllegalArgumentException: The permission logblock.* is already defined!
        at org.bukkit.plugin.SimplePluginManager.addPermission(SimplePluginManager.java:423)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:179)
        at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:156)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    It seems like there was a new Permission created when I first use addParent("logblock.*") which later causes the "logblock.*" from plugin.yaml to fail. Moreover I get null when I try pm.getPermission() a permission from plugin.yml in onEnable().
    I see two solutions:
    Firstly loading the permissions from plugin.yml before calling onEnable() or secondly moving all permissions from plugin.yml to onEnable(), which it wouldn't prefer, as it swells the code and make it more unclear.

    Am I missing something?
     
  11. Offline

    klutch2013

    is there any videos tutorials or tutorials at all on how to use this new system?
     
  12. Offline

    Pezmc

    Are there any plans to get this working with MySQL? Would make management much easier! And I'd share any PHP/Ajax I wrote to manage accounts!
     
  13. Offline

    Celtic Minstrel

    Um, MySQL with this system would be entirely pointless. There's nothing to store.
     
  14. Offline

    Incomitatum

    So, I can't find ANYTHING on how to start editing permissions.yml. I mean, do I NEED a plugin to handle my SuperPerms now? Can't I just put the proper syntax in permissions.yml and bukkit use THAT? The idea here is I don't want or NEED a permissions plugin. But now I have something like [Tombstone] and to have it give out signs and chests to players for _free_ when they die I have to give some permissions.
     
  15. Offline

    Celtic Minstrel

    Without a permissions system, your server essentially has two groups: operators, and normal users. You can use permissions.yml to control the permissions each gets, something like this:

    Code:
    server.ops:
      default: op
      children:
        some.permission.that.only.ops.should.get: true
    server.everyone:
      default: true
      children:
        some.permissions.that.everyone.should.get: true
    
    You can also use "default: false" to prevent anyone from having the permission, or "default: notop" to give the permission to non-ops but not to ops.
     
  16. Offline

    Incomitatum

    Thank you, this is perfect, and, as I understand there is no wildcard for me to say Ops have ALL permissions?
     
  17. Offline

    Celtic Minstrel

    That's right, there's no wildcard. However, ops will generally have all permissions by default, unless a plugin makes an exception and sets one of their permissions to be "default: false" or "default: notop".
     
  18. Offline

    jonathan edel

    Seriously, I cannot believe how not one person has asked this yet, but why do we need this Bukkit was fine and functional before any of these useless add-ones' were built. Permissions and GroupManager were and still are way more productive and understandable than any of this as it is less time consuming and definitely easier to understand. This "dave" and "bukkit will cry" is making me mad as it overrides OP's and Terminals! Please either develop the option to disable this.
     
  19. Offline

    Celtic Minstrel

    You should never get "Dave" or "Bukkit will cry" errors as an op unless a plugin does something stupid.
     
  20. Offline

    samp20

    does anybody know what PermissionAttachment.setRemovalCallback(PermissionRemovedExecutor ex) is used for? I know what it does, but just can't think of a scenario where it would be used.
     
  21. Offline

    Grandof

    Ok I got most of it working now but I still cant seem to get players with the permissions.build: true to work. The only way I can build is if I have the node as permissions.*: true . I only want myself to have permissions.*: true but allow all other groups to be able to build in my world. I don't use ops nor would I like to. I want zero ops with this configuration.

    Here is my config file below:

    users:
    Grandof:
    permissions:
    groups:
    - Townie
    tony247:
    permissions:
    groups:
    - MasterChief
    theian01:
    permissions:
    groups:
    - MasterChief
    poptart_revolt:
    permissions:
    groups:
    - Chief
    dumaissoft:
    permissions:
    ChestShop.shop.create: true
    groups:
    - Cops
    watermelonninja:
    permissions:
    groups:
    - Townie
    duan:
    permissions:
    groups:
    - Townie
    cooltime17:
    permissions:
    groups:
    - Townie
    remzlol:
    permissions:
    groups:
    - Townie
    deezcraftz:
    permissions:
    permissions.build: true
    groups:
    - Townie
    fatsanta714:
    permissions:
    groups:
    - Townie
    bozothehun:
    permissions:
    groups:
    - Townie
    bdp2013:
    permissions:
    groups:
    - Townie
    chrisschneider0:
    permissions:
    groups:
    - Townie
    Domo_4760:
    permissions:
    groups:
    - Townie
    allithegreat:
    permissions:
    groups:
    - Townie
    iprofchaosi:
    permissions:
    groups:
    - Townie
    phabio006:
    permissions:
    groups:
    - Townie

    groups:
    Mayor:
    permissions:
    essentials.*: true
    iConomy.*: true
    permissions.*: true
    inheritance:
    - MasterChief
    - Chief
    - Cops
    - Townie
    - default
    MasterChief:
    permissions:
    permissions.group.*: true
    permissions.player.*: true
    essentials.god: true
    essentials.time: true
    essentials.time.set: true
    essentials.ptime: true
    essentials.ptime.others: true
    essentials.give: true
    essentials.item: true
    essentials.unlimited: true
    essentials.unlimited.others: true
    essentials.info: true
    essentials.realname: true
    essentials.nick.others: true
    essentials.ban: true
    essentials.ban.notify: true
    essentials.banip: true
    essentials.tempban.offline: true
    essentials.weather: true
    essentials.ext: true
    essentials.fireball: true
    essentials.kick: true
    essentials.kick.notify: true
    essentials.kill: true
    essentials.socialspy: true
    essentials.spawnmob: true
    essentials.jump: true
    essentials.ignore: true
    essentials.delhome.others: true
    essentials.delwarp: true
    essentials.warp.otherplayers: true
    essentials.tphere: true
    essentials.togglejail.offline: true
    spleefextreme.*: true
    mobarena.setup.editarena: true
    reporter.reuest: true
    reporter.complete: true
    reporter.delete: true
    reporter.respond: true
    regios.data.save-blueprint: false
    regios.override.all: true
    regios.bypass.all: true
    regios.modify.*: true
    regios.other.*: true
    regios.permissions.*: true
    worldedit.wand: true
    worldedit.wand.toggle: true
    worldedit.selection.size: true
    worldedit.count: true
    worldedit.drain: true
    worldedit.butcher: true
    worldedit.fixlava: true
    worldedit.fixwater: true
    worldedit.extinguish: true
    worldedit.clipboard.copy: true
    worldedit.clipboard.cut: true
    worldedit.clipboard.paste: true
    worldedit.clipboard.rotate: true
    worldedit.clipboard.flip: true
    worldedit.history.undo: true
    worldedit.history.redo: true
    worldedit.navigation.thru: true
    worldedit.navigation.jumpto: true
    worldedit.superpickaxe: true
    worldedit.superpickaxe.area: true
    worldedit.superpickaxe.recursive: true
    inheritance:
    - Chief
    - Cops
    - Townie
    - default
    Chief:
    permissions:
    herochat.create: true
    herochat.color: true
    essentials.kit.chief: true
    essentials.mute: true
    essentials.tempban: true
    essentials.tptoggle: true
    essentials.jail.exempt: true
    elevators.operator: true
    inheritance:
    - Cops
    - Townie
    - default
    Cops:
    permissions:
    essentials.kit.cops: true
    essentials.msg: true
    essentials.togglejail: true
    reporter.list: true
    reporter.view: true
    lwc.mod: true
    ChestShop.shop.create: true
    elevators.advancedbuilder: true
    inheritance:
    - Townie
    - default
    Townie:
    permissions:
    permissions.build: false
    essentials.kit.townie: true
    essentials.kit.home1: true
    essentials.kit.home2: true
    essentials.kit.fun: true
    essentials.unlimited.item-all: true
    essentials.unlimited-<itemname>: true
    essentials.unlimited.item-<itemid>: true
    essentials.mail: true
    essentials.mail.send: true
    essentials.me: true
    essentials.nick: true
    essentials.seen: true
    essentials.back: true
    essentials.back.ondeath: true
    essentials.delhome: true
    essentials.home: true
    essentials.home.others: true
    essentials.sethome: true
    essentials.sethome.multiple: true
    essentials.setwarp: true
    essentials.tp: true
    essentials.tpaccept: true
    essentials.tpdeny: true
    essentials.warp: true
    essentials.warp.list: true
    essentials.warp.<warpname>: true
    iConomy.accounts.create: true
    iConomy.accounts.remove: true
    iConomy.accounts.give: true
    regios.data.info: true
    regios.data.list: true
    regios.data.set-owner: true
    regios.data.inherit: true
    regios.messages.*: true
    regios.fun.warpto: true
    regios.protection.protection: true
    regios.protection.doors-locked: true
    regios.protection.chests-locked: true
    regios.protection.fire-protection: true
    regios.protection.player-cap: true
    regios.exceptions.players: true
    regios.other.*: true
    regios.fun.*: true
    regios.other.check: true
    regios.fun.sell: true
    lwc.protect: true
    reporter.report: true
    elevators.builder: true
    inheritance:
    - default
    default:
    permissions:
    permissions.build: true
    essentials.kit: true
    essentials.kit.tourist: true
    essentials.kit.fun: true
    essentials.list: true
    essentials.afk: true
    essentials.help: true
    essentials.helpop: true
    essentials.helpop.receive: true
    essentials.motd: true
    essentials.rules: true
    essentials.whois: true
    essentials.jails: true
    essentials.spawn: true
    essentials.tpa: true
    essentials.tpahere: true
    iConomy.plus: true
    ChestShop.shop.buy: true
    ChestShop.shop.sell: true
    regios.fun.buy: false
    worlds:
     
  22. Offline

    Celtic Minstrel

    Try in the PermissionsBukkit thread, and put your config in code tags or pastebin.
     
  23. Offline

    Wannab

    super perms is a fucking mess, and makes it far more a pain in the ass to configure groups for the one fact that you have to enable true to every permission node and the users are all in the same file
     
  24. Offline

    Timothy Graham

    Ok with new permissions and sup permissions im tryin to allow a member to use region info on there own region... add and remove members as well this is what mine looks like

    googlyeyes:
    permissions:
    worldguard.region.addmember.own.*: true
    worldguard.region.removemember.own.*: true
    worldguard.region.addowner.own.*: true
    worldguard.region.removeowner.own.*: true
    worldguard.region.info.own: true
    worldguard.region.flag.regions.own.*: true
    worldguard.region.flag.flags.pvp.*: true
    worldguard.region.flag.flags.chest-allow.* : true

    I tried this too
    googlyeyes:
    permissions:
    superpermbridge.worldguard.region.addmember.own.*: true

    didn't seem to fully do it either. Has anyone else done worldguard permissions yet and got them workin? do i need to do it in the worldguard folder too maybe?
     
  25. Offline

    Celtic Minstrel

    @Wannab – I don't think you're complaining about what you think you're complaining about. More specifically, it sounds like you're really complaining not about superperms, but about one of the several plugins that manages superperms.

    @Timothy Graham – That really belongs in the PermissionsBukkit thread, judging by the syntax you're using.
     
  26. Offline

    Timothy Graham

    ok thanks Celtic i got it mostly workin just not flags fully now. Want me to delete it?
     
  27. Offline

    Celtic Minstrel

    Eh, I personally don't like it when people go back to edit their posts in dramatic ways. You can delete it if you want, but I wouldn't bother.
     
  28. Offline

    Wannab

    my bad... i see what your saying. but didnt superperms take away the ability to use the * to enable all permissions nodes, or is that plugin related also?

    i dont like the config files any of the current permissions managers, to me it seems they can be structured better

    edit:
    also what permissions plugins are out there, i know of only 2 pex and permissionsbukkit

    i take back all the bad things i said about permissionsbukkit, only thing that i would prefer is a separate user file, but i started using it on a testbed and it actually works nicely, now i just need to redo the config file and dump perms 3.x on my actual server
     
  29. Offline

    codename_B

    There's also bPermissions - which is structured completely differently (and can have a seperate users and groups file if you want it to)
     
  30. Offline

    Wannab

    does it have the ability to change a players group from in game? and if it does can a those who have permission to change a players group, be denied the ability to change to certain groups?

    il prolly test it out anyway on my test server, but i am liking permsbukkit, the only feature i would like, would be the ability to do what my question was about bperms
     
Thread Status:
Not open for further replies.

Share This Page