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


    Anyone else experiencing breaks in permissions 3.1.5b commands after going to builds over 910CB which are DEV builds.
    Not asking for support here, just wondering if anyone having the same issue?
  3. Offline


    Well the thing is, that was just an example, I have absolutely no permissions at all, but in my configs I am supposed to have all permissions ('*'), but almost no commands work, WorldEdit and WorldGuard commands work, and I believe iConomy commands too (at least /money does), but things like any General commands (/time, etc.) as well as MagicCarpet (/mc) don't...and I've set all of those to use Permissions for permissions handling.
  4. Offline


    I've noticed that after a couple of days running, Permissions fails (using MYSQL)

    I have to restart the server and it is fixed. There are no changes to the tables.

    Here is the log:

    Anyone know of a fix?
  5. Offline


    Hey guys,

    Do you know, how I can install permissions with mysql support? I've heard you can run permissions with mysql, or can't I?
  6. Offline


                prefix: '&2[Citizen]'
                rank: 1
            build: true
            default: true
            - DropPlugin.*
            - controllerblock.*
            - chaircraft.sit
            - iConomyDeath.use
            - falsebook.*
            - kit.*
            - scavenger.scavenge
            - dropplugin.drop.*
            - bog.*
            - mcdocs.*
            - gastronomic.player.*
            - craftbook.mech.*
            - towny.spawntp
            - pickpocket.use
            - essentials.tpa
            - essentials.tpaccept
            - essentials.tpdeny
            - playerlives.canUse
            - essentials.tpahere
            - mywolf.leash
            - mywolf.chest
            - mywolf.pickup
            - towny.publicspawntp
            - mobRider.command.*
            - mobRider.animals
            - PortableTorch.Allow
            - giftpost.chest.everywhere
            - rc.freecreate
            - slowhealth
            - rc.freelink
            - tombstone.freechest
            - BetterShop.user.*
            - residence.create
            - rc.create
            - rc.list
            - rc.remove
            - rc.rename
            - BlueTelePads.Use
            - rc.sort
            - rc.stack
            - giftpost.chest.empty
            - giftpost.chest.upgrade
            - giftpost.chest.send
            - modtrs.command.modlist
            - slowhealth
            - ac.chest
            - essentials.signs.mail.use
            - modtrs.command.modreq
            - icoland.misc.canbuild
            - worldguard.region.claim
            - backpack.toggle
            - worldguard.claim
            - essentials.signs.disposal.use
            - essentials.signs.heal.use
            - essentials.signs.sell.use
            - essentials.back
            - essentials.back.ondeath
            - essentials.sethome
            - essentials.list
            - essentials.home
            - essentials.warp.*
            - essentials.warp
            - essentials.sell
            - essentials.msg
            - essentials.msg
            - essentials.motd
            - essentials.rules
            - essentials.mail.send
            - essentials.clearinventory
            - essentials.kit
            - essentials.kit.*
            - essentials.suicide
            - essentials.spawn
            - iConomy.rank
            - iConomy.list
            - iConomy.payment
            - jail.usercmd.jailstatus
            - lwc.protect
            - mcmmo.commands.*
            - mcmmo.ability.*
            - mcmmo.item.chimaerawing
            - mcmmo.skills.*
            - money2xp.user
            - essentials.depth
            - icoland.admin.modify.addons
            - invtools.allowtools
            - essentials.getpos
            - mobRider.monsters
            - essentials.compass
            - backpack.saveactionbar
            - backpack.maxpages.3
            - essentials.jump
            - essentials.afk
            - herochat.create
            - movecraft.*
            - war.player
            - citizen
                prefix: '&7[Mod]'
            build: true
            rank: 2
            default: false
            - essentials.tppos
            - essentials.tphere
            - recoil.destroy
            - essentials.setwarp
            - essentials.delwarp
            - obuvoting.create
            - essentials.spawnmob
            - obuvoting.cancel
            - essentials.nick
            - towny.wild.*
            - gastronomic.admin.*
            - PortableTorch.Permanent
            - mothernature.wand
            - jail.command.jail
            - jail.command.jailtransfer
            - humiliation.*
            - jail.command.unjail
            - jail.command.jailcheck
            - backpack.maxpages.5
            - jail.command.jaillist
            - humiliation.*
            - lwc.mod
            - mod
                prefix: '&e[Admin]'
            build: true
            rank: 3
            default: false
            - annoy.others
            - essentials.clearinventory.others
            - worldedit.*
            - essentials.kill
            - essentials.kick
            - BetterShop.admin.*
            - essentials.invsee
            - backpack.maxpages.6
            - iConomy.admin.*
            - spyer.spy
            - essentials.time
            - money2xp.admin
            - pvpreward.admin
            - weatherman.*
            - spyer.seeAll
            - tombstone.admin
            - ac.admin
            - spyer.stopmobs.admim
            - worldguard.*
            - admin
                prefix: '&6[SuperAdmin]'
                rank: 4
            build: true
            default: false
            - '*'
            - -essentials.item
            - citizen
            - mod
            - admin
            - admin
            - superadmin
    That is my groups.yml file. No one can build. I cannot implement a new server addition of an ongoing war without this fixed so I can put better tracks in. Help?
  7. Sorry, I hav'nt read the entire thread to see if you have answerd this, and i have google searched for about an hour.

    All of a sudden, no users could break blocks or build. Nothing i do works. i have stripped the server down to running JUST permissions, with new config files, the works. Nothing works, no one can build or break anything. Using Bukkit 860 and latest permissions. HELP!
  8. Offline


    Heh. Same problem as me, as well as some other guy from 2 pages ago.

  9. Thing is, it was all working fine. No changes made to any settings at all, but now, no one can build. Ive worked around it by adding everyone to the globalusers file manually, but that dos'nt help new users. I think ill be deleting this and using the essentials permissions instead. i know that works, maybe not as well, but at least my users can build.

    VERY disapointing indeed.
  10. Offline


  11. Offline


    MySQL was a headache to setup, and since the change of server-computer, i couldn't be bothered to set it up. Is sqlite better? It is slower at logging I heard though.
  12. Offline


    MySQL really isn't hard to set up and once you do, you can transfer the database from computer to computer and nothing is lost in the process.
    Download MySQL and MySQL WorkBench
    Install Both MySQL and MySQL WorkBench
    Once MySQL is running, start up MySQL WorkBench and Connect to your LocalHost Installation of MySQL
    Create a new DataBase from MySQL WorkBench in LocalHost
    Name it something like "minecraftbeta"
    Go into the config file of every plugin that supports MySQL and
    Link them to your new DataBase named "minecraftbeta"
    Done? Easy Peasy....

    All tables can be edited from MySQL WorkBench fo easy editing. MySQL WorkBench also has an Export/Import feature to transfer the database to a new computer. It is seriously not hard.

    Once you have Permissions Successfully Linked with MySQL, you can read over my post on how to get started with adding permissions when using MySQL. It is a bit of a getting started guide.


    The best suggestion I can give you is to use MySQL.... YAML Config Files for Permissions are bullshit. YAML in general is WAYYYYYY TOO picky on formatting. Leaving out a simple ' can destroy the entire file and cause Permissions to not work. Whereas with MySQL, everything is very concrete. You only need to put information in the correct tables and you can't go wrong. (lol... unless you mess this up somehow.... cough cough...)
    Read my posts and the Permissions WIKI to help you out on setting up MySQL with Permissions.

    I am almost CERTAIN that that is a known bug which is caused because the connection Permissions has with MySQL TIMES OUT and can't reconnect. This is being addressed in coming updates. In the meantime, simple using /reload in game once in a while will prevent this from happening.

    Triple check, Quadruple check, CHECK CHECK CHECK.... that is what YAML needs because of its bullshit pickyness.... Make sure all of your data values are surrounded by 'data'

    General Formatting for YAML:
                prefix: '&4'
                suffix: ''
                build: 'true'
            - 'Trusted'
            - 'lwc.protect'
            - 'commandbook.spawn'
    If you download NotePad ++, you can replace the tab key with 4 spaces.

    You need to add single quotes around all data values. such as this:
            default: 'false'
                prefix: '&7[Mod]'
                suffix: ''
                build: 'true'
            - 'essentials.tppos'
            - 'essentials.tphere'
            - ''

    Promote and Demote don't work yet so it wouldn't matter if it could. :D

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


    My users get a "no permissions"-message when placing a block, but the block is placed nevertheless.
    How do I get rid of that message, as it is very annoying?
  14. I would, but I've been a server/computer tech for over 20 years, and one thing i will NEVER touch, is SQL. I just hate it. i cant even tell you why i hate it. i just do. Always given me a total headache. I've Just migrated to permisionsEX, and its working perfectly. And being able to control every little part of it In game, is just great. no more alt tabbing and reloading for me.
  15. Offline


    Assuming you are a craftbook user add craftbook.mech.cauldron to all build true groups
    p0rnflakes likes this.
  16. Offline


    This is a great plugin and all but A few days ago I was trying to block the command "/tree" and after 50+ hours of trying I realized that inheritance does not inherit "NoNo" nodes like "- -essentials.tree" or at least not for me. One final request, can you please not make your config file "Better then jesus"? Because I've seen many other plugins that do so.
  17. Offline


    Why, thank you, kind sir!
    That fixed it.
  18. Offline


  19. Offline


    Damn dude.... Well I won't try to convert you! :D As long as it all works out in the end for you.
    Best of Luck!
  20. Offline


    I've been moving my server over to MySQL. Curious why I can't seem to link permissions to my sql database. I've been able to link most other plugins, but I must be doing something wrong with the storageconfig.yml file but I can't figure it out. I've got them linked I believe to where they need to be....

    type: SQL
    dbms: 'MYSQL'
    uri: 'jdbc:mysql://myhosturl:3306/my DB Name' # Change Port if Needed
    username: 'username'
    password: 'password'

    Am I missing something in the above file?

    All the other plugins I have installed have created a table in the database. For some reason nothing is created for Permissions.
  21. Offline


    Is there a guide to switch to mySQL because I don't even quite know what it is...
  22. Offline


    Read the migration section of the first post.

    But know that all the automated converters will only work with 3.0.6 for now, so you might want to loadup an early version of permissions 3.x and then move all your .yml over via the web based converter then after thats done upgrade permissions to the latest.

    If you dont know what SQL is you are in for a world of hurt unless you research, google phpmyadmin and MySQL do some research on how to manage it etc. PLEASE dont post basic MySQL questions here, there are far better places to talk about it, USE GOOGLE. :)
  23. Offline


    This has already been asked, but there's A HUNDRED AND ELEVEN PAGES to read to check that...

    Anyway, I can do anything in my Permissions server, because I have admin rank whose permissions are '*'. However, Default users can't even build. I turned spawn protection to 0 and then used Reload in the console, but they still couldn't. These are my config files:

    GlobalGroups.yml (open)
    build: true
    prefix: '7'
    suffix: 'f'
    - '*'
    prefix: '4'
    suffix: 'f'

    I added the Info: Build: True after they left, so I don't know if that helped.

    GlobalUsers.yml (open)
    prefix: '&2'
    - Admins
    - '*'
    prefix: '&0'
    - Admins
    - '*'
    prefix: '&4'
    - Admins
    - '*'

    There were no world-specific YAML files for the world we were on.
  24. Offline


    World Specific files are required, this is being worked on but for now just mirror your files from global or another world
  25. Offline


    odd occourence, some of my friends are getting message saying "you do not have permission to do this" when placing blocks, or at other times when doing commands they have been permitted to use, it lets them build and do the commands till just errors them each time?
  26. Offline


    Is there a way to set the Default group?
    New users seem to be in the default group but are, in fact, not in there, they do not have a group, which renders the promote-command useless to me.
    How to properly set the default group?

    I had the same problem, just add craftbook.mech.cauldron to all groups that are allowed to build, that fixes it.
  27. Offline


    Hey rcjrrjcr, this permissions system is great. Other than a few bugs..... I was wondering, will you ever make direct commands? I am a little tired of having to type a long command just to promote someone..... And will you ever make a setting within a rank like op: true/false? I run a small server with a few friends, and if one of them decides to get some attitude I will demote them for a few seconds to make a point. When I do so, I have to type a loooong command to demote them, then i have to /deop them.... Will you ever add a feature saying what ranks are op?

    Also.... Why can't I add a prefix to a global rank? I tried everything but no matter what I do, I can't color a global rank name, or anything..... Am I doing something wrong or is it not added yet?

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

    Dr Danco

    Is there a node that I can let groups use /pr -reload commands?
  29. Offline


    I have a glitch with your plugin. I am trying to use a plugin called Jail and this plugin DISABLES itself, and I don't know why. What am i supposed to do?
  30. Offline


    I use jail too. When I first installed it I was not yet using permissions. When the Jail plugin does not find a permissions plugin, it kills itself. I would check your terminal in the beginning to see if the Permissions were really activated. If they were not then that is why the Jail plugin is disabling itself.
  31. Offline


    No, Permissions is disabling itself.
Thread Status:
Not open for further replies.

Share This Page