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

    Tkoopa

    Alright, I don't know what this means but apparently something's wrong in my config files and it's not the spacing. I've tried using the config provided exactly, tried all formatting types and no luck. the server is hosted through jestservers.com and I'm editing through an admin interface but I don't think that's affecting it. Ideas?

    2011-03-02 12:27:57 [SEVERE] Could not load plugins\Permissions.jar in plugins: null
    org.bukkit.plugin.InvalidPluginException
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:85)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:129)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:94)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:55)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:187)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:174)
    at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:120)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:227)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: expected '<document start>', but found BlockMappingStart
    in "<reader>", line 34, column 1:
    groups:
    ^
     
  3. Offline

    Nervous

    Thanks a lot cjc, now it works.
     
  4. Offline

    nidefawl

    why not wrap it to global, or the default world?
     
  5. Offline

    DarkM

    Okay I'm still having problems with commands and errors in the cmd. It's been like 4 days...

    Nobody has access to any commands except me (Cuz my permissions is '*')

    Here are the errors in the cmd:

    After every time someone talks
    Code:
    2011-03-02 22:44:09 [WARNING] Missing a prefix or suffix for null
    After someone logs in (Will be posting this in the SpawnControl thread as well)
    Code:
    2011-03-02 22:45:28 [INFO] DarkM [/173.180.71.38:51083] logged in with entity id 125
    2011-03-02 22:45:28 [INFO] Loaded world: world
    2011-03-02 22:45:28 [SEVERE] Could not pass event PLAYER_JOIN to SpawnControl
    java.lang.NullPointerException
            at com.aranai.spawncontrol.SCPlayerListener.onPlayerJoin(SCPlayerListener.java:257)
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:130)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:225)
            at net.minecraft.server.ServerConfigurationManager.a(ServerConfigurationManager.java:97)
            at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:87)
            at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:27)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:87)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:338)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:253)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    2011-03-02 22:45:28 [WARNING] Missing a prefix or suffix for null
    After someone tries to break a block
    Code:
    2011-03-02 22:48:43 [SEVERE] Could not pass event BLOCK_BREAK to Permissions
    java.lang.NullPointerException
            at com.nijiko.permissions.Control.getGroups(Control.java:627)
            at com.nijikokun.bukkit.Permissions.Listener.onBlockBreak(Listener.java:45)
            at org.bukkit.plugin.java.JavaPluginLoader$31.execute(JavaPluginLoader.java:282)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:225)
            at net.minecraft.server.ItemInWorldManager.d(ItemInWorldManager.java:112)
            at net.minecraft.server.ItemInWorldManager.b(ItemInWorldManager.java:77)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:362)
            at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
            at net.minecraft.server.NetworkManager.a(SourceFile:230)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:70)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:338)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:253)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Here is the config.yml file. PLEASE READ IT THIS TIME INSTEAD OF TELLING ME WHAT I ALREADY KNEW!!!!!

    Code:
    # System is no longer used, but may become used in the future
    # Copies is for multiple-world support
    #   Put the name of the world you wish for it to be a clone of, otherwise leave it empty.
    #   Does not work for the default world.
    #  Example: copies: Derp    -  This will clone the permissions of the world Derp
    plugin:
        permissions:
            system: default
            copies: nether
    
    # Groups can contain inheritance.
    #   To make a group inherit the permissions from another
    #   group simply place the groups name in the "inheritance:" like so:
    #
    #   Example:
    #       inheritance:
    #           - Default
    ##
    #   All permissions including the asterisks must be placed in single quotes.
    #   like so:
    #
    #       - 'general.spawn'
    #
    #   Otherwise errors will happen!
    ##
    #   Globalized Permission settings:
    #
    #       If a permission contains periods (.) you can denote a globalized parameter:
    #
    #           - 'general.*'
    #
    #       This will allow you to use all general commands.
    #
    ##
    #   Single Asterisk denotes all commands:
    #
    #       - '*'
    ##
    #   To exempt a node use the - prefix like so:
    #       - '-general.time'
    ##
    groups:
        Default:
            default: true
            info:
                prefix: '&f'
                suffix: '&7'
                build: true
            inheritance:
            permissions:
                - 'essentials.help'
                - 'essentials.motd'
                - 'essentials.list'
                - 'essentials.me'
                - 'essentials.rules'
                - 'essentials.mail'
                - 'essentials.mail.send'
                - 'essentials.helpop'
                - 'essentials.msg'
                - 'essentials.tpaccept'
                - 'essentials.tpdeny'
                - 'tombstone.use'
                - 'SpawnControl.home.basic'
                - 'SpawnControl.spawn.use'
                - 'lwc.protect'
        Admin:
            default: false
            info:
                prefix: '&c'
                suffix: '&7'
                build: true
            inheritance:
            permissions:
                - '*'
        Moderator:
            default: false
            info:
                prefix: '&9'
                suffix: '&7'
                build: true
            inheritance:
                - Default
            permissions:
                - 'essentials.kick'
                - 'essentials.time'
        DonIron:
            default: false
            info:
                prefix: '&6'
                suffix: '&7'
                build: true
            inheritance:
                - Default
            permissions:
                - 'essentials.tpahere'
                - 'tombstone.lwc'
                - 'tombstone.freechest'
        DonGold:
            default: false
            info:
                prefix: '&e'
                suffix: '&7'
                build: true
            inheritance:
                - DonIron
            permissions:
                - 'essentials.tpa'
                - 'tombstone.large'
                - 'tombstone.sign'
        DonDia:
            default: false
            info:
                prefix: '&b'
                suffix: '&7'
                build: true
            inheritance:
                - DonGold
            permissions:
                - 'essentials.time'
                - 'magiccarpet.mc'
                - 'tombstone.freesign'
                - 'tombstone.quickloot'
     
    ##
    # Users denote which users are included in which group.
    # TheNo1Yeti is in the Admin group
    # Herpina is a member of the Default group but also has access
    # to the herp.derp permissions
    # Derpina is a member of the admin group but does not have access
    # to the derp.derp permission node
    ##
    users:
        DarkM:
            group: Admin
            permissions:
        Bates:
            group: Admin
            permissions:
        Vigoroth:
            group: Moderator
            permissions:
        SLVRFox:
            group: DonDia
            permissions:
        BackwardsCap:
            group: DonDia
            permissions:

    I updated Permissions and SpawnControl recently and now the server keeps committing suicide.
     
  6. Offline

    TheYeti

    I read your config file, perhaps now you can read the instructions. First off, if that is for the main world do not have it copy anything. It explicitly states that within the config file. Next, do not name it config.yml. Name it to the name of your world. It once again explicitly states that both in the FAQ and the installation instructions in the main post. Next, thank you for yelling. That makes it so much more important that someone helps you.
     
  7. Offline

    cjc343

    Keep getGroup(String player) and call getGroup(getPlayer(player).getWorld().getName()) , player) or some variation from it. Prevents plugins from breaking, follows what I'd think is expected behavior.

    Try this. Don't overwrite the beginning of the file which isn't included here..
     
  8. Offline

    TheYeti

    That is indeed a formatting issue with the yaml file. Post your config file and I will take a gander at it.
     
  9. Offline

    DarkM

    The caps worked though. :D

    Thanks for the help.
     
  10. Offline

    Nervous

  11. Offline

    TheYeti

    You are going to need to ask for support for GroupManager from the GroupManager thread. This thread is for Permissions only. If your trying to do some funky Voodoo between Permissions and group manager then there is not much I can really do for you. Please pick one and then ask for help with that one.
    --- merged: Mar 2, 2011 8:07 PM ---
    http://pastebin.com/d6KFAn4f Fixed. Your mod group wasn't completed. You just had - ' instead of - '*'
    --- merged: Mar 2, 2011 8:08 PM ---
    I don't know, you will have to ask Nijikokun that as this change was done before I took over. I am working on trying to do a rewrite of how the configuration files work but it might be awhile unfortunately.
     
  12. Offline

    Damager

    My friend can't placed/build any block (default player)... I've write on the config.yml they can build... what the hell ?
     
  13. Offline

    Nervous

  14. Offline

    cjc343

    try this (open)
    Code:
    # System is no longer used, but may become used in the future
    # Copies is for multiple-world support
    #   Put the name of the world you wish for it to be a clone of, otherwise leave it empty.
    #   Does not work for the default world.
    #  Example: copies: Derp    -  This will clone the permissions of the world Derp
    plugin:
        permissions:
            system: default
            copies:
    # Groups can contain inheritance.
    #   To make a group inherit the permissions from another
    #   group simply place the groups name in the "inheritance:" like so:
    #
    #   Example:
    #       inheritance:
    #           - Default
    ##
    #   All permissions including the asterisks must be placed in single quotes.
    #   like so:
    #
    #       - 'general.spawn'
    #
    #   Otherwise errors will happen!
    ##
    #   Globalized Permission settings:
    #
    #       If a permission contains periods (.) you can denote a globalized parameter:
    #
    #           - 'general.*'
    #
    #       This will allow you to use all general commands.
    #
    ##
    #   Single Asterisk denotes all commands:
    #
    #       - '*'
    ##
    #   To exempt a node use the - prefix like so:
    #       - '-general.time'
    ##
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - 'signtrader.makeGlobalSign'
                - 'signtrader.makePersonalSign'
                - 'signtrader.admin.breakAnySign'
                - 'signtrader.use'
                - 'lwc.protect'
                - 'herochat.create'
                - 'herochat.remove'
                - 'myhome.home.soc.public'
                - 'myhome.home.soc.private'
                - 'myhome.home.soc.list'
                - 'myhome.home.soc.list'
                - 'myhome.home.basic.*'
                - 'myhome.home.soc.invite'
                - 'myhome.home.soc.uninvite'
                - 'myhome.home.soc.others'
                - '/list'
        Mod:
             default: false
             info:
                 prefix: '&cMod&2'
                 suffix: ''
                 build: true
             inheritance:
                 - Default
             permissions:
                 - 'lwc.mod'
                 - 'lwc.admin'
                 - 'mcbans.kick'
                 - 'mcbans.ban.local'
        Admins:
            default: false
            info:
                prefix: '&cAdmin&7'
                suffix: ''
                build: true
            inheritance:
                - Mod
            permissions:
                - '/stopfire'
                - '/god'
                - '/heal'
                - '/slay'
                - 'mcbans.lookup'
                - 'mcbans.view_ban'
                - 'mcbans.unban'
                - 'mcbans.ban.global'
                - 'mcbans.admin'
        Owner:
            default: false
            info:
                prefix: '&cAdmin&7'
                suffix: ''
                build: true
            inheritance:
            permissions:
                - '*'
    
    #
    ##
    #
    # Users denote which users are included in which group.
    #
    # Tebbs is in the owner group
    #
    # Kurtisware69 is a member of the mod group but also has access
    #
    # to the herp.derp permissions
    #
    # Derpina is a member of the admin group but does not have access
    #
    # to the derp.derp permission node
    #
    ##
    users:
        Linkbleu:
            group: Owner
            permissions:
        Visionelf:
            group: Owner
            permissions:
        Green222:
            group: Mod
            permissions:
     
  15. Offline

    Nervous

    What did you change? It works great
     
  16. Offline

    TheYeti

    READ THE INSTRUCTIONS. Rename your config file to the name of your world. So if your world name is world then you rename config.yml to world.yml
     
  17. Offline

    cjc343

    Don't remember exactly, consolidated and fixed your inheritance iirc.

    Oh, most importantly, removed the inheritance from the group with * permissions.
     
  18. Offline

    Damager

    Sorry if it's a stupid question but i'm tired with all plugins who don't working when MC1.3 was coming =='

    I've follow your advice but nothing happened again.
     
  19. Offline

    TheYeti

    Then post a pastebin of the config file for someone to take a look at please.
     
  20. Offline

    An3vilChipmunk

    I have the same problem as Damager. Here is my permissions file could you take a gander at it please?

    # System is no longer used, but may become used in the future
    # Copies is for multiple-world support
    # Put the name of the world you wish for it to be a clone of, otherwise leave it empty.
    # Does not work for the default world.
    # Example: copies: Derp - This will clone the permissions of the world Derp
    plugin:
    permissions:
    system: default
    copies:

    # Groups can contain inheritance.
    # To make a group inherit the permissions from another
    # group simply place the groups name in the "inheritance:" like so:
    #
    # Example:
    # inheritance:
    # - Default
    ##
    # All permissions including the asterisks must be placed in single quotes.
    # like so:
    #
    # - 'general.spawn'
    #
    # Otherwise errors will happen!
    ##
    # Globalized Permission settings:
    #
    # If a permission contains periods (.) you can denote a globalized parameter:
    #
    # - 'general.*'
    #
    # This will allow you to use all general commands.
    #
    ##
    # Single Asterisk denotes all commands:
    #
    # - '*'
    ##
    # To exempt a node use the - prefix like so:
    # - '-general.time'
    ##
    groups:
    Default:
    default: true
    info:
    prefix: ''
    suffix: ''
    build: true
    inheritance:
    permissions:
    -
    Moderator:
    default: false
    info:
    prefix: ''
    suffix: ''
    build: true
    inheritance:
    - Default
    permissions:
    - 'bar.foo'
    Admins:
    default: false
    info:
    prefix: ''
    suffix: ''
    build: true
    inheritance:
    permissions:
    - '*'

    ##
    # Users denote which users are included in which group.
    # TheNo1Yeti is in the Admin group
    # Herpina is a member of the Default group but also has access
    # to the herp.derp permissions
    # Derpina is a member of the admin group but does not have access
    # to the derp.derp permission node
    ##
    users:
    An3vilChipmunk:
    group: Admins
    permissions:
    - '*'
    Linoge:
    group: Admins
    permissions:
    - '*'
    Finners215:
    group: Admins
    permissions:
    - '*'
    TyYoShoes:
    group: Admins
    permissions:
    - '*'
     
  21. Offline

    Damager

    or this ?

    @cjc343
    @TheYeti

    (soory i'm french)
     
  22. Offline

    cjc343

    Code blocks or pastebin.

    @Damager

    Same
     
  23. Offline

    An3vilChipmunk

    First, I'm so new and noobie I don't know what those mean. Second, I got the answer myself. Thanks anyway!
     
  24. Offline

    Mrguyman

    Hi all. I'm making a "private server" (i.e, just for me, not the illegal kind :p) to try out these new plugins, many of which require permissions (such as monster tamer). What I want to know is how to add new permissions required by other plugins, and how to add users. (Also, what's with those users "No1Yeti" or "Derpina" ?) If there is a tutorial around here I might've missed, please point it out to me. Thanks :)
     
  25. Offline

    jalcober

    ... i get this error when i break a block im using build 440
     
  26. Offline

    untergrundbiber

    Will there be some point a simple config tool or a web-interface for Permissions?
    And what is with mysql-suppot?
    I hate this yml-thing
     
  27. Offline

    Jandalf

    http://wiki.nexua.org/Permissions
    derpina and No1Yeti are only examples how to make it, u can delete them
    dont forget to rename ur yml file to ur default world name and put it inte plugins/permissions/
    --- merged: Mar 2, 2011 9:22 PM ---
    try yedit
     
  28. Offline

    petteyg359

    Somewhere near the beginning, a replace-all was done changing all instances of General to Permissions. Your copyright header says the thing is under GNU Permissions Public License.
     
  29. Offline

    Rask

    My server keeps saying Permissions is not configured properly and it's not even showing up in my plugin list. I have it in the plugin folder. Tried with 2.5 and 2.5.1.
     
  30. Offline

    Jandalf

    ok could u post ur serverlog (in code tags) and ur permissions file to pastbin.com
     
  31. Offline

    emoknight

    what happen to /pr command to reload permissions ?
     
Thread Status:
Not open for further replies.

Share This Page