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

    DarKMaKa

    Same problem here :(
     
  3. Offline

    fugue2005



    keep reading, the group peasant is
    default: true

    does peasant have to be listed first in tracks?
     
  4. Offline

    rcjrrjcr

    Sorry for the ultra-buggy state of this plugin. I'm currently working on 3.1, which is set to fix quite a bit of bugs and add back per-user prefixes/suffixes/build settings and other features.
     
    Don Redhorse, Jeyge and m5k like this.
  5. Offline

    mavbear

    Awesome, sounds good! Thanks :)
     
  6. Offline

    m5k

    Excellent. Can't wait to switch to 3.1, since HeroChat won't work till this is done.
     
  7. Offline

    Jeyge

    You mean I could have just edited that page? I kept thinking I would ask them for access at some point. Oops. :)

    Thanks for the update rcjrrjcr.

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

    Maxis010

    My bad, force of habit to default the first group
    I'm not sure about the tracks but try it and see if that helps
     
  9. Offline

    Revenger

    thanks for the update as long as 3.1 fixes global permissions the null pointer error etc it should be good as you know we have been fighting 3.0 versions allot.
     
  10. Offline

    SalumoN

    Hello! I've some plugins installed (WorldEdit, BigBrother, WorldGuard, EasyRules, Lockette). All of these works as they should, but when I install and configure Permissions, a probelm arrives. Everything does still work, except one very important feature. I can't place, or remove ANY blocks at all!

    What am I supposed to do? I'd really like some help :p.

    Code:
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - 'worldguard.region.info'
    
        Moderator:
            default: false
            info:
                prefix: ''
                suffix: 'Moderator'
                build: true
            inheritance:
                - Default
            permissions:
                - 'worldguard.god'
                - 'worldguard.heal'
                - 'worldguard.heal.other'
                - 'worldguard.slay'
                - 'worldguard.slay.other'
                - 'worldguard.region.define'
                - 'worldguard.region.redefine'
                - 'worldguard.region.claim'
                - 'worldguard.region.select'
                - 'worldguard.region.list'
                - 'worldguard.region.flag'
                - 'worldguard.region.setparent'
                - 'worldguard.region.setpriority'
                - 'worldguard.region.remove'
                - 'worldguard.region.addmember'
                - 'worldguard.region.addowner'
                - 'worldguard.region.removemember'
                - 'worldguard.region.removeowner'
    
        Admin:
            default: false
            info:
                prefix: ''
                suffix: 'Admin'
                build: true
            inheritance:
                - Moderator
            permissions:
                - '*'
    Code:
    users:
        salumon:
            groups: Admin
            permissions:
    
        miss_gamer2000:
            groups: Default
            permissions:
    
        paularne:
            groups: Default
            permissions:
    Also, where should I put these two codeblocks? I have them both in global, and in the world folder. I have tried changing on this... so that's not the problem, I suppose.
     
  11. Offline

    macweirdo

    I love your sense of humor!:)

    Also, thanks for the help. That was a stupid mistake.
     
  12. Offline

    cholo71796

    Is there a way to SET a group instead of only promoting or demoting? Promotion and demotion do not make sense on my server, especially when I have command signs that allow you to pay money to join a faction- I wouldn't want them continually paying money into the administrator group.
     
  13. Offline

    Jeyge

    I thought you were going back to 2.7.4 because of all this buggy crap?

    As for your question, I've read your posts and promotion/demotion is exactly what you want and was set up for your situation but here is your answer:
    It should be fun trying to figure out which group they currently belong to when you try to remove them from that group.
     
  14. Offline

    Volkanlp

    i dont get it, it doesnt work

    no plugin works only admin (- '*' ) can do something but if i give the specified group the node it says you have not the rights to do that

    http://pastebin.com/Js3370ND

    http://pastebin.com/ZYgnnqsb

    for example Default has not the right to use lwc or sethome or any other things like mcmmo


    with the older permissions everything worked
     
  15. Offline

    Jeyge

    I think we could update the wiki with that information but understand that there are some 800+ released plugins along with another 100+ still in the submissions. Then you have to decide how many of the inactive plugins you would want to test. It should take a while but it will all be worth it in the end. I would suggest starting a thread on the Bukkit Help forum though since you are going to want help testing them all to see if they work or not.
     
  16. Offline

    SalumoN

    Could you post your permissions code configuration? I'd like to see if we've got the same setup, since we've got the same problem... Anyone knows what's wrong? I'm really sorry if it's something really obvious. But I can't spot it xD.
     
  17. Offline

    Jeyge

    Your tracks look good and you don't have to change the order. Actually, that is a great way to do it. Gives you the ability to demote someone to even less permissions than the default group has. One thing I would fix would be where your default group is in the file. There have been inheritance problems in the past when a group was below the group it inherited from so it would be best if they followed in that order. Lowest rank first and admin/owner last. I'm not sure if that will fix your problem though but it will be a start.

    Your users.yml file needs to look like this:
    Code:
    users:
        salumon:
            groups:
            - Admin
            permissions:
    
        miss_gamer2000:
            groups:
            - Default
            permissions:
    
        paularne:
            groups:
            - Default
            permissions:
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  18. Offline

    rmbell

    You were 100% right. Thank you so much!
     
  19. Offline

    Jeyge

    The only thing I see that could cause a problem is in your users.yml file, the first group is pulled back one space. They all need to be moved over 1 extra space. The strange thing is your raw data doesn't show the same spacing problem. Another thing to perhaps try is to remove the - Default from guxsss since Moderator already inherits from Default.

    I did see you have Essentials so make sure you don't have GroupManager installed too. This will cause a lot of problems if you do.

    For the rest of the posts on the last 2 pages who I asked for files to be posted/posted again, you didn't post them. I won't be able to continue to help until I have those. That and I really do mean I need to know a command or 2 that doesn't work. I'm willing to load plugins on my test server to see if I can figure out what isn't working but I'm not going to guess which one or what command to run.

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

    Tim Andersen

    Newbie:
    default: true
    info:
    prefix: '&d'
    suffix: ''
    build: true
    inheritance: null
    permissions:
    - lockette.create.*
    - HomeX.*
    it is... and yes. read trough it all..
    my newbies are not able to do a thing. right untill i add them to the newbie group myself.
    this could be a 1.6, or a 815 mistake. i know iam using a unsuportet version. just pointing it out, its not working.
    and this is one of the most random plugins i have ever used. why not just tell us. an easy way how to add people to another group?.. why all the promote demote?.. upgrading a plugin should make things more easy. why not just add a command . /pr name group ????
     
  21. Offline

    SalumoN

    Lulz, I can't belive it was something as simple as that. Well, it fixed it! Thanks a lot! :D
     
  22. Offline

    Jeyge

    I think the command would need a little more information than that. Maybe something like "/pr <name> parents add <group>". Hey, wait, that is there. Damn. I just wish there was a wiki that explained all of the commands. Damn, foiled again.

    And complaining about one of the most complex and required types of plugins being random and having complex commands when you are running an unsupported build.
     
  23. Offline

    seiji_kun

    If I start my server i get:

    Code:
    [SEVERE] tried to access class com.nijiko.configuration.NotNullConfiguration$NotNullRepresenter from class com.nijiko.configuration.NotNullConfiguration initializing Permissions v3.0.6 (Is it up to date?)
    java.lang.IllegalAccessError: tried to access class com.nijiko.configuration.NotNullConfiguration$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:112)
        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)
    
    help please!
     
  24. Offline

    SyPi

    Debug Message:

    Start:
    Code:
    22:48:06 [SCHWERWIEGEND] tried to access class com.nijiko.permissions.ModularControl$1RefreshTask from class com.nijiko.permissions.ModularControl ini
    tializing Permissions v3.1 (Is it up to date?)
    java.lang.IllegalAccessError: tried to access class com.nijiko.permissions.ModularControl$1RefreshTask from class com.nijiko.permissions.ModularContro
    l
            at com.nijiko.permissions.ModularControl.<init>(ModularControl.java:53)
            at com.nijikokun.bukkit.Permissions.Permissions.setupPermissions(Permissions.java:158)
            at com.nijikokun.bukkit.Permissions.Permissions.onLoad(Permissions.java:118)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:106)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:229)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:216)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:282)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Stop:

    Code:
    22:49:29 [SCHWERWIEGEND] Error occurred while disabling Permissions v3.1 (Is it up to date?): null
    java.lang.NullPointerException
            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:123)
            at net.minecraft.server.MinecraftServer.stop(MinecraftServer.java:257)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:338)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  25. Offline

    Jeyge

    Take a look at this bug here.
     
  26. Offline

    CHEEZEGR8DR

    ok well i changed Meric171 to meric171 and it didnt change anyhting still getting errors. meric is just placing a block and the block just dissapears and i receive the errors
     
  27. Offline

    Jeyge

    2 things.
    1. Remove CreativeBuild as that is what is throwing the errors.
    2. Move away from spawn to see if you can build.
     
  28. Offline

    cholo71796

    Thanks. That does seem kind of strange that it needs the group parameter to remove the player from the group. Also, I was only changing when I got forced. Bugs are popping up in AssignPermissions now... :)
     
  29. Offline

    Jeyge

    Permissions 3.0 is multi-group aware. You have to tell it which group to remove which is why there is now a promote/demote. That allows you to move a person along a defined track from group to group.

    Well, I guess you at least didn't say you got the exact same errors again this time. At the same time though, am I to just guess what the errors are or would you like to post them? Pretend I don't have access to your machine and I can only see what you post.

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

    cholo71796

    The multi-group support is a bit user unfriendly. An option to toggle it would be quite nice.

    It's a nice idea, but the execution is less than desirable.
     
  31. Offline

    baem

    could somebody write a promotion example? ive read github wiki but i dont get it.
    lets say player Peter was in group Builder and i want him to be in group Moderator. what would the command be?
     
Thread Status:
Not open for further replies.

Share This Page