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


    Permissions 3.1.6 (Yeti)

    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

    Feel free to comment and give suggestions.


    • 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 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)


    [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 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.

    • 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)

    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!​

    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. Offline


    permissions keeps disabling itself :/

    >23:28:23 [INFO] Entities enhanced[0] subclassed[1]
    >23:28:24 [INFO] DataSourcePool [MinecartManiaCore] autoCommit[false] transIsolation[SERIALIZABLE] min[2] max[20]
    >23:28:24 [INFO] SubClassFactory parent ClassLoader []
    >23:28:24 [INFO] Entities enhanced[0] subclassed[2]
    >23:28:24 [INFO] DataSourcePool [MinecartManiaSignCommands] autoCommit[false] transIsolation[SERIALIZABLE] min[2] max[20]
    >23:28:24 [INFO] SubClassFactory parent ClassLoader []
    >23:28:24 [INFO] Entities enhanced[0] subclassed[2]
    >23:28:24 [SEVERE] java.lang.IllegalAccessError: tried to access class com.nijiko.permissions.ModularControl$RefreshTask from class com.nijiko.permissions.ModularControl
    >23:28:24 [SEVERE] at com.nijiko.permissions.ModularControl.<init>(
    >23:28:24 [SEVERE] at com.nijikokun.bukkit.Permissions.Permissions.setupPermissions(
    >23:28:24 [SEVERE] at com.nijikokun.bukkit.Permissions.Permissions.onLoad(
    >23:28:24 [SEVERE] at org.bukkit.craftbukkit.CraftServer.loadPlugins(
    >23:28:24 [SEVERE] at org.bukkit.craftbukkit.CraftServer.<init>(
    >23:28:24 [SEVERE] at net.minecraft.server.ServerConfigurationManager.<init>(
    >23:28:24 [SEVERE] at net.minecraft.server.MinecraftServer.init(
    >23:28:24 [SEVERE] at
    >23:28:24 [SEVERE] at
    >23:28:24 [SEVERE] [Permissions] Unable to load permission data.
    >23:28:24 [SEVERE] [Permissions] Shutting down Permissions due to error(s).
    >23:28:24 [INFO] [Permissions] (Yeti) was initialized.
    >23:28:24 [INFO] [LogBlock] Version check: Your version is up to date
  3. Offline


    Thats all my logfile has @ACStache Happy brah?
  4. Offline


    How can I have other worlds (nether, etc...) inherit the users.yml file from the main "world" but not inherit the groups.yml file?
  5. Offline


    @VeryInsane is your storageconfig.yml in your Permissions folder next to globalGroups and globalUsers? is the file itself empty? if it's empty stick this in it:
             type: YAML
    and if you're not using yml files follow the other steps listed on this site for that file:

    and yes, just that little bit of info made me happy, as I can then get you the help you need :) or atleast get you in the right direction
  6. Offline


    I don't really understand any of this but I need permissions to make another plugin work. Now I can't place any blocks though... What can I do?
  7. Offline


    Looks Like permissions Will Now Be Dead. It Was one of The best Plugins But Now bukkit has its own. Good job To All Of permissions Developer It will be a slow Transition for plugins
  8. Offline


    I'll still use this plugin.
    bukkit only created a standard api where plugins can ask for permissions, doesn't matter wich permssions plugin the server uses.
    Permissions just have to hook in to that api, then everything will be allright :D
  9. Offline


    Nope, Bukkit created the Official permissions, but it is new. I should recommend using this until the Version is complete on the BukkitPermissions.
  10. Offline


    Everything is working fine, no errors, no conflicting plugins and no problems at all except I can not place a destroy any blocks, please help:(
  11. Read the FAQ, he has a whole wiki of documentation you should consult first. As the first part says:
    Make sure you move away from the spawn area or set spawn-radius to 0 in your bukkit.yml file. You should also make sure you aren't running 2 permissions plugins. Trying to run both GroupManager and Permissions can cause exactly this type of error. Make sure your permissions files are in the plugins\permissions\<world> folder. If they aren't, you will see this type of error. If you have a Chat plugin, make sure the group before your name is the one you would expect it to be. If you have some sort of protection plugin like EssentialsProtect or WorldGuard, make sure you aren't in a protected region. If all else fails, post your permissions files with your server.log and someone should be able to help.

    For me, I just had to set spawn-radius to 0 in the bukkit.yml file.
  12. Offline


    Permissions 3 isnt dead! If it was dead, that would ruin the point of the api, cause PermissionsEx, GroupManager and more would die. Everyone won't migrate to BukkitPermissions as it is simply a default example. If all these plugins die, they might as well had made the API use BukkitPermissions and not support different Permissions Management plugins of the Users Choice
  13. Offline


    work on 1000# ??!??!?
  14. Offline


  15. Offline


    @tony687 PermissionsBukkit is another form of a permissions plugin. you can use that if you'd like, but ultimately they'll all work. I have my server on RB1000 and no one has complained about breaking permissions (other than what they already couldn't do since I didn't give them perms :D)

    @0mi4 so far so good for me
  16. Offline


    each time I log in to my server which I just configured with permissions, I get this error

    10:39:07 [SEVERE] java.lang.NoSuchFieldException: perm
    10:39:07 [SEVERE]       at java.lang.Class.getDeclaredField(Unknown Source)
    10:39:07 [SEVERE]       at org.bukkitcontrib.player.ContribCraftPlayer.<init>(Co
    10:39:07 [SEVERE]       at org.bukkitcontrib.player.ContribCraftPlayer.updateBuk
    10:39:07 [SEVERE]       at org.bukkitcontrib.ContribPlayerListener.onPlayerJoin(
    10:39:07 [SEVERE]       at$1.execute(Jav
    10:39:07 [SEVERE]       at org.bukkit.plugin.RegisteredListener.callEvent(Regist
    10:39:07 [SEVERE]       at org.bukkit.plugin.SimplePluginManager.callEvent(Simpl
    10:39:07 [SEVERE]       at net.minecraft.server.ServerConfigurationManager.c(Ser
    10:39:07 [SEVERE]       at net.minecraft.server.NetLoginHandler.b(NetLoginHandle
    10:39:07 [SEVERE]       at net.minecraft.server.NetLoginHandler.a(NetLoginHandle
    10:39:07 [SEVERE]       at net.minecraft.server.Packet1Login.a(SourceFile:43)
    10:39:07 [SEVERE]       at net.minecraft.server.NetworkManager.b(NetworkManager.
    10:39:07 [SEVERE]       at net.minecraft.server.NetLoginHandler.a(NetLoginHandle
    10:39:07 [SEVERE]       at net.minecraft.server.NetworkListenThread.a(SourceFile
    10:39:07 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServe
    10:39:07 [SEVERE]       at
    10:39:07 [SEVERE]       at
    also, I seem unable to use op commands anymore, it causes the server to crash... and about 20 error
  17. Offline


    Hey Guys, I tried looking around for an answer, but couldn't find one.
    Things seemed to have been working fine up until this morning. Now when ever we try to execute a command we get this.

    I'm no computer coding guy, but it looks like when ever someone tries to enter a command it starts checking to see if the user has permission to do that, and then freaks out and crashes. The server will not come back online unless we do a hard reset after that point.

    10:29:40 [SEVERE] Unexpected exception
    java.lang.NoClassDefFoundError: org/bukkit/permissions/Permission
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
        at java.lang.Class.getMethod0(Unknown Source)
        at java.lang.Class.getMethod(Unknown Source)
        at org.bukkit.craftbukkit.command.ServerCommandListener.getName(
        at net.minecraft.server.ConsoleCommandHandler.handle(
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(
        at net.minecraft.server.NetServerHandler.handleCommand(
        at net.minecraft.server.NetServerHandler.a(
        at net.minecraft.server.Packet3Chat.a(
        at net.minecraft.server.NetworkManager.b(
        at net.minecraft.server.NetServerHandler.a(
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(
    Caused by: java.lang.ClassNotFoundException: org.bukkit.permissions.Permission
        at$ Source)
        at Method)
        at Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 17 more
    We have disabled bukkit for now, but are excited to get the server back up and running. I'm going to keep scouring the interwebs for a solution, but it looks like it has something to do with permissions. I read that Bukkit has some sort of integrated permissions system now - could that be the source of the issue?

    Thanks a bundle guys.
  18. Offline


    So hey ill just post this, guess its a useless rant, but bear with me.

    I've been using permissions since like idk, im thinking 1.3 but im not sure.
    Anyway, ive never had any problems with 2.x (or before)
    But then the TheYeti got pulled back into his personal life, and ever since, shits been hitting the fan?

    Problems i see with Permissions 3.x
    - I've not seen "rcjrrjcr" post in this thread for weeks ina row now
    - Everybody's having problems with the chat commands beeing either vague, or broken
    - 90% (okay i just came up with that number) of the people that try it cant get mysql working with permissions, which (to me) the whole goal of updating to 3.x
    - The only one that seems to still care for the users of permissions, is Jeyge, dude, respect, but why are you cleaning up after rcj?

    To clarify; I have mayor problems with 3.x, it wont use mysql, it adds people all over the file (instead of alphabetically), theres no default group and manual additions to users/groups are discarded/overwritten.

    Im back on 2.7.4. Ill keep a eye on 3.x, hoping it improves.......
    Signed, one bummed out permissions user..
  19. Same error as the 2 posts above me, last Perm & CB 953
  20. Offline


    What bukkit build are you running?
  21. Offline


    i need like major help it works on and off
  22. Offline


    nvm ill just wait for the auto-convertor for 3.1.6!
  23. Offline


    I have a horrible, horrible bug! :'(

    13:03:38 [SEVERE] java.lang.IllegalAccessError: tried to access class com.nijiko
    .permissions.ModularControl$RefreshTask from class com.nijiko.permissions.Modula
    13:03:38 [SEVERE] at com.nijiko.permissions.ModularControl.<init>(ModularC
    13:03:38 [SEVERE] at com.nijikokun.bukkit.Permissions.Permissions.setupPer
    13:03:38 [SEVERE] at com.nijikokun.bukkit.Permissions.Permissions.onLoad(P
    13:03:38 [SEVERE] at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftS
    13:03:38 [SEVERE] at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer
    13:03:38 [SEVERE] at net.minecraft.server.ServerConfigurationManager.<init
    13:03:38 [SEVERE] at net.minecraft.server.MinecraftServer.init(MinecraftSe
    13:03:38 [SEVERE] at
    13:03:38 [SEVERE] at
    13:03:38 [SEVERE] [Permissions] Unable to load permission data.
    13:03:38 [SEVERE] [Permissions] Shutting down Permissions due to error(s).

    Many plugins seem to cause this when installed, including falsebook, autotool and in this case, logblock.

    Please help me, I dont dare open my server to the public without logblock!

    Craftbukket version: 1000
    Minecraft version: 1.7.3
    Java version: 1.6.0_24

    I have a 64 bit system.
  24. Offline


    Okay. Now I get:

  25. Offline


    There sure could be more plugins that cause it now but the basic 4 or actually 2 since 2 of them fixed the bug in less than a week after figuring it out are the ones that usually cause it. Take a look at the wiki FAQ for an alternate solution if updating the broken plugins doesn't work.
    Post what doesn't work with your permissions yml files and server.log.
    That would be a built in bukkit permissions error. Post it in their thread or if you really believe you shouldn't be getting it, post your full server.log and your permissions.yml from the root directory and I will look at it for you.
    That would be a BukkitContrib error. Post it in their thread and they will help.

    There is an Issue asking for exactly this so hopefully we will see it at some point. One thing you can do in the meantime is take a look at Example 2 in the Globals vs. World topic on the wiki. It isn't a perfect solution but it does work.
    See the wiki FAQ for some information on how to fix that.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Sep 9, 2018
  26. Offline


    MyHome also causes the IllegalAccessorException.
  27. Offline


    Those would be the messages saying that Permissions received an error but not the error itself. Post the actual error and someone should be able to help.
    MyHome was actually the first one found to cause the error.

    And yet somehow, someone has no idea what they are talking about. Perhaps ask them to find it in your log and post it because it will be really hard to tell you what you need to fix if you can't post the error.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Oct 10, 2018
  28. Offline


    Oh lawl xD
  29. Offline


    MyHome has a p3 version you can use to avoid having those IAEs
  30. Offline


    @Jeyge Okay.. but where? I don't think I get a specific error..
  31. Offline


    If you can't find it, feel free to post your server.log and someone will be able to take a look.
Thread Status:
Not open for further replies.

Share This Page