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

    CookingRice

    Can Somone Fix This For ME!?
    My User in My Server Always Get Spamed With "Don't Have Permission or Whatever"
    when they Place Items Idk why soo can someone fix it plz

    Code:
    users:
        TrAnCeiK:
            info:
                prefix: '&4'
            groups:
                - Admin
            permissions:
                - '*'
    users:
        Kosaukerazal:
            info:
                prefix: ''
            groups:
                - Builder
            permissions:
                - 'foo.*'
                - '-foo.test'
                - essentials.tp
                - essentials.tphere
                - essentials.item
                - essentials.give
    users:
        Robdog2go:
            info:
                prefix: ''
            groups:
                - Default
            permissions:
                - ''
    users:
        iichris64:
            info:
                prefix: ''
            groups:
                - Default
            permissions:
    users:
        Bacardi:
            info:
                prefix: ''
            groups:
                - Builder
            permissions:
                - ''
    users:
        Tenchu:
            info:
                prefix: ''
            groups:
                - Builder
            permissions:
                - ''
    Code:
    groups:
        Default:
            default: true
            info:
                prefix: '&2'
                suffix: '&f'
                build: true
            permissions:
                - 'foo.bar'
                - essentials.spawn
                - essentials.motd
                - essentials.help
                - essentials.home
                - essentials.sethome
                - essentials.tpahere
                - essentials.tpa
                - essentials.tpaccept
                - essentials.tpdeny
        Moderator:
            default: false
            info:
                prefix: '[Mod]'
                suffix: '&f'
                build: true
            inheritance:
                - Default
            permissions:
                - 'foo.*'
                - '-foo.test'
                - essentials.tp
                - essentials.tphere
                - essentials.item
                - essentials.give
        Admin:
           Default: false
           info:
               prefix: '[Admin]'
               suffix: '&f'
           permissions:
              -'*'
        Builder:
            default: false
            info:
                prefix: '[Builder]'
                suffix: '&f'
                build: true
            inheritance:
                - Default
            permissions:
                - 'foo.*'
                - '-foo.test'
                - essentials.tp
                - essentials.tphere
                - essentials.item
                - essentials.give
     
  3. Offline

    MrRaFfLeZ

    I would guess trying to add ' and the beginning of your permission nodes and add one at the end. That's what the example shows.

    Example:
    Code:
    permissions:
        - 'foo.*'
        - '-foo.text'
     
  4. Offline

    Pawel

    Can some one please fix this for me
    Code:
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: false
            inheritance:
            permissions:
                - 'foo.bar'
                - 'repairchest.create'
                - 'repairchest.use'
                - 'repairchest.destroy'
                - 'mcmmo.commands.ability'
                - 'mcmmo.commands.ptp'
                - 'mcmmo.commands.party'
                - 'mcmmo.commands.whois'
                - 'mcmmo.commands.myspawn'
                - 'mcmmo.commands.setmyspawn'
                - 'mcmmo.commands.setmyspawnother'
                - 'mcmmo.ability.woodcutting'
                - 'mcmmo.ability.mining'
                - 'mcmmo.ability.axes'
                - 'mcmmo.ability.excavation'
                - 'mcmmo.ability.swords'
                - 'mcmmo.ability.unarmed'
                - 'mcmmo.ability.herbalism'
                - 'mcmmo.item.chimaerawing'
                - 'jobs.join.<jobname>'
                - 'jobs.world.<worldname>'
                - 'iConomyChestShop.shop.create'
                - 'iConomyChestShop.shop.create.<id>'
                - 'iConomyChestShop.shop.exclude.<id>'
                - 'iConomyChestShop.shop.buy'
                - 'iConomyChestShop.shop.sell'
                - 'iConomyChestShop.command.iteminfo'
                - 'iConomy.access'
                - 'iConomy.bank.list'
                - 'iConomy.bank.main'
                - 'iConomy.bank.main.change'
                - 'iConomy.bank.main.set'
                - 'iConomy.bank.main.view'
                - 'iConomy.bank.transfer'
                - 'iConomy.bank.transfer.multiple'
                - 'iConomy.bank.withdraw'
                - 'iConomy.list'
                - 'iConomy.payment'
                - 'general.spawn'
                - 'iConomy.rank'
                - 'general.player-info'
                - 'general.reloaditems'
                - 'general.help'
                - 'general.motd'
    
        Moderator:
            default: false
            info:
                prefix: '&c'
                suffix: ''
                build: true
            inheritance:
                - Default
            permissions:
                - 'bar.foo'
        Admins:
            default: false
            info:
                prefix: '&4'
                suffix: ''
                build: true
            inheritance:
            permissions:
                - '*'
    Code:
    users:
        Pabcio16:
            info:
                prefix: '&4'
            groups:
                - Admin
            permissions:
                - '*'
    users:
        CuQierasek:
            info:
                prefix: '&a'
            groups:
                - Moderator
            permissions:
                - 'herp.derp'
    i've tryied Yml parser but i have no idea wats going one.. any way im new to permission.

    Thank you

    Code:
     due to storage problems!
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.safeGetUser(Mod
    ularControl.java:491)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.getUsr(ModularC
    ontrol.java:571)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.permission(Modu
    larControl.java:315)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.permission(Modu
    larControl.java:307)
    16:14:06 [SEVERE]       at com.gmail.nossr50.mcPermissions.permission(mcPermissi
    ons.java:31)
    16:14:06 [SEVERE]       at com.gmail.nossr50.mcPermissions.excavationAbility(mcP
    ermissions.java:63)
    16:14:06 [SEVERE]       at com.gmail.nossr50.skills.Skills.monitorSkills(Skills.
    java:190)
    16:14:06 [SEVERE]       at com.gmail.nossr50.mcTimer.run(mcTimer.java:32)
    16:14:06 [SEVERE]       at java.util.TimerThread.mainLoop(Unknown Source)
    16:14:06 [SEVERE]       at java.util.TimerThread.run(Unknown Source)
    16:14:06 [SEVERE] Caused by: while scanning for the next token
    found character         '\t' that cannot start any token
     in "<reader>", line 59, column 41:
         ...     - 'mcmmo.ability.herbalism'
                                             ^
    
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreToken
    s(ScannerImpl.java:360)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(Sca
    nnerImpl.java:183)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockSequen
    ceEntry.produce(ParserImpl.java:510)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(Parser
    Impl.java:163)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(Parse
    rImpl.java:148)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeSequenceN
    ode(Composer.java:203)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:158)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeDocument(
    Composer.java:122)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.getSingleNode(Co
    mposer.java:105)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.constructor.BaseConstructor.getSin
    gleData(BaseConstructor.java:124)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
    16:14:06 [SEVERE]       at com.nijiko.configuration.NotNullConfiguration.load(No
    tNullConfiguration.java:52)
    16:14:06 [SEVERE]       at com.nijiko.data.YamlGroupStorage.reload(YamlGroupStor
    age.java:178)
    16:14:06 [SEVERE]       at com.nijiko.data.YamlGroupStorage.<init>(YamlGroupStor
    age.java:29)
    16:14:06 [SEVERE]       at com.nijiko.data.YamlCreator.getGroupStorage(YamlCreat
    or.java:58)
    16:14:06 [SEVERE]       at com.nijiko.data.StorageFactory.getGroupStorage(Storag
    eFactory.java:129)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.forceLoadWorld(
    ModularControl.java:91)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.loadWorld(Modul
    arControl.java:82)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.safeGetUser(Mod
    ularControl.java:489)
    16:14:06 [SEVERE]       ... 9 more
    16:14:06 [SEVERE] java.lang.Exception: Error creating user McH in world Wioska11
     due to storage problems!
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.safeGetUser(Mod
    ularControl.java:491)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.getUsr(ModularC
    ontrol.java:571)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.permission(Modu
    larControl.java:315)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.permission(Modu
    larControl.java:307)
    16:14:06 [SEVERE]       at com.gmail.nossr50.mcPermissions.permission(mcPermissi
    ons.java:31)
    16:14:06 [SEVERE]       at com.gmail.nossr50.mcPermissions.swordsAbility(mcPermi
    ssions.java:98)
    16:14:06 [SEVERE]       at com.gmail.nossr50.skills.Skills.monitorSkills(Skills.
    java:200)
    16:14:06 [SEVERE]       at com.gmail.nossr50.mcTimer.run(mcTimer.java:32)
    16:14:06 [SEVERE]       at java.util.TimerThread.mainLoop(Unknown Source)
    16:14:06 [SEVERE]       at java.util.TimerThread.run(Unknown Source)
    16:14:06 [SEVERE] Caused by: while scanning for the next token
    found character         '\t' that cannot start any token
     in "<reader>", line 59, column 41:
         ...     - 'mcmmo.ability.herbalism'
                                             ^
    
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreToken
    s(ScannerImpl.java:360)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(Sca
    nnerImpl.java:183)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockSequen
    ceEntry.produce(ParserImpl.java:510)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(Parser
    Impl.java:163)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(Parse
    rImpl.java:148)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeSequenceN
    ode(Composer.java:203)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:158)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeDocument(
    Composer.java:122)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.getSingleNode(Co
    mposer.java:105)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.constructor.BaseConstructor.getSin
    gleData(BaseConstructor.java:124)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
    16:14:06 [SEVERE]       at com.nijiko.configuration.NotNullConfiguration.load(No
    tNullConfiguration.java:52)
    16:14:06 [SEVERE]       at com.nijiko.data.YamlGroupStorage.reload(YamlGroupStor
    age.java:178)
    16:14:06 [SEVERE]       at com.nijiko.data.YamlGroupStorage.<init>(YamlGroupStor
    age.java:29)
    16:14:06 [SEVERE]       at com.nijiko.data.YamlCreator.getGroupStorage(YamlCreat
    or.java:58)
    16:14:06 [SEVERE]       at com.nijiko.data.StorageFactory.getGroupStorage(Storag
    eFactory.java:129)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.forceLoadWorld(
    ModularControl.java:91)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.loadWorld(Modul
    arControl.java:82)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.safeGetUser(Mod
    ularControl.java:489)
    16:14:06 [SEVERE]       ... 9 more
    16:14:06 [SEVERE] java.lang.Exception: Error creating user McH in world Wioska11
     due to storage problems!
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.safeGetUser(Mod
    ularControl.java:491)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.getUsr(ModularC
    ontrol.java:571)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.permission(Modu
    larControl.java:315)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.permission(Modu
    larControl.java:307)
    16:14:06 [SEVERE]       at com.gmail.nossr50.mcPermissions.permission(mcPermissi
    ons.java:31)
    16:14:06 [SEVERE]       at com.gmail.nossr50.mcPermissions.unarmedAbility(mcPerm
    issions.java:70)
    16:14:06 [SEVERE]       at com.gmail.nossr50.skills.Skills.monitorSkills(Skills.
    java:210)
    16:14:06 [SEVERE]       at com.gmail.nossr50.mcTimer.run(mcTimer.java:32)
    16:14:06 [SEVERE]       at java.util.TimerThread.mainLoop(Unknown Source)
    16:14:06 [SEVERE]       at java.util.TimerThread.run(Unknown Source)
    16:14:06 [SEVERE] Caused by: while scanning for the next token
    found character         '\t' that cannot start any token
     in "<reader>", line 59, column 41:
         ...     - 'mcmmo.ability.herbalism'
                                             ^
    
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreToken
    s(ScannerImpl.java:360)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(Sca
    nnerImpl.java:183)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockSequen
    ceEntry.produce(ParserImpl.java:510)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(Parser
    Impl.java:163)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(Parse
    rImpl.java:148)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeSequenceN
    ode(Composer.java:203)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:158)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeDocument(
    Composer.java:122)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.getSingleNode(Co
    mposer.java:105)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.constructor.BaseConstructor.getSin
    gleData(BaseConstructor.java:124)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
    16:14:06 [SEVERE]       at com.nijiko.configuration.NotNullConfiguration.load(No
    tNullConfiguration.java:52)
    16:14:06 [SEVERE]       at com.nijiko.data.YamlGroupStorage.reload(YamlGroupStor
    age.java:178)
    16:14:06 [SEVERE]       at com.nijiko.data.YamlGroupStorage.<init>(YamlGroupStor
    age.java:29)
    16:14:06 [SEVERE]       at com.nijiko.data.YamlCreator.getGroupStorage(YamlCreat
    or.java:58)
    16:14:06 [SEVERE]       at com.nijiko.data.StorageFactory.getGroupStorage(Storag
    eFactory.java:129)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.forceLoadWorld(
    ModularControl.java:91)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.loadWorld(Modul
    arControl.java:82)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.safeGetUser(Mod
    ularControl.java:489)
    16:14:06 [SEVERE]       ... 9 more
    16:14:06 [SEVERE] java.lang.Exception: Error creating user McH in world Wioska11
     due to storage problems!
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.safeGetUser(Mod
    ularControl.java:491)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.getUsr(ModularC
    ontrol.java:571)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.permission(Modu
    larControl.java:315)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.permission(Modu
    larControl.java:307)
    16:14:06 [SEVERE]       at com.gmail.nossr50.mcPermissions.permission(mcPermissi
    ons.java:31)
    16:14:06 [SEVERE]       at com.gmail.nossr50.mcPermissions.regeneration(mcPermis
    sions.java:119)
    16:14:06 [SEVERE]       at com.gmail.nossr50.mcTimer.run(mcTimer.java:46)
    16:14:06 [SEVERE]       at java.util.TimerThread.mainLoop(Unknown Source)
    16:14:06 [SEVERE]       at java.util.TimerThread.run(Unknown Source)
    16:14:06 [SEVERE] Caused by: while scanning for the next token
    found character         '\t' that cannot start any token
     in "<reader>", line 59, column 41:
         ...     - 'mcmmo.ability.herbalism'
                                             ^
    
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreToken
    s(ScannerImpl.java:360)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(Sca
    nnerImpl.java:183)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockSequen
    ceEntry.produce(ParserImpl.java:510)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(Parser
    Impl.java:163)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(Parse
    rImpl.java:148)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeSequenceN
    ode(Composer.java:203)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:158)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    16:14:06 [INFO] Saving chunks
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeMappingNo
    de(Composer.java:230)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeNode(Comp
    oser.java:160)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.composeDocument(
    Composer.java:122)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.getSingleNode(Co
    mposer.java:105)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.constructor.BaseConstructor.getSin
    gleData(BaseConstructor.java:124)
    16:14:06 [SEVERE]       at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
    16:14:06 [SEVERE]       at com.nijiko.configuration.NotNullConfiguration.load(No
    tNullConfiguration.java:52)
    16:14:06 [SEVERE]       at com.nijiko.data.YamlGroupStorage.reload(YamlGroupStor
    age.java:178)
    16:14:06 [SEVERE]       at com.nijiko.data.YamlGroupStorage.<init>(YamlGroupStor
    age.java:29)
    16:14:06 [SEVERE]       at com.nijiko.data.YamlCreator.getGroupStorage(YamlCreat
    or.java:58)
    16:14:06 [SEVERE]       at com.nijiko.data.StorageFactory.getGroupStorage(Storag
    eFactory.java:129)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.forceLoadWorld(
    ModularControl.java:91)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.loadWorld(Modul
    arControl.java:82)
    16:14:06 [SEVERE]       at com.nijiko.permissions.ModularControl.safeGetUser(Mod
    ularControl.java:489)
    16:14:06 [INFO] Stopping server
    16:14:06 [SEVERE]       ... 8 more
    >Press any key to continue . . .
    Im so glad that so many people want to help. Thank You :)

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

    MrRaFfLeZ

    Hey, Pawel.
    I just want to let you know that your post doesn't explain what you want someone to fix? I just want to give you quick tip when you want to ask help. I would think in any programming environment.

    Basic questions you should of answered when you posted your message:
    1. What exactly are you trying to do?
    2. You've tried YML parser and did it work?
    3. When you started your server did it give you any errors?

    I'm not a big fan of the promote, I had troubles with it myself. I've decided to you use the add and remove perms.

    If you have trouble understanding what it means, there is a an example below.

    Example:
    Our world is called: WorldTest
    Our player name is called: PlayerTest
    Our group name is called: GroupTest

    Now type this in where ever you tried to type it in before:
    • /pr PlayerTest w:WorldTest parents add GroupTest *(If you want to add a player to a group)
    • /pr PlayerTest w:WorldTest parents remove GroupTest *(If you want to remove a player from a group)

    Quote is from this link: https://github.com/TheYeti/Permissions/wiki/Chat-Commands

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

    Pawel

    Sry :) i was doing this fast coz people are whaiting for server to be on.. Any way im trying to use Residence plugin and General on server but i need Permission and have no idea how it works. second it gives me error about mcmmo.ability.herbalism and lots of errors i have no idea how to make it work.. i run my server on bukkit 818 (i believe) when i log in it comes out with LOADS of errors on log.

    BTW: can some 1 learn me how to use Permission :)
     
  7. Offline

    MrRaFfLeZ

    Could you in anyway post on the forum the "LOADS of errors on log".
     
    e_zach likes this.
  8. Offline

    bigggan

    Hello

    How to promote ingame? when i use:
    /pr <username> parents add <group to add>
    /pr <username> parents remove <group to remove>

    It can add the rank but when i want to change the rank again it say group/user doesent exist, when i want to remove a group from player. How to do this propperly?
     
  9. Offline

    e_zach

    please post tracebacks so we can find out whats wrong :)

    are there tabs used in the yml file, it doesn't like tabs. ('\t')

    EDIT: spaces only!

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

    Dragonntiger

    These are the first two tracks on my server:
    Code:
    tracks:
        LowClass:
        - Guest
        - Player
        - Builder
        - Adv_Builder
        - Scrub
        - Noob
        - Trusted
        - Forger
        - Miner
        - Workman
        - Adventurer
        Knights:
        - Adventurer
        - Recruit
        - Grunt
        - Warrior
        - Beast
        - Knight
        - Berzerker
    So in game, I have typed in, "/pr tutorial promote Workman LowClass"
    tutorial (since the real player doesnt wish to be named on this forum) isnt promoted to Adventurer
    I only have two worlds, regular and nether, and the main world is the regular world so i figured i didnt need to put the w:world.. etc. You could see that i have two adventurers, There I figured how to hop tracks so basically when they're at the top of LowClass, I could just type in "/pr tutorial promote Adventurer Knights" and tutorial would be in the Knights track..
     
  11. Offline

    Pawel

    I havent used any tabs. it will came out in red in Notepad++

    Can you please sent the yml code you have coz maybe i have done something wrong.
    this error i gain in YML "ERROR:

    while scanning for the next token
    found character '\t' that cannot start any token
    in "<unicode string>", line 39, column 34:
    - 'iConomy.bank.list' "

    Whait there was a tab :) i hope now it will work

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

    e_zach

    are you getting any errors popping up at all?
    does it say it was successful?
    are these tracks global or per world?
    were you in the correct world when promoting?

    Caused by: while scanning for the next token found character '\t' that cannot start any token in "<reader>", line 59, column 41: ... - 'mcmmo.ability.herbalism'

    that basically means there's a stray tab in there somewhere (is there a tab at the end of the line possibly?)

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

    rcjrrjcr

    Noted and will fix.
    Thanks for pointing that one out. This is the first Perl script I wrote, so I didn't know much about this bug. Will fix too.
     
  14. Offline

    Supersam654

    Unfortunately, some people aren't and I will need to downgrade back to 2.7 now.
     
  15. Offline

    Pawel

    Still the same i've removed all tabs. but now insteed havin this log after i log in is before i log in. now :(
     
  16. Offline

    e_zach

    i've tested the yml, and it works fine for me, is it a different traceback?
    EDIT: you could always try copy pasting it back from the thread if you still have issues :p
     
  17. Offline

    MrRaFfLeZ

    I'm also in need of some help. I've recently added Permissions and for some odd reason every time I stop the server in the command line the DOS window freezes up and just says:
    And it just stays there, but when I remove Permissions from my plugin folder and restart it. I don't get that problem. Normally it would just close the window and that would be it. Now I have to manually click on the close button to make it stop.
     
  18. Offline

    e_zach

    as i stated obove in my edit, copy paste it back, (html doesn't have tabs :))

    Code:
    users:
        Pabcio16:
            permissions:
            groups:
            - Admin
    
    you just need to add the group name underneath the user like above.
    EDIT: bloody font stuff

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

    Pawel

    OMG it works :) thank you e_zach :)
     
  20. Offline

    e_zach

    np
    are you using the most recent version? try stepping back a few and see if that fixes the problem (im currently using 3.1.1 without any issues, seems to be a few known isues with 3.1.4)
     
  21. Offline

    MrRaFfLeZ

    Yea, 3.1.1 works perfectly. Thanks.
     
  22. Offline

    e_zach

    np
     
  23. Offline

    Pawel

    Yea one more question how do i make my self as a admin and 2 people moderator (op) what do i need to write?
    Code:
    users:
        CuQierasek:
            info:
                prefix: '&a'
            groups:
            - Moderator
            permissions:
            - herp.derp
        Szok:
            permissions:
            groups:
        Pabcio16:
            permissions:
            groups:
    
    I am Pabcio16.

    Just need to change Admin to Moderator ? right ? and do i need all this [/font][/size] to be included ?

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

    e_zach

    sorry, edited, i copypasted and it dumped the font stuff by mistake (i guess i should start previewing my posts huh :p)
    EDIT: yes, just change it to whatever group you want (i need to go to bed i think...)
     
  25. Offline

    Dragonntiger

    No errors
    it says user has been promoted along the track LowClass
    these tracks are per world
    Yes i was in the same world... should I added the groups and users and tracks in the global yml files?
     
  26. Offline

    Pawel

    ok last thing is that ok
    Code:
    users:
        Pabcio16:
            info:
                prefix: '&4'
            permission:
                - herp.derp
                - '*'
            groups:
                - Admin
        CuQierasek:
             info:
                  prefix: '&2'
            Permission:
                 - herp.derp
            groups:
                - Moderator
    i dont want any errors
     
  27. Offline

    e_zach

    depends what version your using, global groups are broken in the latest build as far as i know, but yes, you could move everything to the global groups file (including tracks)
    otherwise you just need to be in the same world as the user your promoting and it should be fine (unless you specifiy the world: /permissions <target> (w:<world>) promote <parent> (w:<parentworld>) <track>)
     
  28. Offline

    Dragonntiger

    I'll try using global, but with just specific worlds, it didnt work, same world for both of us, says he got promoted but he was still the same rank :\
     
  29. Offline

    e_zach

    in the code block there seems to be an extra space before the second 'info:'
    and it's permissions not permission. otherwise looks fine

    no clue, if there was no traceback or anything major, then it should have worked fine. only thing i can think of is it's the incorrect world. GL.

    -_- i really need sleep..
    the '-'s should be level with their group e.g.
    Code:
    users:
        Pabcio16:
            info:
                prefix: '&4'
            permissions:
            - herp.derp
            - '*'
            groups:
            - Admin
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Sep 9, 2018
  30. Offline

    Pawel

    e_zach how do i make that only Admins and Moderator can use sertain commands ? i have puted everything in the group
    Code:
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
    but normal players can use commands that contains in permission but i dont wont them to use it :) just Admin and Moderator
     
  31. Offline

    e_zach

    player's shouldn't be able to run commands they don't have the specific permission node for
    for example if the player group doesn't have permissions.track.mainTrack in their permissions they can't promote along that track.
     
Thread Status:
Not open for further replies.

Share This Page