Inactive [ADMN/DEV] Permissions 3.1.6 - The Plugin of Tomorrow [935]

Discussion in 'Inactive/Unsupported Plugins' started by rcjrrjcr, May 24, 2011.

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

    rcjrrjcr

    Permissions 3.1.6 (Yeti)

    Download:
    Latest Stable (3.1.6) : Full Zip | Main Jar Only | SQL Interface Jar Only

    Previous Versions:
    3.1.5 (JAR|SQL) | 3.1.4 (JAR|SQL) | 3.1.3 (JAR|SQL) | 3.1.2 (JAR|SQL) | 3.1.1 (JAR) | 3.1 (JAR) | More older versions


    COMMAND RESTRUCTURING
    Feel free to comment and give suggestions.


    DO NOT USE GLOBAL CONFIGS FOR NOW. THE GLOBAL CONFIG IS MEANT TO SUPPLEMENT WORLD-SPECIFIC CONFIGS, NOT THE OTHER WAY ROUND. SEE https://github.com/TheYeti/Permissions/wiki/Global-vs-World .I WILL WRITE A PROPER TUTORIAL ON HOW TO USE THE GLOBAL CONFIGS SOON.

    TODO:
    • Revamp commands
    Known plugins that cause IllegalAccessError(s):

    • Help (not fixed yet)
    Temp Fix for IAEs (open)




    1. Open Help's JAR with 7zip.
    2. Find MANIFEST.MF (it can be in the root folder or in the META-INF folder, or both).
    3. Open the MANIFEST.MF file in a text editor
    4. Look for a line that starts with "Class-Path:".
    5. Delete "Permissions.jar" from that line.
    6. Save the manifest.
    7. 7zip will prompt you to save changes back into the archive. Accept.
    8. Restart server.





    Plugin Authors: How to hook into Permissions

    Due to @TheYeti being busy in RL for now, I have created a new thread for Permissions 3.x. TheYeti is still part of the Permissions team.

    Permissions... Reborn.
    This is a continuation of the work that was originally done by Nijikokun. All original credit goes to them as without their work this plugin would not have been possible. This plugin does not provide any commands or additional functionality beyond what is described in this post. That means that you need another plugin to provide colored names, chat prefixes, and op commands such as /give and /time.​

    The Permissions Team

    The team consists of myself @rcjrrjcr and @TheYeti currently with contributions from @Nijikokun as well on occasion. There are also several other members of the community who frequently assist with providing code changes, bug fixes, patches, support, feedback, and beta testing. Special thanks to @flames and the Dynmap & Wormhole X-Treme teams for the hosting of Permissions on their Jenkins server.

    What's new in 3.x?

    Taken from the GitHub page:
    1. In-game commands. For a long time, users have been pestering, nagging, demanding and/or screaming for an way to manage Permissions via commands. Now, in 3.0, in-game commands are available to manage permissions and groups.
    2. SQL storage. This allows web interfaces to manage Permissions by updating the SQL database Permissions uses.
    3. Promotion/demotion tracks. With a simple command, users can be promoted/demoted along a preconfigured track, allowing RP servers with ranks to promote the player along a class track and other possibilities.
    4. Multigroup.
    5. Weightage. Plugins are able to compare users via their weight, which is inherited from their groups. For example, SlapPlugin can check if Player A is higher-weighted than Player B when A tries to slap B (Not IRL, obviously).
    6. Improved world mirroring. Config files are now split into a group file and a user file. Also, by editing storageconfig.yml, you can configure the mirroring of entire worlds, or just its users/groups. You also do not have to create files for worlds that mirror another world. Also, two different worlds can use different storage types, like YAML and SQL.
    7. Global permissions. Instead of having to resort to cross-world group inheritance, now all worlds inherit groups and users from the global permissions file. Also, the inherited groups/users can be overridden via editing the specific world's file.
    Upgrading from 2.x to 3.x







    I have written a guide on GitHub. This demonstrates how to convert 2.x-style configs to 3.0. The YAML-to-SQL converter are still in testing, but it can be downloaded from here. It's written in Perl. @Zgred has created a web version of the script located here. @omgneeq is working on an Web UI for SQL databases (Sorry about the previous statement that he was making a converter.)​


    Install (open)
    For the admins

    In case you missed the link above, the Setup Guide on GitHub will help you quite a bit

    Samkio has updated his tutorial for P3:


    First thing that you will need to do is download the plugin. Place it in your plugins/ folder and unzip it. This should create the folder Permissions and a Permissions.jar file in your plugins folder. Next, go into Permissions/ and create a folder named the same as your world. So if your world name from server.properties is Foo you will need to create the folder plugins/Permissions/Foo. You MUST rename it to whatever your world's name is or it will not work.

    Note, if you have your server maps all saved into a single directory then the initial setup will be somewhat different. Say your maps are arranged in the main directory like so: bukkit/mapfolder/world1, bukkit/mapfolder/world2, etc. Then inside of the plugin/Permissions directory you will need to create a folder called mapfolder and inside of that put the directories containing users.yml and groups.yml in there.

    Next, you will need to go in and add yourself to the users, just replace the user that is in there with your name. Make any other modifications that you need to. While making modifications make sure that you do NOT use tabs. These will break the YAML format and cause issues. Instead, each indent should be four spaces. If you want people who aren't in the Admin group to be able to reload the permissions plugin you need to give them 'permissions.reload' permissions within the config file.

    Permissions gives server admins great control, mostly in-game reloading. More info about commands can be found here.


    FAQ (open)

    [FAQ]

    [Q] What is with the version numbers? I can't keep up, it seems like every time I look there is a new version!
    [A] I use the GNU versioning system for my version numbers. So what this means is the version number should be read as Major.Minor.Revision. So for version 2.5.2 this would mean it is the 2nd Major version, the 5th Minor release in this version, and the 2nd revision. I tend to release bug fixes and anything that doesn't add functionality or will not break things as revisions. So generally you should be safe with just watching the major & minor numbers and only getting the revision if it fixes a bug specific to you. Technically 2.5.2 should have been released as 2.6 as it did add functionality, but this was below even a minor change so I released it as a revision.

    [Q] I am getting an error that it can't pass BLOCK_PLACED or BLOCK _BREAK events to Permissions. Fix it!
    [A] That's not a question. The reason why it can't place these is probably because the syntax of your Permissions file is all whacked out, or it is a different world and you don't have a config file for that world.

    [Q] What am I suppose to name the config file?
    [A] You need to name it the same as your world. So if you look in server.properties at "level-name" you will see a world name there. Rename your config file to the same thing as that. Make sure you keep the .yml extension at the end.

    [Q] Permissions are broken. Why can no one use commands? Why am I not an admin?
    [A] First off, make sure that your formatting is correct. Look at the format that the default config file uses. Yours should look like that. Do NOT use tabs. Use 4 spaces (IE. " " <-- Four of those things.). Also, whichever group you give the permission '*' to, do not have that group inherit permissions from anyone else. That is called overloading and it will break things. Also, this.


    [Q] Which one am I suppose to download and unzip to install this?
    [A] Download the main package, not the JAR only. Unzip the ZIP file. The JAR only downloads are simply there for people who are UPGRADING and do not need the default config file.

    [Q] I have done all of this and this doesn't work! I'm going back to GroupManager!
    [A] Well, there is probably the problem. Make sure that you delete EssentialsGroupManager.jar and EssentialsGroupBridge.jar as these don't play well with Permissions and will cause headache.

    [Q] When are you going to add <blah> <feature/command> into this already? You suck! Do what I want NAU PL0X!
    [A] Feature requests should be posted on the GitHub tracker. Stupid suggestions like adding teleportation functionality and other less ludicrous stuff will be rejected.



    Changelog
    • 3.1.6
      • Major fixes.
      • Simplify tracks
    Changelog (open)





    • 3.1.5
      • Fix several minor bugs.
      • Autoconvert 2.x/GM format (only works if you split them into groups.yml and users.yml, but leave the rest untouched)
    • 3.1.4
      • Fix YAML locking bugs.
    • 3.1.3
      • Fix another SQL data and inheritance issue.
    • 3.1.2
      • Fix SQL data issues.
      • Added user/group name autocomplete
      • Separated SQL interface into separate plugin
    • 3.1.1
      • Fix prefix/suffix issues.
      • Added ON UPDATE CASCADE to the SQL foreign [/SIZE]
    • 3.1
      • Tons of fixes.
    • 3.0.6
      • Fix SQLite issues due to misimplementation of methods.
    • 3.0.5
      • Fix cache-related NPEs
      • Fixed quoted worlds (thanks again @Jeyge !)
    • 3.0.4
      • Fix LinkageError caused by ServiceManager not unloading the PermissionHandler class.
      • Added cache
      • Fix index not being incremented when promoting (thanks @Jeyge !)
    • 3.0.3
      • Fixed another getGroup bug.
    • 3.0.2
      • Fixed getGroup bug.
    • 3.0.1
      • Fixed some NPE bugs.
    • 3.0
      • Total overhaul of Permissions. Adds many new features (see What's new in 3.0?).
    • 2.7.4
      • Added overload of has() and permissions() for plugin devs
    • 2.7.3
      • Fixed negate node add/remove bug.
    • 2.7.2
      • Fix for small subtle bug introduced in last minor version.
    • 2.7.1
      • Commit by DThielke to fix several bugs with programmatic modifications of user permissions.
    • 2.7
      • Further commits by rcjrrjcr
        • Removed negatedNode checks
        • Temp fix for NULL issue
        • WorldConfigurationModification to save only modified configs
        • Fix for cache problems








    Credits (open)


    TheYeti:
    Nijikokun - Without their original work this plugin would not be possible.​
    All of the members of the community that regularly provide support in this thread for Permissions​
    Rigby, Kainzo, DThielke, GoMySQL, sk89q, RightLegRed - For hanging out with me in IRC, tons of testing, and pushing me to improve on the code constantly and make changes to make this plugin constantly better and better, and in general being entertaining.​
    Everyone else on here and in IRC who provides support, feedback, assistance, plugins that have continued to support and integrate this, and in general makes my life a bit easier, THANK YOU!​

    rcjrrjcr:
    I would like to thank Joy , jamesg and omgneeq for staying in #permissions for long periods of time to test out 3.0, and help me find many coding mistakes I made, patiently waiting for the next build while I fixed the bugs. I appreciate SvenBrnn 's and GoMySQL(Geoff Winans on this forum) 's help that allow me to design and code the SQL interface, and the HeroCraft coding team for providing support and some priceless IRC quotes (Dgco). Also, I would like to thank Lycano for helping me in many different aspects. Last but not least, I would like to thank Nijikokun and TheYeti for developing P2, which was one of my core plugins when I was still a 14-year-old server admin that didn't understand Java, and was the base for 3.0. Without these people, 3.0 would never be possible.​


    If after reading through all of that you are still having issues do one of two things. If it is a provable bug, and you have things like screenshots or copies of startup, steps to reproduce, your craftbukkit build and the version this is running along with your config files then submit the bug on the issue tracker. If it is general help or support you are needing then post a reply to this thread and someone will try to help you.

    Old thread: Permissions v2.7.4
     
  2. The future indeed, let's get some more admins and servers testing this, especially MySQL, for my part ;)

    Good job !
     
    TomThe3rd likes this.
  3. Offline

    Pencil

    ZOMGGGG !!!!
    <3 !!! THATS AWESOME...
     
  4. Offline

    Revenger

    I think my post got buried in that other thread looking for the right way to do this setup:

    1 global user-list with group names which are the same for all worlds, where you add a user in any world they get added to that list.

    Groups (Global) (inherit and change per world)
    - Inherit all primary worlds
    - Real Main world
    |- Inherit to sub world 1
    |- Inherit to sub world 2

    If a new user joins up, I want to be able to do a simple command and add them once to global users and then they get the same grouping "Member' on ALL 6 worlds with whatever I have the permissions I have for member on that world which will be different.
     
  5. Offline

    rcjrrjcr

    This would be a little complicated, but doable, thanks to jamesg who suggested the same idea. Create 6 groups named "Member in each world. Then, in the global config, add the group "?,Member" to each user. The users will automatically inherit the corresponding Member group in their world.

    Explanation will be added later.
     
  6. Offline

    Revenger

    Thanks for that little snippet.

    For inheriting on yaml from global users I would?

    Eventually I want a sql setup on this but yaml is fine to start with.

    I know I can

    inheritance:
    - '*,Admin'

    I presume i can also:
    permissions:
    - permission
    -- negative permission

    Or use yaml inheritances If I want the subworlds to stem from the actual main world which stems from global?
     
  7. Offline

    GmK

    Cant wait to finally test it - as soon as the plugins all get ready for it ;) Actually have converted all the files already in a secondary server, so am good to go once the plugins use the new settings/files.
     
    Makan747 likes this.
  8. Offline

    rcjrrjcr

    1. Global permissions are automatically inherited by every entry. So, you don't have to make the subworlds inherit the main world. You can just add main world permissions into the global config and then add exceptions for the subworlds in their own configs.
    2. Yes, negated nodes work that way. Unlike 2.x, they can be wildcards too. Even "-*" works, which negates all permissions.
     
    MineMaster likes this.
  9. Offline

    Revenger

    Thanks again.

    What I mean by main world is our planned setup uses a permissions system with individual worlds.

    The main world we know on our server will be one of all the primary worlds that will have 2 subworlds of it.

    The setup consists of taking into account your global files.

    (Global Permissions To)
    Entry world
    Main world ------> Mining World/ Nether World
    Creative world
    Survival world

    Mining and Nether are offshoots of the Main world as sub worlds.

    We call it the Core 3 as they are the core 3 worlds of the primary ones, with all the good stuff like economy, homes, warps etc.

    The other worlds are totally stand alone and will have there own permission setups and are not connected at all to each other apart from the basic permissions like /who etc.

    That's why I cant put the main world permissions in the global groups and kinda need to create inheritance from what is known as the 'main' world to its 2 sub worlds of mining and nether.
     
  10. Offline

    Brvtvs

    I am really hoping for some more multigroup support, it is so helpful for more advanced setups. I am looking forward to a Roles type plugin for this.
     
  11. Offline

    rcjrrjcr

    Plugins that don't use group-related methods or prefix/suffix retrieval methods should be fine.
    Ah. Have the mining and nether worlds inherit from the config of the main world. See Storageconfig.yml options for more details on how to set up world inheritance. You can configure exceptions to the main world config in the world's own config.

    3.0 supports multigroup natively.
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
    Revenger likes this.
  12. Offline

    Revenger

    Thanks I think that's all the pieces I need to actually try a setup.

    Its been soo confusing as there's been little to no info on doing this stuff (yea I know we are planning one of the advanced setups and we have a good reason too also :D) also I understand you have been busy coding the plugin due to theyeti's arm etc and that alone has been a fantastic effort you have done.

    I may try tonight or when I wake up and give you feedback.

    Hope the sql converter once ready would be able to import all this properly.

    Thanks for the help I really appreciate it as you have everyone inc that other thread to deal with also.

    I forgot to ask one thing can I negate the 'build =' permission on inheritance.

    Entry world needs 'build = false' for members while the others are all true.

    Reason is entry world is the admin/mod maintained hub between all worlds.

    Thanks again

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

    Brvtvs

    By supporting it natively, does that mean it has roles type commands/restrictions? GM supported it natively but there was no way to interface with it besides Roles. In roles, you could set which was the main group, players could join roles themselves, you could set a maximum amount of roles in that type of group, and you could set time limits between switching roles.
     
  14. Offline

    Revenger

    Latest permissions 3 error:

    Code:
    2011-05-25 01:39:09 [SEVERE] tried to access class com.nijiko.configuration.NotNullRepresenter from class com.nijiko.configuration.NotNullConfiguration initializing Permissions v3.0 (Is it up to date?)
    java.lang.IllegalAccessError: tried to access class com.nijiko.configuration.NotNullRepresenter from class com.nijiko.configuration.NotNullConfiguration
        at com.nijiko.configuration.NotNullConfiguration.<init>(NotNullConfiguration.java:47)
        at com.nijikokun.bukkit.Permissions.Permissions.onLoad(Permissions.java:111)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:104)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:265)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    doing a /permissions I get another error

    Code:
    org.bukkit.command.CommandException: Unhandled exception executing command 'permissions' in plugin Permissions v3.0
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:127)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:279)
            at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:699)
            at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:666)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:660)
            at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
            at net.minecraft.server.NetworkManager.a(NetworkManager.java:196)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:377)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:292)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    Caused by: java.lang.NullPointerException
            at com.nijikokun.bukkit.Permissions.Permissions.onCommand(Permissions.java:189)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
            ... 12 more
    
    Also I was trying commands like money etc and they were working yet not listed in the permissions why I don't know.

    For inheritance I used

    inheritance:
    - '*,Member'

    Just as you said and the global didn't have economy stuff or even in that world it was in another world though.

    Took the permissions right out of all worlds restarted server I still could use them.

    I don't know if the * in inheritance had something to do with it.
     
  15. Offline

    Roy-Udo

    Hi Guys,
    i'm new using permissions and i have a problem. I hope you can help me with it.

    On my server the default users can built so i set built:true. The problem is, wenn a default user graped a block and placeed the block somewhere the block get placed, but there is a message in the Chat: "You don't have permission to use this!" That shouldn't be like that, right?

    Screen:
    errorminecraftpermission.png

    The default users settings on my server are:
     
  16. Offline

    Jeyge

    If they were still able to place the block, then you need to add craftbook.mech.cauldron to their permissions.

    I'm not sure if this will fix things but I believe you need to put the * and Member on different lines like:
    Code:
        inheritance:
            - '*'
            - Member
    
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  17. Offline

    Roy-Udo

    Thx, for your fast reply.

    My problem is not, that the users can built, my problem is this message appearing in the Chat. On my server everyone can built, but this message is irritating my users.
    So what can i do?
     
  18. Offline

    Jeyge

    I understand that but the reply still stands if the building still happens. If you are running CraftBook, I would just give that permission a try and see if it removes the message. It has helped with a lot of others receiving exactly that message as long as they can still build.
     
  19. Offline

    Solaris765

    wow i feel special. couldn't figure out why most of my commands weren't working... permissions was updated... fail on my part but anyways this looks great. makes it a ton easier to manage in my opinion
     
  20. Offline

    Joegabe

    Nothing is working and I'm getting no errors at all to go off of. Here is what I have in the files for my World folder that permissions created.

    Groups.yml:
    Code:
    groups:
      NOOB:
        default: true
        info: {prefix: '&b', suffix: '', build: false}
        inheritance: null
        permissions: [essentials.signs.free.use, essentials.signs.disposal.use, essentials.signs.heal.use,
          essentials.depth, essentials.getpos, essentials.compass, essentials.top, essentials.back,
          essentials.back.ondeath, essentials.msg, essentials.afk, essentials.list, essentials.spawn,
          essentials.kit, essentials.kit.starter, epiczones.willhouse.build.deny, epiczones.willhouse.destroy.deny,
          epiczones.joehome.build.deny, epiczones.joehome.destroy.deny, epiczones.jakehome.build.deny,
          epiczones.jakehome.destroy.deny, epiczones.andrewhome.build.deny, epiczones.andrewhome.destroy.deny,
          epiczones.spawn.build.deny, epiczones.spawn.destroy.deny, epiczones.store.build.deny,
          epiczones.store.destroy.deny, epiczones.fstore.build.deny, epiczones.fstore.destroy.deny,
          epiczones.jail.build.deny, epiczones.jail.destroy.deny, epiczones.willmine1.build.deny,
          epiczones.willmine1.destroy.deny, epiczones.joemine.build.deny, epiczones.joemine.destroy.deny,
          epiczones.casino.build.deny, epiczones.casino.destroy.deny, epiczones.joefarm.build.deny,
          epiczones.joefarm.destroy.deny, epiczones.fountain.build.deny, epiczones.fountain.destroy.deny,
          epiczones.andrewfarm.destroy.deny, epiczones.andrewfarm.build.deny, epiczones.willcactus.build.deny,
          epiczones.willcactus.destroy.deny, epiczones.emberhome.destroy.deny, epiczones.emberhome.build.deny,
          epiczones.metrohome.destroy.deny, epiczones.metrohome.build.deny, epiczones.whitehome.build.deny,
          epiczones.whitehome.destroy.deny, epiczones.cargo.build.deny, epiczones.cargo.destroy.deny,
          epiczones.geruhome.build.deny, epiczones.geruhome.destroy.deny, epiczones.metrobro.build.deny,
          epiczones.metrobro.destroy.deny, epiczones.joehill.build.deny, epiczones.joehill.destroy.deny,
          epiczones.target.build.deny, epiczones.target.destroy.deny, wolfnames.set, wolfnames.show,
          epiczones.games.build.deny, epiczones.games.destroy.deny, epiczones.gameport.build.deny,
          epiczones.gameport.destroy.deny, epiczones.dun1.build.deny, epiczones.dun1.destroy.deny,
          epiczones.labydoor.build.deny, epiczones.labydoor.destroy.deny, epiczones.lavamaze.build.deny,
          epiczones.lavamaze.destroy.deny, epiczones.arrow.build.deny, epiczones.arrow.destroy.deny,
          epiczones.adminroom.build.deny, epiczones.adminroom.destroy.deny, mothernature.command.umbrella,
          essentials.rules]
      PLAYER:
        default: false
        info: {prefix: '&3', suffix: '', build: true}
        inheritance: null
        permissions: [essentials.signs.protection.create, essentials.signs.protection.use,
          essentials.signs.free.use, essentials.signs.disposal.use, essentials.signs.heal.use,
          essentials.depth, essentials.getpos, essentials.compass, essentials.top, essentials.back,
          essentials.back.ondeath, essentials.tptoggle, essentials.tpa, essentials.tpaccept,
          essentials.tpdeny, essentials.tp, essentials.tpahere, essentials.tphere, essentials.home,
          essentials.sethome, essentials.warp, essentials.warp.list, essentials.msg, essentials.afk,
          essentials.list, essentials.mail.send, essentials.kit, essentials.kit.farm,
          essentials.kit.landscape, essentials.kit.starter, essentials.spawn, superheat.sh,
          turnstile.use, turnstile.make, turnstile.link, turnstile.owner, localshops.buysell,
          localshops.manage, localshops.manage.owner, localshops.create, localshops.create.free,
          localshops.move, localshops.move.free, localshops.destroy, localshops.reload,
          iConomy.payment, iConomy.rank, iConomy.list, bColoredChat.color, minestalker.use,
          wolfnames.set, wolfnames.show, mothernature.command.umbrella, essentials.rules,
          essentials.warp.aquahouse, essentials.warp.bulletin, essentials.warp.cargo,
          essentials.warp.dispense, essentials.warp.free, essentials.warp.gametime, essentials.warp.harbor,
          essentials.warp.lookout, essentials.warp.minecart, essentials.warp.sand, essentials.warp.skydive,
          essentials.warp.store, essentials.warp.town]
      LABYRINTH:
        default: false
        info: {prefix: '&a', suffix: '', build: true}
        inheritance: null
        permissions: [essentials.warp, essentials.back, turnstile.use]
      CO-OP:
        default: false
        info: {prefix: '&f', suffix: '', build: true}
        inheritance: null
        permissions: [essentials.warp, essentials.back, turnstile.use]
      MOD:
        default: false
        info: {prefix: '&1', suffix: '', build: true}
        inheritance: [Default]
        permissions: [essentials.signs.protection.create, essentials.signs.protection.use,
          essentials.signs.free.use, essentials.signs.disposal.create, essentials.signs.disposal.use,
          essentials.signs.heal.create, essentials.signs.heal.use, essentials.depth, essentials.getpos,
          essentials.compass, essentials.top, essentials.jump, essentials.back, essentials.back.ondeath,
          essentials.tptoggle, essentials.tpa, essentials.tpaccept, essentials.tpdeny,
          essentials.tp, essentials.tpo, essentials.tpahere, essentials.tphere, essentials.tpohere,
          essentials.home, essentials.sethome, essentials.warp, essentials.warp.list,
          essentials.setwarp, essentials.delwarp, essentials.msg, essentials.afk, essentials.rules,
          essentials.motd, essentials.list, essentials.whois, essentials.burn, essentials.ext,
          essentials.mute, essentials.kick, essentials.kit, essentials.tree, essentials.bigtree,
          essentials.spawn, essentials.kit.starter, essentials.kit.farm, essentials.kit.landscape,
          superheat.sh, turnstile.use, turnstile.make, turnstile.link, turnstile.owner,
          localshops.buysell, localshops.manage, localshops.manage.owner, localshops.create,
          localshops.create.free, localshops.move, localshops.move.free, localshops.reload,
          iConomy.payment, iConomy.rank, iConomy.list, bColoredChat.color, essentials.time,
          minestalker.use, wolfnames.set, wolfnames.show, mothernature.command.umbrella,
          essentials.warp.aquahouse, essentials.warp.bulletin, essentials.warp.cargo,
          essentials.warp.dispense, essentials.warp.free, essentials.warp.gametime, essentials.warp.harbor,
          essentials.warp.lookout, essentials.warp.minecart, essentials.warp.sand, essentials.warp.skydive,
          essentials.warp.store, essentials.warp.town, essentials.warp.castle, mothernature.command.sun,
          essentials.togglejail]
      ADMIN:
        default: false
        info: {prefix: '&4', suffix: '', build: true}
        inheritance: null
        permissions: [essentials.signs.protection.create, essentials.signs.protection.use,
          essentials.signs.free.create, essentials.signs.free.use, essentials.signs.disposal.create,
          essentials.signs.disposal.use, essentials.depth, essentials.getpos, essentials.compass,
          essentials.top, essentials.jump, essentials.back, essentials.back.ondeath, essentials.tptoggle,
          essentials.tpa, essentials.tpaccept, essentials.tpdeny, essentials.tp, essentials.tpo,
          essentials.tpahere, essentials.tphere, essentials.tpohere, essentials.home,
          essentials.sethome, essentials.warp, essentials.warp.list, essentials.setwarp,
          essentials.delwarp, essentials.msg, essentials.afk, essentials.rules, essentials.motd,
          essentials.list, essentials.whois, essentials.gc, essentials.spawnmob, essentials.clearinventory,
          essentials.broadcast, essentials.burn, essentials.ext, essentials.ping, essentials.ban,
          essentials.banip, essentials.mute, essentials.kickall, essentials.unban, essentials.unbanip,
          essentials.kit.starter, essentials.kit.landscape, essentials.kit.farm, essentials.time,
          essentials.tree, essentials.bigtree, essentials.heal, superheat.sh, turnstile.use,
          turnstile.make, turnstile.link, turnstile.owner, turnstile.delete, turnstile.price,
          turnstile.admin.list, turnstile.admin.locate, localshops.buysell, localshops.manage,
          localshops.manage.owner, localshops.create, localshops.create.free, localshops.move,
          localshops.move.free, localshops.reload, iConomy.payment, iConomy.rank, iConomy.list,
          iConomy.admin.grant, bColoredChat.color, minestalker.use, minestalker.optin,
          minestalker.optout, wolfnames.set, wolfnames.show, essentials.invsee, essentials.togglejail,
          mothernature.command.umbrella, essentials.warp.aquahouse, essentials.warp.bulletin,
          essentials.warp.cargo, essentials.warp.dispense, essentials.warp.free, essentials.warp.gametime,
          essentials.warp.harbor, essentials.warp.lookout, essentials.warp.minecart, essentials.warp.sand,
          essentials.warp.skydive, essentials.warp.store, essentials.warp.town, essentials.warp.castle,
          mothernature.command.sun, essentials.weather, essentials.spawn]
      KINDA-OWNERISH:
        default: false
        info: {prefix: '&a', suffix: '', build: true}
        inheritance: null
        permissions: [essentials.signs.protection.create, essentials.signs.protection.use,
          essentials.signs.free.create, essentials.signs.free.use, essentials.signs.disposal.create,
          essentials.signs.disposal.use, essentials.depth, essentials.getpos, essentials.compass,
          essentials.top, essentials.jump, essentials.back, essentials.back.ondeath, essentials.tptoggle,
          essentials.tpa, essentials.tpaccept, essentials.tpdeny, essentials.tp, essentials.tpo,
          essentials.tpahere, essentials.tphere, essentials.tpohere, essentials.home,
          essentials.sethome, essentials.warp, essentials.warp.list, essentials.setwarp,
          essentials.delwarp, essentials.msg, essentials.afk, essentials.rules, essentials.motd,
          essentials.list, essentials.whois, essentials.gc, essentials.spawnmob, essentials.clearinventory,
          essentials.broadcast, essentials.burn, essentials.ext, essentials.ping, essentials.ban,
          essentials.banip, essentials.mute, essentials.kickall, essentials.unban, essentials.unbanip,
          essentials.kit.starter, essentials.kit.landscape, essentials.kit.farm, essentials.time,
          essentials.tree, essentials.bigtree, essentials.heal, superheat.sh, turnstile.use,
          turnstile.make, turnstile.link, turnstile.owner, turnstile.delete, turnstile.price,
          turnstile.admin.list, turnstile.admin.locate, localshops.buysell, localshops.manage,
          localshops.manage.owner, localshops.create, localshops.create.free, localshops.move,
          localshops.move.free, localshops.reload, iConomy.payment, iConomy.rank, iConomy.list,
          iConomy.admin.grant, bColoredChat.color, minestalker.use, minestalker.optin,
          minestalker.optout, wolfnames.set, wolfnames.show, essentials.invsee, essentials.togglejail,
          mothernature.command.umbrella, essentials.warp.aquahouse, essentials.warp.bulletin,
          essentials.warp.cargo, essentials.warp.dispense, essentials.warp.free, essentials.warp.gametime,
          essentials.warp.harbor, essentials.warp.lookout, essentials.warp.minecart, essentials.warp.sand,
          essentials.warp.skydive, essentials.warp.store, essentials.warp.town, essentials.warp.castle,
          mothernature.command.sun, yeditor.editor, essentials.item, epiczones.admin,
          essentials.weather]
      THE-OWNER:
        default: false
        info: {prefix: '&2', suffix: '', build: true}
        inheritance: null
        permissions: [essentials.signs.mail.create, essentials.signs.mail.use, essentials.signs.protection.create,
          essentials.signs.protection.use, essentials.signs.protection.override, essentials.signs.free.create,
          essentials.signs.free.use, essentials.signs.disposal.create, essentials.signs.disposal.use,
          essentials.signs.heal.create, essentials.signs.heal.use, essentials.depth, essentials.getpos,
          essentials.compass, essentials.top, essentials.jump, essentials.back, essentials.back.ondeath,
          essentials.tptoggle, essentials.tpa, essentials.tpaccept, essentials.tpdeny,
          essentials.tp, essentials.tpo, essentials.tpahere, essentials.tphere, essentials.tpohere,
          essentials.home, essentials.sethome, essentials.warp, essentials.warp.list,
          essentials.setwarp, essentials.delwarp, essentials.eco, essentials.worth, essentials.sell,
          essentials.balance, essentials.pay, essentials.msg, essentials.afk, essentials.rules,
          essentials.motd, essentials.list, essentials.mail.send, essentials.whois, essentials.essentials,
          essentials.reloadall, essentials.gc, essentials.plugin, essentials.spawnmob,
          essentials.clearinventory, essentials.broadcast, essentials.antioch, essentials.burn,
          essentials.ext, essentials.kill, essentials.ping, essentials.ban, essentials.banip,
          essentials.mute, essentials.kickall, essentials.unban, essentials.unbanip, essentials.togglejail,
          essentials.jail.exempt, essentials.setjail, essentials.give, essentials.item,
          essentials.kit.*, essentials.time, essentials.tree, essentials.bigtree, essentials.god,
          essentials.heal, essentials.spawn, essentials.setspawn, epiczones.admin, epiczones.who,
          epiczones.admin, superheat.sh, chickenBombs, turnstile.use, turnstile.make,
          turnstile.link, turnstile.owner, turnstile.delete, turnstile.price, turnstile.admin.bank,
          turnstile.admin.list, turnstile.admin.locate, turnstile.admin.ignore.price,
          turnstile.admin.ignore.cost, turnstile.admin.ignore.owner, localshops.buysell,
          localshops.manage, localshops.manage.owner, localshops.create, localshops.create.free,
          localshops.move, localshops.move.free, localshops.destroy, localshops.reload,
          localshops.admin, snowballz.aremadebyhand, snowballz.changeblocks, snowballz.dodamage,
          snowballz.putoutfire, iConomy.payment, iConomy.access, iConomy.rank, iConomy.list,
          iConomy.admin.grant, iConomy.admin.set, iConomy.admin.stats, iConomy.admin.reset,
          iConomy.admin.account.create, iConomy.admin.account.remove, bColoredChat.color,
          minestalker.use, minestalker.optin, minestalker.optout, slots.create, slots.remove,
          slots.set, slots.info, slots.save, slots.load, eggplugin, nocheat.notify, dungeongenerator.dungeongenerate,
          wolfnames.set, wolfnames.show, VIP.add, VIP.remove, VIP.enable, VIP.disable,
          VIP.kickToggle, VIP.VIP, essentials.invsee, yeditor.editor, colorme.list, colorme.self,
          colorme.other, colorme.remove, mothernature.command.help, mothernature.command.version,
          mothernature.command.reload, mothernature.command.rain, mothernature.command.thunder,
          mothernature.command.lightning, mothernature.command.sun, mothernature.command.umbrella,
          mothernature.wand, epiczones.admin, epiczones.who, to3.zeus.strike, to3.zeus.multiStrike,
          to3.zeus.strikeandexplode, choptree.chop, essentials.kill, essentials.seen]
    Users.yml:
    Code:
    users:
      joegabe:
        groups:
            - THE-OWNER
      mrsippycups:
        groups:
            - MOD
      WhiteaaaasauR:
        groups:
            - ADMIN
      acm09d:
        groups:
             - PLAYER
      alatham:
        groups:
            - PLAYER
      biooml:
        groups:
            - PLAYER
      bambi5511:
        groups:
            - KINDA-OWNERISH
      yankeesown27:
        groups:
            - KINDA-OWNERISH
      Nate_Tauer:
        groups:
            - PLAYER
      Gusman12:
        groups:
            - PLAYER
      Darkman4555:
        groups:
            - PLAYER
      matoro_toa:
        groups:
             - PLAYER
      totalown:
        groups:
            - PLAYER
     
  21. Offline

    Jeyge

    Are you sure Permissions created that file. That sure doesn't look like the file that my copy of 3.0 created.
     
  22. Offline

    Joegabe

    I copied my permissions into the folder it created for my world. I copied the groups into groups.yml and my user info in user.yml. Everything else the jar made was blank/empty
     
  23. Offline

    Plague

    changelog has to be at the end and latest 2 versions cannot be in a spoiler
     
  24. Offline

    fugue2005

    did the syntax of the groups file change?
    all the files permissions is creating are blank

    should there be anything in the storageconfig.yml file?

    had a blank users file

    my default group is Guest
    i log in for the first time and this is in my users file

    users:
    fugue2005:
    permissions: null
    groups: null

    i used the console and tried
    permissions fugue2005 w:world promote guest
    and got
    Code:
    2011-05-25 15:19:49 [WARNING] Unexpected exception while parsing console command
    org.bukkit.command.CommandException: Unhandled exception executing command 'permissions' in plugin Permissions v3.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:127)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:271)
        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:401)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:386)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:292)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    Caused by: java.lang.NullPointerException
        at com.nijikokun.bukkit.Permissions.Permissions.onCommand(Permissions.java:768)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
        ... 6 more
    
    on startup i'm getting
    Code:
    2011-05-25 15:23:47 [SEVERE] Error occurred while enabling PermissionsPlus v2.1 (Is it up to date?): directory
    java.lang.NoSuchFieldError: directory
        at net.codej.permissionsplus.PermissionsPlus.getPath(PermissionsPlus.java:211)
        at net.codej.permissionsplus.PermissionsPlus.loadPermissionsAddon(PermissionsPlus.java:189)
        at net.codej.permissionsplus.PermissionsPlus.onEnable(PermissionsPlus.java:76)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:125)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:750)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:253)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:132)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:110)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:265)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    and on shutdown i'm getting

    Code:
    2011-05-25 15:24:08 [SEVERE] Error occurred while disabling Permissions v3.0 (Is it up to date?): null
    java.lang.NullPointerException
        at com.nijiko.data.SqlUserStorage.close(SqlUserStorage.java:432)
        at com.nijiko.data.SqlStorage.closeAll(SqlStorage.java:313)
        at com.nijiko.permissions.ModularControl.closeAll(ModularControl.java:111)
        at com.nijikokun.bukkit.Permissions.Permissions.onDisable(Permissions.java:126)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:127)
        at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:771)
        at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:269)
        at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:262)
        at org.bukkit.craftbukkit.CraftServer.disablePlugins(CraftServer.java:121)
        at net.minecraft.server.MinecraftServer.stop(MinecraftServer.java:246)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:322)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
     
  25. Offline

    Jeyge

    I'm not sure what it could be. I've used your files and added myself to most of your groups and was still able to build/break and use the commands. Is it not working for just some people or everyone? Might be worth trying to re-download 3.0 to see if there was an update.

    Oh, one thing that I saw that was wrong but wasn't causing problems was that MOD is inheriting from Default but you don't have a Default.
     
  26. Offline

    rcjrrjcr

    Jeyge, that's how the new cross-world inheritance works. "*" denotes the global config world.
    You have to put the economy nodes in the global Member group.

    globalGroups.yml
    Code:
    groups:
        Members:
            permissions:
                - "economy.basic.*"
    
    globalUsers.yml
    Code:
    users:
        AMemeber:
            groups:
                - Members
        AnotherMember:
            groups:
                - Members
    
    Replace "economy.basic.*" with the appropriate economy nodes.

    https://github.com/TheYeti/Permissions/wiki/Transitioning-from-2.x-to-3.0

    You need to define tracks before you use them, but the NPE was because of me forgetting to return a value for a special case. Will fix these two bugs in the next update.
    PermissionsPlus doesn't work with 3.0. And 3.0 already has in-game commands.

    Permissions 3.0.1 released. This fixes an NPE related to accessing tracks without defining any and another NPE caused by the closing of SQL connections even when using a YAML config.

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

    Revenger

    Still generating the error on load.

    Code:
    2011-05-25 21:34:59 [SEVERE] tried to access class com.nijiko.configuration.NotNullRepresenter from class com.nijiko.configuration.NotNullConfiguration initializing Permissions v3.0 (Is it up to date?)
    java.lang.IllegalAccessError: tried to access class com.nijiko.configuration.NotNullRepresenter from class com.nijiko.configuration.NotNullConfiguration
        at com.nijiko.configuration.NotNullConfiguration.<init>(NotNullConfiguration.java:47)
        at com.nijikokun.bukkit.Permissions.Permissions.onLoad(Permissions.java:111)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:104)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:265)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    'permissions' commands especially reload from both console and in game /permissions gives this error on usage.

    Code:
    21:37:42 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'permissions' in plugin Permissions v3.0
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:127)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:279)
            at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:699)
            at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:666)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:660)
            at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
            at net.minecraft.server.NetworkManager.a(NetworkManager.java:196)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:377)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:292)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    Caused by: java.lang.NullPointerException
            at com.nijikokun.bukkit.Permissions.Permissions.onCommand(Permissions.java:189)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
            ... 12 more
    
     
  28. Offline

    m5k

    You are a golden God!
    I've been waiting for Permissions to add In-game commands and most importantly Multigroup support since I made my first server. I'll be rigorously testing this plugin in a few days, once I manage to clean my walls from the shit that hit the fan. The shit being cours-long university assignments that I've postponed to the last minute.
     
  29. Offline

    Revenger

    Made a clean install of permissions.

    Only storageconfig.yml file was created and was a blank file.

    No world folders or other files groups users were made even the global ones.

    I could still use every command even with no files made at all so looks like before when i could use economy etc my config files weren't loaded.

    All plugins hook in as: hooked into Permissions/GroupManager.

    I hope this is right for v3 as I have no other permissions files in.

    Ill try a single world for users and groups but have my doubts as permissions itself is generating errors like mentioned above.

    Nope doesn't work I followed the transistion guide for 1 world and put myself as guest in there I can still use all commands.

    rcjrrjcr I welcome you onto my test server or I can give you the files to check at.

    Something is wrong when I cant even even make a single world file following the transition guide and have permissions erroring out like above.
     
  30. Offline

    Joegabe

    I believe the link is still to 3.0. I clicked to download the jar of 3.0.1 and when I typed /permissions in game it's still saying 3.0.
     
Thread Status:
Not open for further replies.

Share This Page