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

    Jeyge

    The full command would be "/pr <user> (w:<world>) promote/demote t:<track> (groupname) (groupworld)". Everything in () is optional and you really would only use groupname and groupworld if you have multiple groups assigned to your users. As most people aren't using that feature yet, they can simplify the command to just "/pr <user> (w:<world>) promote/demote t:<track>" or "/pr <user> (w:<world>) promote/demote" for the default track.
     
  3. Offline

    Hacr

    how can I promote people from one group to another ingame?

    Nice plugin btw :D
     
  4. Offline

    obscurehero

    AAAH! Essentials errors!! I think it might be best if you try to master one plugin first before trying to brute force them all. Maybe remove essentials and get permissions working and then add back the essentials monstrosity.

    That's my recommendation. Also use paste bin or the code tags to preserve formatting when pasting otherwise we can't help :(
     
  5. Offline

    Jeyge

    You should still be able to inherit from multiple groups and that format looks okay although it will be hard to make sure without the rest of the file.

    See the great writeup that pitbully did here for the MySQL stuff.
    You are trying to run both GroupManager and Permissions which will cause a lot of problems one of which might be that you can't build. I would pick one and stick with it. You also have an error in your Essentials yml file. I'm guessing a missing closing quote on line 96.

    I've never been completely sure about the whole groupworld/parentworld stuff myself but from what I can tell, because you are allowed to do something along the lines of:
    Code:
    users:
        Jeyge:
            groups:
                - Admin
                - *,Admin
                - ?,Admin
                - world2,Admin
    
    you then need to be able to tell the promote/demote command which Admin you want to promote/demote and you do that with the groupworld/parentworld. And the first world just says what file you want to promote/demote in. It unfortunately hasn't working any time I have tried to test it so I haven't been able to completely figure it out and sometimes reading the code makes my eyes glaze over. :)

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

    obscurehero

    Hmm. So the w:world refers to what in the beginning? The groupworld designation makes sense to me. Also, normally if these "worlds" aren't filled in they revert to the default world listed in the server. properties?
     
  7. Offline

    Jeyge

    If you are only looking to promote members to one of your 3 classes, then you can just add - Member to each class like this:
    Code:
    tracks:
        Player:
            - Guest
            - Member
            - Mod
            - Admin
        Crafting:
            - Member
            - Cobbler
            - Carpenter
            - Craft-Master
        Trading:
            - Member
            - Vendor
            - Shopkeeper
            - Trade-Master
        Magic:
            - Member
            - Conjurer
            - Wizard
            - Arch-Mage
    That way, once the user reaches the Member rank, you can then use "/pr <user> promote t:Crafting" or "/pr <user> promote t:Trading" or ....

    It doesn't currently support multiple groups on user creation but you could use a CommandHelper script to set it up with "parents add".

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Dec 28, 2018
    r3Fuze likes this.
  8. Offline

    Duerdum9

    I deleted the .jar file & the folder, so it should be out of the system, shouldn't it? :/ If not, how do I do it?

    (Line 96)
    http://pastebin.com/xV4uVnkR
    It should be right, shouldn't it? :/
     
  9. Offline

    Jeyge

    The first world is the world you want to promote the user in. So if you are in world and Joe is in world2 and you want to promote Joe, you would type "/pr Joe w:world2 promote".

    It is actually an additional quote on line 101. Looks like you would want to remove the one after the [5].

    Edit - oh, you didn't say which you deleted but if you want to remove GroupManger, there are 2 plugins that go with it. You also need to remove the EssentialGroupBridge.jar. That is the one that causes problems with Permissions.

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

    obscurehero

    @r3Fuze I could write this script for you if you so desire, but you are a plugin developer and SK89Q's API is ridiculously easy to understand.

    @Jeyge, should I be including the w:world in my CH script? I'm not sure if I completely understand what both optional world declarations do and what they default to when not specified. If the first world refers to the world you want to promote in, what does the 2nd world refer to (the <groupworld> argument)?
     
  11. Thank you, it works :)


    @obscurehero Thank you for helping too but im just gonna go with Jeyge's solution since its the most simplest :)
     
  12. Offline

    Duerdum9

    Still not working. Here's a photo of the files I got.
    [​IMG]
     
  13. Offline

    Bhikku

    But how i Link successfull wiht mysql? Thats what i wanna know :D
     
  14. Offline

    Jeyge

    Do you actually have all permissions and can you verify using EssentialsChat that you are actually in the group you should be in? You should see a group name when you chat in game. If you have all permissions and you are in the group you should be in, then you have a plugin that is preventing the building. I would start removing them one at a time until you can build again starting with EssentialsProtect.

    You need to move your groups.yml and users.yml to the plugins\permissions\world directory.

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

    obscurehero

    Clear as mud. lol

    I think...I get what you're saying. In your example, the first world-delineator (the *, ?, world2) all represent worlds in your globalusers config? I like the concept of the globalusers confg, but I think its terribly confusing. I've never used the ?, group declaration in my world users.yml (as I shouldn't need to), and I always wondered why it didn't work when I threw it into the globalusers.yml. So, when using the globalusers, one needs to enter it like:
    Code:
    users:
        <username>:
            groups:
                - <world>,<group>
    
    but only in the globalusers config?

    aah, confusing.
     
  16. Offline

    Echo4Sierra

    Thanks Pitbully! Im actually going through this process at the moment^^^... also, did i miss it or is there no command to set which group is default and the "build: true/false" group config?
     
  17. Offline

    Duerdum9

    Here's my files, please tell me what I did wrong and stuff, thanks!
     
  18. Offline

    Jeyge

    You should have been here back when 3.0 first came out. It really was as clear as mud. :) The learning process has been very painful as people like poor Revenger can tell you. He was the first real user of the global stuff and figured most of it out before anyone else.

    As for the worlds above, they really don't have anything to do with the global files. Globals were added to really supplement your local files and I believe only 2 of the designations I listed above refer to them. The rest are just pointing to a world and can be in any file.

    That would be a private link to your files. You need to right click on the file and tell it to create a public link and post that.

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

    Duerdum9

    Here ;D Sorry had to problems, got it fixed now :)

    Oh yea, /facepalm ;D Okay, one more question how can I make so the tag "kinda" will be like...
    [Legion of War]<Duerdum9>:Bla bla bla
    Thank you :)

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

    Jeyge

    I've never actually used EssentialsChat but I would guess it would be something along the lines of:
    Code:
      format: '[Legion of War]<{DISPLAYNAME}>:&f {MESSAGE}'
    
    That would be in your Essentials config.yml file in the EssentialsChat section.
     
  21. Offline

    obscurehero

    Eureka moment. Just got it, I have no idea why I was so confused before, lol.

    Thanks!

    @Duerdum9

    I would recommend iChat or HeroChat as opposed to EssentialsChat. iChat is by far the easiest to setup.

    There are a plethora of tutorials on their thread wikis and on YouTube.

    For anyone that's interested. I recommend CommandHelper, but you'll need the dev build that I linked to before.

    This is the new code to streamline promoting/demoting. You'll need to change a few things if you plan on being fancy and calling other world's groups. For the time being, I think it'll work well. It changes the group of the user ONLY in the world that he/she currently occupies. For other worlds, the command is written so you can enter optionally the world...the track...etc...all the way up to making a command as easy/hard as the original permissions command.

    Cheers!

    PM me if you have any questions.

    Code:
    Show Spoiler

    Code:
    #Enables easy group changing for Permissions Tracks
    #Quick and Easy Command for Admins
    #Setting User Group
    #/pr <user> (w:<world>) parents add <group>
    #Promoting a user
    safe:/promote $player [$world=''] [$group=''] [$track='MainTrack'] = >>>
            #Gets who is running the command
            assign(@promoter, player())
            #Assign all players to array
            assign(@ap, all_players())
            #check if player is online
            if(array_contains(@ap, $player), assign(@isonline, 1), assign(@isonline, 0))
            #Sets World
            if(equals(@isonline, 1),
                if(equals($world, ''), assign(@inworld, pinfo($player, 7)), assign(@inworld, $world)),
                if(equals($world, ''), die('no world specified'), assign(@inworld, $world))
            )
            #Sets Group
            if(equals(@isonline, 1),
                if(equals($group, ''), assign(@ingroup, array_get(pinfo($player, 9), 0)), assign(@ingroup, $group)),
                if(equals($group, ''), die('no group specified'), assign(@ingroup, $group))
            )
            run(sconcat('/pr', $player, concat('w:', @inworld),'promote', concat('t:', $track), @ingroup, @inworld))
            #Tell the player they were promoted
            tmsg($player, concat(color('RED'), sconcat('You have been promoted from the', @ingroup, 'group, in', @inworld, 'by', @promoter)))\
            /pr -reload all
    <<<
    #Demoting Users
    safe:/demote $player [$world=''] [$group=''] [$track='MainTrack'] = >>>
            #Gets who is running the command
            assign(@demoter, player())
            #Assign all players to array
            assign(@ap, all_players())
            #check if player is online
            if(array_contains(@ap, $player), assign(@isonline, 1), assign(@isonline, 0))
            #Sets World
            if(equals(@isonline, 1),
                if(equals($world, ''), assign(@inworld, pinfo($player, 7)), assign(@inworld, $world)),
                if(equals($world, ''), die('no world specified'), assign(@inworld, $world))
            )
            #Sets Group
            if(equals(@isonline, 1),
                if(equals($group, ''), assign(@ingroup, array_get(pinfo($player, 9), 0)), assign(@ingroup, $group)),
                if(equals($group, ''), die('no group specified'), assign(@ingroup, $group))
            )
            run(sconcat('/pr', $player, concat('w:', @inworld),'demote', concat('t:', $track), @ingroup, @inworld))
            #Tell the player they were promoted
            tmsg($player, concat(color('RED'), sconcat('You have been demoted from the', @ingroup, 'group, in', @inworld, 'by', @demoter)))\
            /pr -reload all
    <<<        


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

    Echo4Sierra

    Sorry for bumping this... it looks like obscurehero got his problem fixed.... does anyone know the answer to my question?....
    Thanks
     
  23. Offline

    bennyX.X

    Unbenannt4.PNG Unbenannt3.PNG Unbenannt2.PNG Unbenannt.PNG
    can someone help me with tis problem?
     
  24. Offline

    Jeyge

    See issue 142 for information about the default group and the Info Management in the Chat Commands topic from the wiki for how to set the build flag.
     
  25. Offline

    Techykid3

    Awesome! I'll try it next time i need to promote someone. Thanks!
     
  26. Offline

    JuiceHead

    I am rather confused at what is happening. I don't know what I am doing wrong. The only file I edit is globalGroups.yml.

    Code:
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - 'essentials.afk'
                - 'essentials.getpos'
    			- 'essentials.help'
    			- 'essentials.helpop'
    			- 'essentials.list'
    			- 'essentials.mail'
    			- 'essentials.mail.send'
    			- 'essentials.me'
    			- 'essentials.msg'
    			- 'essentials.rules'
        Donator:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
                - Default
            permissions:
                - 'essentials.kit'
                - 'essentials.kit.<kitname>'
    			- 'essentials.nick'
    			- 'essentials.spawn'
    			- 'essentials.top'
        Moderator:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
                - Donator
            permissions:
                - 'OpenInv.search'
                - 'log.stick'
                - 'modplugin.unban'
    			- 'essentials.helpop.receive'
    			- 'essentials.ignore'
    			- 'essentials.realname'
    			- 'essentials.seen'
    			- 'essentials.whois'
    			- 'essentials.ban'
    			- 'essentials.banip'
    			- 'essentials.kick'
    			- 'essentials.mute'
    			- 'essentials.tempban'
    			- 'essentials.unban'
    			- 'essentials.back'
    			- 'essentials.tp'
    			- 'essentials.tphere'
        Admins:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - '*'
    
    Code:
     151 recipes
    16 achievements
    18:39:57 [INFO] Starting minecraft server version Beta 1.7.2
    18:39:57 [INFO] Loading properties
    18:39:57 [INFO] Starting Minecraft server on *:25565
    18:39:57 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-904-
    g9277096-b953jnks (MC: 1.7.2)
    18:39:58 [SEVERE] while scanning for the next token
    found character         '\t' that cannot start any token
     in "<reader>", line 12, column 1:
                - 'essentials.help'
        ^
    
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreToken
    s(ScannerImpl.java:360)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(Sca
    nnerImpl.java:183)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockSequen
    ceEntry.produce(ParserImpl.java:510)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(Parser
    Impl.java:163)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(Parse
    rImpl.java:148)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeSequenceN
    ode(Composer.java:203)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:158)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeDocument(
    Composer.java:122)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.getSingleNode(Co
    mposer.java:105)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.constructor.BaseConstructor.getSin
    gleData(BaseConstructor.java:124)
    18:39:58 [SEVERE]       at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
    18:39:58 [SEVERE]       at org.bukkit.util.config.Configuration.load(Configurati
    on.java:82)
    18:39:58 [SEVERE]       at com.nijiko.data.YamlGroupStorage.reload(YamlGroupStor
    age.java:179)
    18:39:58 [SEVERE]       at com.nijiko.data.YamlGroupStorage.<init>(YamlGroupStor
    age.java:30)
    18:39:58 [SEVERE]       at com.nijiko.data.YamlCreator.getGroupStorage(YamlCreat
    or.java:57)
    18:39:58 [SEVERE]       at com.nijiko.data.StorageFactory.getGroupStorage(Storag
    eFactory.java:129)
    18:39:58 [SEVERE]       at com.nijiko.permissions.ModularControl.forceLoadWorld(
    ModularControl.java:96)
    18:39:58 [SEVERE]       at com.nijiko.permissions.ModularControl.loadWorld(Modul
    arControl.java:86)
    18:39:58 [SEVERE]       at com.nijiko.permissions.ModularControl.load(ModularCon
    trol.java:114)
    18:39:58 [SEVERE]       at com.nijikokun.bukkit.Permissions.Permissions.setupPer
    missions(Permissions.java:181)
    18:39:58 [SEVERE]       at com.nijikokun.bukkit.Permissions.Permissions.onLoad(P
    ermissions.java:133)
    18:39:58 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftS
    erver.java:121)
    18:39:58 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer
    .java:89)
    18:39:58 [SEVERE]       at net.minecraft.server.ServerConfigurationManager.<init
    >(ServerConfigurationManager.java:51)
    18:39:58 [SEVERE]       at net.minecraft.server.MinecraftServer.init(MinecraftSe
    rver.java:132)
    18:39:58 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:335)
    18:39:58 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:422)
    18:39:58 [SEVERE] [Permissions] Unable to load permission data.
    18:39:58 [SEVERE] [Permissions] Shutting down Permissions due to error(s).
    18:39:58 [INFO] [Permissions] (Yeti) was initialized.
    18:39:58 [INFO] [Permissions] (Yeti) disabled successfully.
    18:39:58 [INFO] Preparing level "world"
    18:39:58 [INFO] Preparing start region for level 0 (Seed: -637620441192649691)
    18:39:59 [INFO] Preparing spawn area: 40%
    18:39:59 [INFO] AntiCreeper v1.0 - by Rothens
    18:39:59 [INFO] Anticreeper v1.0 - STARTED
    18:40:00 [INFO] Loaded Essentials build 2.4.2 by Zenexer, ementalo, Aelux, Brett
    flan, KimKandor, snowleo, ceulemans and Xeology
    18:40:00 [INFO] Loaded EssentialsChat build 2.4.2 by Zenexer, ementalo, Aelux, B
    rettflan, KimKandor, snowleo, ceulemans and Xeology
    18:40:00 [INFO] Lockette version 1.3.8 is being enabled!  Yay!  (Core version 1.
    0)
    18:40:00 [INFO] Lockette: Detected craftbukkit build [953] ok.
    18:40:00 [INFO] [Permissions] (Yeti) disabled successfully.
    18:40:00 [INFO] Lockette: Failed to link to Permissions plugin version 3.1.6!
    18:40:00 [INFO] Lockette: Using ops file for admin permissions.
    18:40:00 [INFO] Lockette: Ready to protect your containers.
    18:40:00 [INFO] Log version 0.6: Loaded.
    18:40:00 [INFO] Log version 0.6: Events initialised successfully.
    18:40:00 [INFO] Log version 0.6: Data loaded successfully.
    18:40:00 [SEVERE] Error occurred while enabling Log v0.6 (Is it up to date?): co
    m/nijikokun/bukkit/Permissions/Permissions
    java.lang.NoClassDefFoundError: com/nijikokun/bukkit/Permissions/Permissions
            at org.pokepal101.log.pokepal101.log.LogPlugin.setupPermissions(LogPlugi
    n.java:117)
            at org.pokepal101.log.pokepal101.log.LogPlugin.onEnable(LogPlugin.java:9
    7)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:857)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:264)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:151)
            at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:136
    )
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:284)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:271)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.ClassNotFoundException: com.nijikokun.bukkit.Permissions.Pe
    rmissions
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    java:36)
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    java:24)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            ... 12 more
    18:40:00 [SEVERE] Error occurred while enabling MagicCarpet v1.5.6 (Is it up to
    date?): com/nijikokun/bukkit/Permissions/Permissions
    java.lang.NoClassDefFoundError: com/nijikokun/bukkit/Permissions/Permissions
            at com.Android.magiccarpet.MagicCarpet.setupPermissions(MagicCarpet.java
    :340)
            at com.Android.magiccarpet.MagicCarpet.onEnable(MagicCarpet.java:71)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:857)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:264)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:151)
            at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:136
    )
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:284)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:271)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.ClassNotFoundException: com.nijikokun.bukkit.Permissions.Pe
    rmissions
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    java:36)
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    java:24)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            ... 12 more
    18:40:00 [INFO] [MobileAdmin] Loading server stats.
    18:40:00 [INFO] [MobileAdmin] Loading chat log.
    18:40:00 [INFO] [MobileAdmin] Loading users.
    18:40:00 [INFO] [MobileAdmin] Starting server...
    18:40:00 [INFO] [MobileAdmin] Version 3.0 is enabled!
    18:40:00 [WARNING] You can only specify one admin user.
    18:40:00 [INFO] [MobileAdmin] Stopping server...
    18:40:00 [INFO] [MobileAdmin] Server listening on *:5839
    18:40:00 [INFO] [MobileAdmin] Closing server socket
    18:40:00 [INFO] [MobileAdmin] Saving server stats.
    18:40:00 [INFO] [MobileAdmin] Saving chat log.
    18:40:00 [INFO] SimpleSave: Parts of config file are blank, but not null. Possib
    le errors might happen.
    18:40:00 [INFO] SimpleSave: DON'T! Post this 'warning' on the thread.
    18:40:00 [INFO] SimpleSave: 3.22 Initialized
    18:40:00 [INFO] Done (0.234s)! For help, type "help" or "?"
    >
     
  27. Offline

    Jeyge

  28. Offline

    Jeyge

    You are using tabs when you edit your files. YAML won't work with tabs so you will need to replace them all with 4 spaces and turn them off. If you are using Notepad++, go to Settings/Preferences and then to the Tab Settings tab and select "Replace by space".
     
  29. Offline

    AlucardNSW


    Just go through your GlobalGroups.yml file and MAKE SURE there are NO TABS.

    Just verify everything is the space bar.

    Alucard
     
  30. Offline

    Haduke

    I am having NO luck at ALL getting Permissions to work on my server. Despite me setting up only two groups, and setting up ALL the permission nodes for my plugins just like the tutorial and wiki showed, players on my server still can not do ANYTHING. Hell, even the two other players I have set up as admins can't do anything! So PLEASE... I am BEGGING someone... can you PLEASE explain to me WTF I am doing wrong?!?!?
    I am using MC 1.7.2 Bukkit 953 And Permissions 3.1.6
    Here is my groups file:
    Code:
    groups:
        Citizen:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - 'BlueTelePads.Use'
                - 'iConomyChestShop.shop.create'
                - 'iConomyChestShop.buy'
                - 'iConomyChestShop.sell'
                - 'essentials.kit.*'
                - 'essentials.balance'
                - 'essentials.pay'
                - 'essentials.sell'
                - 'essentials.mail'
                - 'essentials.mail.send'
                - 'essentials.motd'
                - 'essentials.rules'
                - 'essentials.suicide'
                - 'essentials.back'
                - 'essentials.home'
                - 'essentials.sethome'
                - 'essentials.tp'
                - 'essentials.portal'
                - 'iConomy.access'
                - 'iConomy.bank.access'
                - 'iConomy.bank.deposit'
                - 'iConomy.bank.join'
                - 'iConomy.bank.list'
                - 'iConomy.bank.withdraw'
                - 'iConomy.list'
                - 'iConomy.rank'
                - 'jobs.join.*'
                - 'jobs.world.MC Studios'
                - 'jobs.admin.info'
                - 'lc.level.*'
                - 'lc.shout'
                - 'lwc.protect'
                - 'mobbounty.collect'
                - 'wurkit.player.*'
                - 'wurkit.player.allowpay'
                - 'simplefall.use'
    
        Admins:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance: Citizen
            permissions:
                - '*'
    
    
    And here is my users file:
    Code:
    users:
        HADuke:
            groups:
            - Admins
            permissions:
        NerdyHippy:
            groups:
            - Admins
            permissions:
        DanBProductions:
            groups:
            - Admins
            permissions:
        jimmybonerhead:
            permissions:
            groups:
            - Citizen
        jackmitchell7:
            permissions:
            groups:
            - Citizen
        A_Chickenfry:
            permissions:
            groups:
            - Citizen
        TrueColors05:
            permissions:
            groups:
            - Citizen
        Mirgil:
            permissions:
            groups:
            - Citizen
        11112k:
            permissions:
            groups:
            - Citizen
    
     
  31. Offline

    Aspernatio

    For some reason I get the message "An internal error occured when attempting to perform this command" whenever I try "/pr aspernatio demote vagrant" (I'm just running some tests on myself now). Here's my server log, any idea what could be up?

    Code:
    >18:01:38 [SEVERE] null
    
    org.bukkit.command.CommandException: Unhandled exception executing command 'pr' in plugin Permissions v3.1.6
    
      at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
    
      at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
    
      at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:298)
    
      at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:711)
    
      at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:676)
    
      at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:669)
    
      at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
    
      at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    
      at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:84)
    
      at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    
      at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
    
      at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    
      at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    Caused by: java.lang.NullPointerException
    
      at java.util.HashSet.<init>(Unknown Source)
    
      at com.nijiko.data.YamlGroupStorage.getTracks(YamlGroupStorage.java:284)
    
      at com.nijiko.permissions.PermissionWorld.getTracks(PermissionWorld.java:168)
    
      at com.nijiko.permissions.ModularControl.getTracks(ModularControl.java:532)
    
      at com.nijikokun.bukkit.Permissions.Permissions.onCommand(Permissions.java:731)
    
      at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    
      ... 12 more
    
    >18:03:31 [SEVERE] null
    
    org.bukkit.command.CommandException: Unhandled exception executing command 'pr' in plugin Permissions v3.1.6
    
      at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
    
      at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
    
      at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:298)
    
      at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:711)
    
      at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:676)
    
      at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:669)
    
      at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
    
      at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    
      at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:84)
    
      at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    
      at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
    
      at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    
      at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    Caused by: java.lang.NullPointerException
    
      at java.util.HashSet.<init>(Unknown Source)
    
      at com.nijiko.data.YamlGroupStorage.getTracks(YamlGroupStorage.java:284)
    
      at com.nijiko.permissions.PermissionWorld.getTracks(PermissionWorld.java:168)
    
      at com.nijiko.permissions.ModularControl.getTracks(ModularControl.java:532)
    
      at com.nijikokun.bukkit.Permissions.Permissions.onCommand(Permissions.java:731)
    
      at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    Also, when reloading my plugins, I get this message in the console:

    Code:
    >18:05:19 [SEVERE] Nag author: 'TheNo1Yeti' of 'Permissions' about the following: This plugin is not properly shutting down its async tasks when it is being reloaded.  This may cause conflicts with the newly loaded version of the plugin
     
Thread Status:
Not open for further replies.

Share This Page