Inactive [ADMN/DEV] Permissions v2.7.4 (Phoenix) - DISCONTINUED! 3.0 has a new home!

Discussion in 'Inactive/Unsupported Plugins' started by TheYeti, Feb 25, 2011.

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

    TheYeti

    Permissions 2.7.4 (Phoenix) - Now with AntiBuild built in!
    Download:
    Latest Stable: Full Zip | Jar Only
    Latest Dev Build: Full Zip | Jar Only
    Previous Versions: 2.7.3 (JAR) | 2.7.2 (JAR) | 2.7.1 (JAR) | 2.7 (JAR) | 2.6 (JAR) | 2.5.5 (JAR) | 2.5.4 (JAR) | 2.5.3 (JAR) | 2.5.2 (JAR) | 2.5.1 (JAR) | 2.5 (JAR) | 2.4 (JAR) | 2.3 (JAR) | 2.2 (JAR)

    Plugin Authors: How to hook into Permissions

    Permissions 2.x is being discontinued! 3.0 can be found HERE!!!


    I am discontinuing Permissions 2.x and leaving the project. Permissions is not going away though! Since 2.6 I have been working closely with another developer and added them to the team. For the past several version they have not only been assisting with 2.x but also doing a lot of the development of much anticipated 3.x. rcjrrjcr will be taking over as lead developer of Permissions from 3.x forward. I have full faith in them and after working closely with them on the development on the last few version and the next major version I feel that I am leaving this project in more than capable hands. I put way to much work into this project to just leave it with anyone, and this is one of the few programs that I am incredibly proud of.

    Many people will probably wonder why I am leaving again after taking over the project just a few months ago. I could quote drama and headaches, of which there were quite a few with this project. Unfortunately real life happens. Many people already know that I have been having medical issues here lately. Unfortunately while they have gotten better, they have not gone away. This coupled with other real life commitments, going to school full time, and starting up my own company, I am currently in the process of being laid off from work. At this point I have so much stuff going on in my life and am being pulled in so many directions that I am not able to get any work done on anything. This has lead to me missing commitments and letting people down on multiple things.

    Permissions is also a very high maintenance plugin that requires a lot of attention and time. Right now I am not able to devote that time and do not feel it is fair for me to try to continue to be the lead developer on it. I had originally thought that adding other members to the team would be helpful, but unfortunately this just lead to frustration for them and myself as I just was not able to commit to the project enough. Hence, 3.0 has been rewritten almost exclusively by rcjrrjcr with minimal contributions by myself.

    At this point I will be stepping away from the project to focus more on real life and to try to free up some time for other projects and to work with more individual like the wonderful HeroCraft Coding team to fulfill some commitments that I made to them a long time ago and sadly did not come through on. I feel that this is the best for all involved, both myself and the other Permissions developers, as well as the community who deserve someone who can contribute more time and attention to them and supporting them. I do not want to see Permissions end up like many other plugins with an absentee programmer and just slowly wasting away from a great plugin with a lot of potential to a headache with no support.

    I will still be active in the community, just not as much as not in the same way. I'm sure my server will be more than happy to have their head admin back and active again as well.

    Thank you and happy gaming.




    Changelog
    • 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
    • 2.6
      • Pulled in commits by rcjrrjcr
      • Fixed versioning. Last version should have technically been 2.6
      • Fixed invalid config file being written
      • Fixed erroneous conversion message.
    • 2.5.5
      • Updated to be compliant with CB600+
      • Further Maven Integration and Autobuilding
      • Better handling of configuration file errors.
        • If you do not have a world config file for the default world at startup it will now look for config.yml
        • If it cannot find that it will look for world.yml instead in case you named it that when that is not what is in level-name:
        • It will rewrite the config file to be the proper name. At this time it does not delete the old one though.
      • Removed defunct public abstract calls. If your not using the right one by now you should be shot anyway.
    • 2.5.4
        • Added Command aliases for perms and pr
        • Changed the way directories are handled.
        • Stopped it from creating an empty <world>.yml file in base directory
        • Moved project to using Maven.
    • 2.5.3
      • Change from File.pathSeparator to File.separator to fix multiworld perms
    • 2.5.2
      • Added more instructions to the included config file within the plugin
      • Added a check that will use the default world permissions if a world specific config file cannot be found.
      • Added a function to get only the group that a player is assigned to without checking for group inheritance.
      • Added a change to colorize() to fix it hopefully not adding an extra unneeded ascii character and thus creating a linebreak/color switch issue
      • Removed permissions.info as it was not needed and was a artifact of testing I was doing.
    • 2.5.1
      • Fixed a bug that could cause a group to be returned as null for getGroups()
    • 2.5
      • Added in AntiBuild functionality to Permissions
      • Minor code tweaks
      • Added getGroups(world, player) to PermissionHandler so that plugins can call it to get all of a users groups
      • Fixed the inability to use the permissions -reload all command from within the console. I still need to do some more work on this as it doesn't seem to like to accept anything other than all from console.
    • 2.4
      • Refactored namespaces to keep in line with Java & Bukkit policy
        • This was cancelled as it ended up being not needed
      • Fixed setupPermissions()
    • 2.3
      • Undid removal of some code that I had overzealously purged during cleanup
      • Merged in last of Nijikokun's changes
      • Re-ordered the main class to attempt to fix the problems with Plugin API
    • 2.2
      • Developer change
      • Fixed reloading of configuration files
      • Moved commands to registering with plugin.yml
      • Commands now use onCommand instead of onPlayerCommand
      • Command is now /permissions instead of /pr
    [/SPOILER]
     
    mruczek, kahlilnc, Pii and 58 others like this.
  2. Offline

    jolee1995

    Thanx Alot!!
     
  3. Im having exactly the same problem.
     
  4. Offline

    Trillily

    Do

    Code:
    inheritance:
    Mean get the permission from other group ?

    Second Question do a Moderator have the Mod and Default Permission ?

    Third Question, What
    Code:
    null
    mean in
    Code:
    inheritance: null

    Thank for awnser me :)
     
  5. Offline

    lycano

    @Trumple: try this

    Show Spoiler

    Code:
    plugin:
        permissions:
            system: default
            copies: null
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: false
            inheritance: null
            permissions:
                - 'general.spawn'
                - 'general.warp'
                - 'essentials.help'
                - 'essentials.warp'
                - 'essentials.mail'
                - 'essentials.motd'
                - 'essentials.sethome'
                - 'essentials.home'
                - 'essentials.list'
                - 'general.motd'
                - 'general.list'
                - 'multiverse.tp'
                - 'essentials.back'
                - 'essentials.spawn'
                - 'essentials.teleport'
                - 'essentials.time'
                - 'iConomy.payment'
                - 'iConomy.list'
                - 'iConomy.view'
                - 'localshops.buysell'
                - 'turnstile.use'
                - 'war.player'
        Moderator:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
                - Default
            permissions:
                - 'essentials.kick'
                - 'essentials.ban'
                - 'essentials.give'
        Admins:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance: null
            permissions:
                - '*'
    users:
        Trumple:
            group: Admins
            permissions: null
    


    But i would recommend permissions like the second spoil.

    Don't assign to much to the default group. This is the group who not assigned users are put into. If you gave them too much permissions then they could grief a lot .. like if you give em teleport or spawnset abilities he could spam your server to death by just teleporting indefinitely and forcing the world to generate to death. Maybe you want to mix it with xAuth .. it can restrict a user very effective.

    An unregistered user cant move when not logged in and has no rights to do anything. Standing still at the spawn without the ability to talk prevents any griefer from spamming the chat but someone should take care of those ppl instantly by invoking the /msg command through essentials =)

    In addition remove the generall plugin! Its conflicting with essentials see http://ess.earth2me.com/index.php/Command_Reference for further details. ( e.g. 'kick' and 'ban' as permission does noething cause its a command and not a plugin name the sheme is normally pluginname.command / pluginname.subsection.command)

    Show Spoiler

    Code:
    plugin:
        permissions:
            system: default
            copies: null
    
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: false
            inheritance: null
    
            permissions: null
        Trusty:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance: null
    
            permissions:
                - 'essentials.help'
                - 'essentials.warp'
                - 'essentials.mail'
                - 'essentials.motd'
                - 'essentials.sethome'
                - 'essentials.home'
                - 'essentials.list'
                - 'multiverse.tp'
                - 'essentials.back'
                - 'essentials.spawn'
                - 'essentials.time'
                - 'iConomy.payment'
                - 'iConomy.list'
                - 'iConomy.view'
                - 'localshops.buysell'
                - 'turnstile.use'
                - 'war.player'
        Moderator:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
                - Trusty
            permissions:
                - 'essentials.kick'
                - 'essentials.ban'
                - 'essentials.give'
        Admins:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance: null
    
            permissions:
                - '*'
    users:
        Trumple:
            group: Admins
            permissions: null
    
     
  6. Offline

    Malkierian

    You can show us the console. It's the server.log in the root of your server FTP.
    Also, you can get rid of the Herpina and Derpina entries in your .yml.
    Finally, are you trying to use Essentials to find out what group a user is from? Because I don't think Essentials actually reads Permissions like that (I may be wrong). The built-in functions would more likely be for GroupManager. And, are you asking, specifically, if user Trumple is part of the group "admin"? Because if so, it's no wonder you're having trouble. You're part of the group "Admins".
     
  7. Offline

    Foffy123

  8. Offline

    Psycho Robot

    Remove

    Code:
    - 'mcbans.admin'
    From your admin permissions. '*' means that you get every single permission, therefore by listing * AND mcbans.admin you are giving yourself the mcbans.admin permission twice, which messes things up.
     
  9. Offline

    zorphon

    For some reason, there's a member (Keput) of my server that doesn't have permissions do things that I GAVE him permissions to do...

    Here it is:
    http://pastebin.com/gtFxE6qa
     
  10. Offline

    Foffy123

    @Psycho, Thanks, but that still didn't fix it. Any other ideas?
     
  11. Offline

    Malkierian

    @Foffy123 What exactly is the problem you're having?
     
  12. Offline

    Evil_Kitten

    I'm trying to set up a server on my Mac getting all the plugins set up before I transfer it to an online server but as permissions doesn't seem to see it is me. I can only do anything if I'm OP.

    Show Spoiler

    Code:
    00:43:53 [SEVERE] Could not pass event BLOCK_PLACE to Permissions
    java.lang.NullPointerException
        at com.nijiko.permissions.Control.getGroups(Control.java:625)
        at com.nijikokun.bukkit.Permissions.Listener.onBlockPlace(Listener.java:43)
        at org.bukkit.plugin.java.JavaPluginLoader$24.execute(JavaPluginLoader.java:344)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:84)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:68)
        at net.minecraft.server.ItemBlock.a(ItemBlock.java:75)
        at net.minecraft.server.ItemStack.a(ItemStack.java:56)
        at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:218)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:447)
        at net.minecraft.server.Packet15Place.a(SourceFile:57)
        at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    


    My permissions yml called Town.yml is
    Show Spoiler

    Code:
    plugin:
        permissions:
            system: default
            copies: null
    
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: false
            inheritance:
            permissions:
        Moderator:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
                - Default
            permissions:
                - 'wormhole.use'
        Admins:
            default: false
            info:
                prefix: 'Leader Kitteh'
                suffix: ''
                build: true
            inheritance:
            permissions:
                - '*'
    users:
        Evil_Kitten:
            group: Admins
            permissions:
    
     
  13. Offline

    Trumple

    Sorry I worded that incorrectly.
    I am having a total failure with Permissions, it has ceased to work at all!
    I.e. none of the plugins seem to acknowledge it!
    What can I try?
     
  14. Offline

    Foffy123

  15. Offline

    Evil_Kitten

    Messed around with Malk's yml by just copying around what was in it and managed to get a version that parsed.
    I basically copied and pasted other parts editing them to replace the errors and it then parsed.
    http://pastebin.com/gqirLswj
     
  16. Offline

    Malkierian

  17. Offline

    Flenix

    Is there any way to make it NOT multiworld? I'm getting a problem that every time a player goes to nether, they cant build.. I just want the same file for every world..
     
  18. Offline

    Malkierian

    The only way to get permissions in another world is with another .yml, however, it's not as hard as you seem to think it is. All you have to do is make another yml with the name of your nether world (usually it's just nether), and this text inside it:
    Code:
    plugin:
        permissions:
            system: default
            copies: [nameOfYourMainWorldHere]
    I can't recall if it requires a ".yml" at the end of your main world's name or not.
     
  19. Offline

    Thenaz

    Please can someone let me know what is wrong! =( I have tried everything it always changes formats after I stop or reload my server I need help ASAP! Again I have turned my YML file into a txt so i can post it.
     

    Attached Files:

  20. Offline

    Malkierian

    @Thenaz Have you ever let it? What happens when it changes? Does it not work?
    And what exactly are the problems you're encountering?
     
  21. Offline

    Stales89

    I am having this problem and NO IDEA what is causing it. It was working yesterday but today... nothing :(

     
  22. Offline

    rcjrrjcr

    You have a bad character somewhere in your config file.
    The nulls are because of a combination of how Java Map classes work and the way SnakeYAML inteprets Java null values. I have sent a pull request to Bukkit fixing that.

    And to those of you saying that the config file format changes after stopping the server, it's because 2.6 saves changes made by other plugins. That strips the comments.
     
  23. Offline

    hunty197

    Code:
    groups:
      default:
        default: true
        permissions:
        - essentials.help
        - essentials.spawn
        - essentials.motd
        inheritance: []
        info:
          prefix: '&7'
          build: false
          suffix: ''
      trial:
        default: false
        permissions:
        - essentials.whois
        inheritance:
        - default
        info:
          prefix: '&3'
          build: true
          suffix: ''
    
    trusted:
        default: false
        permissions:
        - essentials.warp
        - essentials.home
        - essentials.sethome
        - essentials.tpaccept
        inheritance:
        - trial
        info:
          prefix: '&1'
          build: true
          suffix: ''
    
    SemiAdmin:
        default: false
        permissions:
        - essentials.tp
        - essentials.tpaccept
        - essentials.give
        -
          - '*'
        inheritance:
        - trusted
        info:
          prefix: '&2'
          build: true
          suffix: ''
      Admins:
        default: false
        permissions:
          - '*'
          - 'worldedit.wand'
        - 'worldedit.region.set'
          - 'worldedit.region.walls'
          - 'worldedit.superpickaxe'
        inheritance:
        - semiadmin
        info:
          prefix: '&4'
          build: true
          suffix: ''
    
    and im running plugins iconomy, ichat, noexplode, essentials, worldedit, heroicdeath
     
  24. Offline

    Foffy123

    Much much much appreciated! I have no idea why that was happening. Permissions works now.
     
  25. Offline

    Malkierian

    OK, so a few problems you had:
    First off, YAML relies very heavily on exact spacing. Things like your Admins' permissions were the third line isn't aligned with the other lines. Totally messes up the parsing. All group names need to be indented the same amount, etc.
    Second, you don't want your SemiAdmins to have the '*' node, it gives them access to EVERYTHING.
    Third, you don't want to put anything other than the '*' node in the Admins' permissions, because you're basically giving them the permissions twice, which screws things up. For that same reason, any groups with the '*' should not have any inheritances.
    Try this:
    Code:
    groups:
        default:
            default: true
            permissions:
            - essentials.help
            - essentials.spawn
            - essentials.motd
            inheritance: []
            info:
                prefix: '&7'
                suffix: ''
                build: false
        trial:
            default: false
            permissions:
            - essentials.whois
            inheritance:
            - default
            info:
                prefix: '&3'
                suffix: ''
                build: true
        trusted:
            default: false
            permissions:
            - essentials.warp
            - essentials.home
            - essentials.sethome
            - essentials.tpaccept
            inheritance:
            - trial
            info:
                prefix: '&1'
                suffix: ''
                build: true
        SemiAdmin:
            default: false
            permissions:
            - essentials.tp
            - essentials.tpaccept
            - essentials.give
            inheritance:
            - trusted
            info:
                prefix: '&2'
                suffix: ''
                build: true
        Admins:
            default: false
            permissions:
            - '*'
            inheritance:
            info:
                prefix: '&4'
                suffix: ''
                build: true
     
  26. Offline

    jolee1995

    @Malkierian
    actually i did that and it still doesnt work.. i fixed colons and everything.. it still doesnt work..

    it also keeps saying that default is mising a prefix or suffix...

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

    hunty197

    its still not working.
    Please Help.
     
  28. Prefix for default is '&7'. Doesn't it only go up to 6?
     
  29. Offline

    Psycho Robot

    no sir, its 0-9, then a-f
     
  30. Offline

    Thenaz

    @Malkierian
    Let what? And ill post the corrupted problem as a txt. The whole yml files format goes messed up and is in a way different order. Read Nazland.txt

     

    Attached Files:

  31. Offline

    Malkierian

    @jolee1995 @hunty197 Please post the new server logs showing any errors. I will keep working on fixing the formatting of the .yml's.

    @Thenaz Try this one instead (keep in mind, you really should not use Notepad, as it doesn't read all line endings properly. That's the only thing different about the two files. Even wordpad would be better, but you should look into Notepad++. It's definitely one of the best text editors I've used)
    Code:
    plugin:
        permissions:
            system: default
            copies: null
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: false
            inheritance: null
            permissions:
            - foo.bar
        Moderator:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            - Default
            permissions:
            - essentials.help
            - essentials.tpa
            - essentials.home
            - essentials.sethome
            - essentials.warp
            - essentials.warp.list
            - essentials.setwarp
            - essentials.kick
            - essentials.item
            - essentials.kit
            - essentials.give
            - essentials.time
            - essentials.signs.buy.use
            - craftbook.*
        Admins:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance: null
            permissions:
            - '*'
    users:
        tommy04:
            group: Moderator
            info:
                prefix: '&2KING'
                suffix: '&2'
            permissions:
            - essentials.spawn
            - essentials.item
            - ichat.*
        tHeKrAcKeR:
            group: Moderator
            info:
                prefix: ''
                suffix: '&5'
            permissions:
            - essentials.spawn
            - essentials.item
            - ichat.*
            - essentials.ban
            - essentials.me
            - essentials.spawnmob
            - essentials.kill
            - essentials.unban
            - essentials.jails
            - essentials.togglejail
            - essentials.heal
            - essentials.god
            - essentials.region
            - essentials.tp
        Thenaz:
            group: Admins
            info:
                prefix: '&2GOD'
                suffix: ''
            permissions:
            - '*'
     
Thread Status:
Not open for further replies.

Share This Page