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


    When I try To add The Group name it would fail and not work and u try to help and make ranks like Group names before the user /admin?
  3. Offline


    you shouldn't be putting quotes around the group names, just the permission node names
    # right
    - 'essentials.spawn'
    # wrong
    - essentials.spawn
    although it isn't mandatory.
    also: is there any reason you have multiple users: tags?
            #bla bla
    instead of :
            # bla
            # bla bla
            # bla bla bla
    that may be an issue
  4. Offline


    Does some one know how i make Admin to show next to my nick name and same as Moderator ? coz i cannot find out :D
  5. Offline


    e_zach, I tried global and it didnt work, today another player came on and I tried promoting him
    so i put "/pr name promote Lance_Corporal Officers"
    this time different rank and track we were in the same world as well so :\
  6. Offline


    Hey guys,

    i am experiencing the problem, that even though other users and myself are marked as "Default" users in chat (i use iChat), we can neither build or use the - '*' Node. Trying to apply my configuration from ../plugins/world (the former RENAME-ME)/users.yml and groups.yml into the ../plugins/Permissions/globalusers.yml and globalgroups.yml, like shown in the vid, produces massive errors. (my level's name is world, so i hope i got that part right)

    my plugins/world/groups.yml:

            default: true
                prefix: ''
                suffix: ''
                build: true
                - '*'
            default: false
                prefix: ''
                suffix: ''
                build: true
                - '*'
    and ofc:
    groups: - Admins
    where lies the mistake? do i need to apply the configuration to plugins/Permissions/world/users.yml and groups.yml as well?
  7. Offline


    I still can't figure how to get Trusted rank to promote Visitors to Builder

    I tried /permissions <playername> w:world promote Visitor w:world Builder
    using permission - 'permissions.promote.builder'

    I get Track does not exist.... Here are my tracks.

        - Visitor
        - Builder
        - Trusted
        - Donor
        - Mod
        - Owner
    and /pr <playername> parents add Builder

    Returns you dont have permissions when the trusted rank has
    - 'permissions.parents.add.*' as a permission.

    Can someone tell me why this isn't working? The wiki doesn't really have any examples.
  8. Offline


    rename the rename-me to Permissions
    and for users it should be
            - Admins
    Err, you shouldn't really have trusted rank up people, just yourself and mods lol and since your in the default world with the player you could just type in "/pr <playername> promote Visitor Track"
    I see your problem, your supposed to put in the Trackname after their current rank not the rank they're suppose to go up to

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


    Can some one tell me how do i make me an Admin and some one Moderator.. it will be good to write this code in user: thank you
  10. Offline


    I figured it out now thanks!

    I renamed Track to Builder and only added the visitor and builder ranks. The highest they can promote is builder rank.
  11. Offline


    You need a chat plugin. You can specify that you want that prefix in the users file under your username, but you need Essentials Chat or iChat or something similar for it to actually show up. The prefixes are what the OTHER plugin looks for, Permissions just says what they can have.
  12. Offline


            - Admin
    In the quotes, without the line put in their ign(in-game name) and in groups it has to be that format, put the Admin rank down or the Moderator rank
  13. Offline


    Okay, if anyone could help me out with this, it would be much appreciated, as it is holding back the launch of my server.

    My server starts up fine as long as I have 12 or fewer plugins running.

    However, whenever I start up my server with more than 12 plugins running, I get this error, no matter which plugin is number 13:

    19:50:24 [SEVERE] java.lang.IllegalAccessError: tried to access class com.nijiko
    .permissions.ModularControl$1RefreshTask from class com.nijiko.permissions.Modul
    19:50:24 [SEVERE]       at com.nijiko.permissions.ModularControl.<init>(ModularC
    19:50:24 [SEVERE]       at com.nijikokun.bukkit.Permissions.Permissions.setupPer
    19:50:24 [SEVERE]       at com.nijikokun.bukkit.Permissions.Permissions.onLoad(P
    19:50:24 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftS
    19:50:24 [SEVERE]       at net.minecraft.server.MinecraftServer.e(MinecraftServe
    19:50:24 [SEVERE]       at net.minecraft.server.MinecraftServer.a(MinecraftServe
    19:50:24 [SEVERE]       at net.minecraft.server.MinecraftServer.init(MinecraftSe
    19:50:24 [SEVERE]       at
    19:50:24 [SEVERE]       at
    And I receive this error whenever I stop my server while running more than 12 plugins:

    19:50:42 [SEVERE] Error occurred while disabling Permissions v3.1.4 (Is it up to
     date?): null
            at com.nijikokun.bukkit.Permissions.Permissions.onDisable(Permissions.ja
            at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManag
            at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginMana
            at org.bukkit.craftbukkit.CraftServer.disablePlugins(
            at net.minecraft.server.MinecraftServer.stop(
    I am running CraftBukkit b818 and Permissions 3.1.4.

    Also, the main 12 plugins I am running are:

    Permissions (3.1.4)

    Also, is there any way to include an apostrophe ( ' ) in a user's prefix? I am trying and I think Permissions sees it as the end of the prefix.

    Thank you to anyone who can give help
  14. Offline


    I've gotten mine working relatively pain free. There were a couple issues here and there but it was mainly syntax. I'm up and running 100% now. Just read through the post (i know it's long, but there's tons of useful information and examples hiding in it)
  15. Offline


    I just had to disable it. Out of no where it started spamming my console with Could not pass event block_place to permissions. Not to mention everytime someone talked in chat. It would put 3 Nulls in my console right before the message.

    Can anyone provide an easy solution to this?....Hell, A solution at all?

    Were putting this server up to the public soon and I'm not putting it up with out permissions. Please help :(
  16. Offline


    Ok heres a question
    Im guessing i've set everything up ok as it all works. When i use the promote command it say "name" has been promoted up the track "track" or whatever the mesage is, however the user is not actually promoted.
    I know im not including logs and stuf i just wanna see if anyone knows what part of the plugin i have done wrong that would cause this
  17. Offline


    Could someone help me inserting the tables into MYSQL, because I keep getting syntax errors with the provided query.

    "Of course, for MySQL, AUTOINCREMENT is automatically replaced with AUTO_INCREMENT. ENTRYINDEX is replaced by an INDEX(name) for MySQL, and CREATE INDEX pr_entry_index ON PrEntries(name) for SQLite."

    So ive replaced AUTOINCREMENT with AUTO_INCREMENT and ENTRYINDEX with INDEX(name).

    This still produces syntax errors. What do I need to do for MYSQL?
  18. Offline


    Whats the difference between 'Main Jar only' and 'Jar only'?
  19. Offline


    If you mean the Main jar and the SQL jar, the main jar contains all of the normal permissions code for dealing with permissions, groups, users, prefixes, ... and that type of stuff while the SQL jar has everything needed to talk to SQL databases.
    I'm not sure I understand. Are you having a problem with what you quoted? Is it meant to be a SQL statement but ended up being a sentence instead. And what are you trying to run? Is it from the Perl script or something you made yourself?

    Promotions aren't working in 3.1.4.
    BLOCK_PLACE/BLOCK_BREAK errors come from an incorrectly named permission file. You file needs to be in the plugins\permissions directory and must be named <world name>.yml. If you have file extensions turned off, the file will be named <world name>.
    The less than 12 plugins error is annoying and hopefully we will see a fix for it soon.

    While I couldn't be much help for your first question, I can answer the second. Just put in 2 quotes where you want a single to show up.

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


    Jeyge, PM'ed you a startup log.
  21. Offline


    using the SQL schema provided in the wiki:

    When I run it in as a query from my SQL client (heidi SQL) I get syntax errors. Just wondering if I need to change some keywords to make it work with MYSQL?
  22. Offline


    I do believe that is just for reference and not to be used to create the tables. Just let the plugin create those.
  23. Offline


    My startup log is here: if anyone wants to take a look and help, disabling plugins fixes nothing, permissions still doesn't work (prefixes/suffixes/permission nodes).

    Figured it out, simply started with a newly downloaded groups.yml and pasted the stuff in.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Feb 15, 2019
  24. Offline


    Can you post a screenshot of your permissions\world directory? Your files are fine and you aren't showing any errors in your log which tells me that Permissions isn't finding the files where it expects them to be. Or even just zip up your complete permissions directory and post that. Also, make sure your global and storageconfig.yml files are empty.
  25. Offline


    I just get this in the console:

    20:17:58 [SEVERE] Error occurred while selecting permissions user config type. R
    everting to default creator.
    20:17:58 [SEVERE] Error occurred while selecting permissions group config type.
    Reverting to default creator.
    20:17:58 [SEVERE] Error occurred while selecting permissions user config type. R
    everting to default creator.
    20:17:58 [SEVERE] Error occurred while selecting permissions group config type.
    Reverting to default creator.
    20:17:58 [SEVERE] Error occurred while selecting permissions user config type. R
    everting to default creator.
    20:17:58 [SEVERE] Error occurred while selecting permissions group config type.
    Reverting to default creator.

    I have set the storage yml file correctly
  26. Offline


    <Edit by Moderator: Redacted mediafire url>

    Also, how would I make permissions in one world work in the others? (world -> world_nether as well)

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


    Is this on initial launch or something else? Post the rest of your server.log along with your storageconfig.yml. Feel free to x out your password.
  28. Offline



    2011-06-07 20:32:07 [INFO] Starting minecraft server version Beta 1.6.6
    2011-06-07 20:32:07 [INFO] Loading properties
    2011-06-07 20:32:07 [INFO] Starting Minecraft server on *:25565
    2011-06-07 20:32:07 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-766-g3fc0460-b818jnks (MC: 1.6.6)
    2011-06-07 20:32:07 [INFO] Preparing level "world"
    2011-06-07 20:32:07 [INFO] Preparing start region for level 0
    2011-06-07 20:32:08 [INFO] Preparing spawn area: 77%
    2011-06-07 20:32:08 [INFO] Preparing start region for level 1
    2011-06-07 20:32:09 [INFO] Preparing spawn area: 77%
    2011-06-07 20:32:09 [SEVERE] Error occurred while selecting permissions user config type. Reverting to default creator.
    2011-06-07 20:32:09 [SEVERE] Error occurred while selecting permissions group config type. Reverting to default creator.
    2011-06-07 20:32:09 [SEVERE] Error occurred while selecting permissions user config type. Reverting to default creator.
    2011-06-07 20:32:09 [SEVERE] Error occurred while selecting permissions group config type. Reverting to default creator.
    2011-06-07 20:32:09 [SEVERE] Error occurred while selecting permissions user config type. Reverting to default creator.
    2011-06-07 20:32:09 [SEVERE] Error occurred while selecting permissions group config type. Reverting to default creator.
    2011-06-07 20:32:09 [INFO] [Permissions] (Yeti) was initialized.
    2011-06-07 20:32:09 [INFO] [Permissions] version [3.1.4] (Yeti) loaded
    2011-06-07 20:32:09 [INFO] Done (0.261s)! For help, type "help" or "?"


    type: SQL
    dbms: 'MYSQL'
    uri: 'jdbc:mysql://localhost:3306/minecraft' # Change Port if Needed
    username: '******'
    password: '******'

    p.s. thanks for the help :)
  29. Offline


    Alright, thanks for the help.
  30. Offline


    Is it possible to change permission groups with this version?
  31. Offline


    You don't have PermissionsSQL.jar. I have a feeling that is what is causing all the problems.
    grapeman likes this.
Thread Status:
Not open for further replies.

Share This Page