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

    Lunar Delta

    Tried permissions again; still having the problem of individual users being force-added into the groups files. Cannot find any way to disable this, and bewildered why it is happening in the first place. Isn't the groups file for groups?

    As far as I know, all of my formatting and such, etc, is perfect, everything parses correctly and my own admin permissions are working fine, but everything else gets screwed up with erroneous auto-entries that I am helpless to prevent.
     
  3. Offline

    vildaberper

  4. Offline

    Exolas

    We gotta prob, the user.yml getting always wipes and all peeps r guests again ._. how to fix?
     
  5. Offline

    pitbully

    I would like to start off by saying that this plugin, once set up with MySQL works BEAUTIFULLY! Great work on it and I can't wait for future updates/bug fixes. If you dont have all of your plugins (that are capable of it) working through MySQL, I would HIGHLY suggest you learn how to do it. It is not that hard and it drastically speeds up your server performance. We have ZERO lag on my server once I got everything set up with it with close to 30 plugins installed. If you are planning on using MySQL, you need to get a MySQL Database Editing Software. The one that I found to be extremely useful is MySQL Workbench. It is free and full of features.

    Just to help you out if you need it, once you have permissions successfully linked with MySQL, go to your console and add yourself to the database. Use the following in order:

    pr g:[Owner] w:[world] create
    pr g:[Owner] w:[world] perms add *
    pr [yourname] w:[world] parents add [Owner]

    After doing the above, you will have all of your server's permissions in-game. Really Simple! of course, I am used to using longer commands but they really aren't that long. They are very logical and all work in the same format. After doing this in my console, almost all other changes to permissions I made directly to the database using MySQL Workbench.

    The following tables are set-up for you once Permissions is Linked to MySQL:
    prdata #This is responsible for prefix/suffix/build permission and so on.
    prentries #Gives all Player Names and Groups Names an ID# to be used everywhere else.
    prinheritance #Both Group Inheritance and Player Inheritance are here.
    prpermissions #Specifies the permissions that each group will have and each player if they have additional ones.
    prtrackgroups #I NEED HELP WITH THIS ONE.
    prtracks #Sets up your tracks and gives each trackname a trackID
    prworldbase #Not editable
    prworlds #Gives each world a WorldID

    I specified that I need help with the prtrackgroups data table because even when I set it up, I can't seem to use the promote/demote commands. I am not sure whether these are broken (still?) or if I set up the table data wrong.

    So within the prtrackgroups table, there are the following headings:
    trackgroupid #Gives each entry to the table an ID
    trackid #Specifies which track the entry is following (from prtracks table)
    gid #Specifies which group is in said track
    grouporder #Specifies the order of the groups in each track. (I used 1 through 8 for a single track)

    I really hope this helps those who are confused about MySQL and Permissions and if you need any additional help I will be glad to offer it. Just PM me or post in this thread. I will try to watch it from now on as the permissions plugin is the MOST important one on my server and all servers. Without it, a server would be CHAOS! :D
     
    MojoManagement likes this.
  6. Offline

    Bloody_Senatu

    I seem to have found the problem to the error:

    Code:
    2011-06-17 14:12:15 [INFO] Starting minecraft server version Beta 1.6.6
    2011-06-17 14:12:15 [INFO] Loading properties
    2011-06-17 14:12:15 [INFO] Starting Minecraft server on *:25565
    2011-06-17 14:12:15 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-823-gb9d0b04-b860jnks (MC: 1.6.6)
    2011-06-17 14:12:15 [INFO] Preparing level "world"
    2011-06-17 14:12:15 [INFO] Preparing start region for level 0
    2011-06-17 14:12:16 [INFO] Preparing start region for level 1
    2011-06-17 14:12:16 [INFO] Preparing spawn area: 48%
    2011-06-17 14:12:16 [SEVERE] java.lang.IllegalAccessError: tried to access class com.nijiko.permissions.ModularControl$RefreshTask from class com.nijiko.permissions.ModularControl
    2011-06-17 14:12:16 [SEVERE]     at com.nijiko.permissions.ModularControl.<clinit>(ModularControl.java:45)
    2011-06-17 14:12:16 [SEVERE]     at com.nijikokun.bukkit.Permissions.Permissions.setupPermissions(Permissions.java:184)
    2011-06-17 14:12:16 [SEVERE]     at com.nijikokun.bukkit.Permissions.Permissions.onLoad(Permissions.java:139)
    2011-06-17 14:12:16 [SEVERE]     at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:112)
    2011-06-17 14:12:16 [SEVERE]     at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:232)
    2011-06-17 14:12:16 [SEVERE]     at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:219)
    2011-06-17 14:12:16 [SEVERE]     at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146)
    2011-06-17 14:12:16 [SEVERE]     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    2011-06-17 14:12:16 [SEVERE]     at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-06-17 14:12:16 [SEVERE] [Permissions] Unable to load permission data.
    2011-06-17 14:12:16 [SEVERE] [Permissions] Shutting down Permissions due to error(s).
    2011-06-17 14:12:16 [INFO] [Permissions] (Yeti) was initialized.
    It seems anywhere over 23 plugins brings it that. Ive tested it with numberous plugins, and the same everytime.

    For now ill suggest use only the important plugins for your server, keeping the total at 23 tops.
     
  7. Offline

    pitbully

    That is more than likely NOT because of too many plugins. I have 30 plugins installed and do not get this error. From what I know, an illegal access error is because ONE (1) of more of your installed plugins CONFLICT with the permissions plugin. If you have any of the ones listed in the MAIN POST, remove them or follow the instructions he stated to fix the problem. If you dont have any of the ones listed, remove your plugins.jar files one by one until the problem is fixed.
     
  8. Offline

    Bloody_Senatu

    Thats what ive done, and the error ocours after 23 plugins. I have MyHome on, and that works find within the peramiter. With or without it, after 23 plugins are installed, that error ocours.
     
  9. Offline

    grapeman

    Brill post! ive a bit puzzled over the use of each table for a while now due to the lack of docs for the MYSQL side of the plugin.

    The webapp to convert a 2.x yml file into sql code is outdated so im having real difficulty importing all my old permissions into the correct tables. Do you have any suggestions to help me import the old settings?
     
  10. Offline

    Jon1155

    I keep on getting these errors!!!!! I have made sure that the groups.yml file is ok, i ran it through that online YAML parser-thing. I have tried running Permissions without any other plugins on and it works fine, but as soon as i put them all back on again, I get these errors!!!! PLEASE HELP!!!! Below is the console error (i think this isnt ALL of it, but i could only get this part) and also my groups.yml (if its any help)

    Code:
    17.06 15:35:49 [Server] Startup Done (0.375s)! For help, type "help" or "?"
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:219)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:232)
    17.06 15:35:49 [Server] INFO     at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:118)
    17.06 15:35:49 [Server] INFO     at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:140)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:253)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:806)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.java.JavaPluginLoader$38.execute(JavaPluginLoader.java:504)
    17.06 15:35:49 [Server] INFO     at ButtonWarp.PluginListener.onPluginEnable(PluginListener.java:23)
    17.06 15:35:49 [Server] INFO java.lang.ClassCastException: com.nijikokun.bukkit.Permissions.Permissions cannot be cast to com.nijikokun.bukkit.Permissions.Permissions
    17.06 15:35:49 [Server] SEVERE Could not pass event PLUGIN_ENABLE to ButtonWarp
    17.06 15:35:49 [Server] INFO Loaded EssentialsSpawn build 2.3.3 by Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo, ceulemans and Xeology
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:219)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:232)
    17.06 15:35:49 [Server] INFO     at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:118)
    17.06 15:35:49 [Server] INFO     at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:140)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:253)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:806)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.java.JavaPluginLoader$38.execute(JavaPluginLoader.java:504)
    17.06 15:35:49 [Server] INFO     at ButtonWarp.PluginListener.onPluginEnable(PluginListener.java:23)
    17.06 15:35:49 [Server] INFO java.lang.ClassCastException: com.nijikokun.bukkit.Permissions.Permissions cannot be cast to com.nijikokun.bukkit.Permissions.Permissions
    17.06 15:35:49 [Server] SEVERE Could not pass event PLUGIN_ENABLE to ButtonWarp
    17.06 15:35:49 [Server] INFO [RetractableBridge] plugin version 1.3.6 by Captain_Chaos enabled
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:219)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:232)
    17.06 15:35:49 [Server] INFO     at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:118)
    17.06 15:35:49 [Server] INFO     at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:140)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:253)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:806)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.java.JavaPluginLoader$38.execute(JavaPluginLoader.java:504)
    17.06 15:35:49 [Server] INFO     at ButtonWarp.PluginListener.onPluginEnable(PluginListener.java:23)
    17.06 15:35:49 [Server] INFO java.lang.ClassCastException: com.nijikokun.bukkit.Permissions.Permissions cannot be cast to com.nijikokun.bukkit.Permissions.Permissions
    17.06 15:35:49 [Server] SEVERE Could not pass event PLUGIN_ENABLE to ButtonWarp
    17.06 15:35:49 [Server] INFO FenceStack version 1.13 loaded.
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:219)
    17.06 15:35:49 [Server] INFO     at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:232)
    17.06 15:35:49 [Server] INFO     at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:118)
    17.06 15:35:49 [Server] INFO     at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:140)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:253)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:806)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
    17.06 15:35:49 [Server] INFO     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    Code:
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - 'essentials.help'
                - 'essentials.signs.disposal.create'
                - 'essentials.signs.disposal.use'
                - 'essentials.depth'
                - 'essentials.getpos'
                - 'essentials.back.ondeath'
                - 'essentials.back'
                - 'essentials.home'
                - 'essentials.sethome'
                - 'essentials.warp'
                - 'essentials.afk'
                - 'essentials.rules'
                - 'essentials.motd'
                - 'essentials.list'
                - 'essentials.mail'
                - 'essentials.mail.send'
                - 'essentials.helpop'
                - 'essentials.clearinventory'
                - 'essentials.kit'
                - 'essentials.suicide'
                - 'essentials.spawn'
                - 'buttonwarp.use'
                - 'BlueTelePads.Use'
                - 'magiccarpet.mc'
                - 'magiccarpet.ml'
                - 'turnstile.open'
        Admins:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - '*'
    THANKS
     
  11. Offline

    Bloodykittens

    Nope, I don't have any of those
     
  12. Offline

    pitbully

    Ya, that's why I thought I should post it. I really hope it helps people. I would say, do it all manually. It will help you get comfortable with using MySQL in general. I did and it wasn't that much work in the end. Start with the table "prentries" and create your groups. Put them in a nice organized order so that it is easy to add permissions to their respective ID # afterwards. My "builder" ranks are from 8-16 in order and admin ranks are 4-7 so it made it super easy. Remember, a user has Type 0 and a Group has a Type 1.

    Then go to "prinheritance" and add inheritance to the groups. Be sure to not mess this up and do it backwards like I did the first time. If your groups are as follows, guest->trusted->builder->advbuidler then guest should be the parentID and trusted should be the childID for the first one then Trusted should be the ParentID for Builder (ChildID) and so on.

    So if you had the following in prentries:
    entryID | Name | World | Type
    1 | Guest | 2 | 1
    2 | Trusted | 2 | 1
    3 | Builder | 2 | 1
    4 | Mod | 2 | 1
    5 | Owner | 2 | 1
    6 | Pitbully | 2 | 0
    7 | Bob | 2 | 0

    Then in prinheritance:
    uninheritID | ChildID | ParentID | ParentOrder
    1 | 2 | 1 | 1
    2 | 3 | 2 | 1
    3 | 4 | 3 | 1
    4 | 6 | 5 | 2
    5 | 6 | 3 | 1
    6 | 7 | 1 | 1

    This will make Mod inherit from Builder, Builder inherit from Trusted, Trusted inherit from Guest. OWNER should NOT inherit from another rank because Owner will have the permission of '*'. REMEMBER THAT! :D
    I also added in that Pitbully (6) should be an Owner 2nd and Builder 1st. Because in my "prdata" table, based on how i have iChat configured, I can then set up the prdata table like so:

    PrData Table:
    dataID | EntryID | Path | Data
    1 | 1 | build | false
    2 | 2 | build | true
    3 | 3 | build | true
    4 | 4 | build | true
    5 | 5 | build | true
    6 | 6 | prefix | &4Owner&f][

    Based on my configuration in iCHAT plugin, my name would be displayed [Owner][Builder] Pitbully : Message

    Well then you have other problems in your server that need to be addressed. I'm not a plugin developer nor do I know much about them. I only came on here to help people with linking Permissions to MySQL to improve their server performance and reliability.

    ButtonWarp conflicts with Permissions in some way that casues it not to work. Remove the plugin and you won't get the errors. It is really that simple. Another plugin that I found to cause errors is RegionMarket.

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

    TEM Vogelwurst

    Ok, like Maxis010 told me before i will post my errors my current globalusers and globalgroups.yml documents.
    But first i want to describe my problems.

    • Other groups than Admins cant get any items ( /i 5)
    • Group changing for several Users doesnt work
    • Prefix (like [Admin] or [Mod] ) isnt shown ingame
    Alright so i set up a lokal bukkitserver and got on it as Admin...of course everything works fine for me. After changing the group in globalusers.yml to "Bewohner" for me, i still was admin when i reconnected to the server. So here is my globalusers and globalgroups.yml and the console error :

    Consoleerror when joining to the server:
    Code:
    18:18:41 [INFO] V0gelwurst [/5.49.112.234:57209] logged in with entity id 388 at ([ world] 556.71875, 64.0, 256.4375)
    18:18:42 [SEVERE] java.lang.NoClassDefFoundError: com/nijiko/permissions/PermissionHandler
    18:18:42 [SEVERE]       at com.sk89q.bukkit.migration.NijiPermissionsResolver.inGroup(NijiPermissionsResolver.java:77)
    18:18:42 [SEVERE]       at com.sk89q.bukkit.migration.PermissionsResolverManager.inGroup(PermissionsResolverManager.java:106)
    18:18:42 [SEVERE]       at com.sk89q.worldguard.bukkit.WorldGuardPlugin.inGroup(WorldGuardPlugin.java:248)
    18:18:42 [SEVERE]       at com.sk89q.worldguard.bukkit.WorldGuardPlayerListener.onPlayerJoin(WorldGuardPlayerListener.java:119)
    18:18:42 [SEVERE]       at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:243)
    18:18:42 [SEVERE]       at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    18:18:42 [SEVERE]       at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
    18:18:42 [SEVERE]       at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:126)
    18:18:42 [SEVERE]       at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:96)
    18:18:42 [SEVERE]       at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:74)
    18:18:42 [SEVERE]       at net.minecraft.server.Packet1Login.a(SourceFile:43)
    18:18:42 [SEVERE]       at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    18:18:42 [SEVERE]       at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:40)
    18:18:42 [SEVERE]       at net.minecraft.server.NetworkListenThread.a(SourceFile:91)
    18:18:42 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399)
    18:18:42 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
    18:18:42 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    18:18:42 [SEVERE] java.lang.NoClassDefFoundError: com/nijiko/permissions/PermissionHandler
    18:18:42 [SEVERE]       at com.sk89q.bukkit.migration.NijiPermissionsResolver.inGroup(NijiPermissionsResolver.java:77)
    18:18:42 [SEVERE]       at com.sk89q.bukkit.migration.PermissionsResolverManager.inGroup(PermissionsResolverManager.java:106)
    18:18:42 [SEVERE]       at com.sk89q.worldguard.bukkit.WorldGuardPlugin.inGroup(WorldGuardPlugin.java:248)
    18:18:42 [SEVERE]       at com.sk89q.worldguard.bukkit.WorldGuardPlayerListener.onPlayerJoin(WorldGuardPlayerListener.java:123)
    18:18:42 [SEVERE]       at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:243)
    18:18:42 [SEVERE]       at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    18:18:42 [SEVERE]       at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
    18:18:42 [SEVERE]       at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:126)
    18:18:42 [SEVERE]       at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:96)
    18:18:42 [SEVERE]       at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:74)
    18:18:42 [SEVERE]       at net.minecraft.server.Packet1Login.a(SourceFile:43)
    18:18:42 [SEVERE]       at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    18:18:42 [SEVERE]       at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:40)
    18:18:42 [SEVERE]       at net.minecraft.server.NetworkListenThread.a(SourceFile:91)
    18:18:42 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399)
    18:18:42 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
    18:18:42 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    18:18:42 [WARNING] Missing a prefix or suffix for default
    Globalgroups.yml
    Code:
    groups:
        Default:
            default: true
            info:
                prefix: '[Gast]'
                suffix: ''
                build: false
            inheritance:
            permissions:
                - 'general.spawn'
                - 'lwc.blockinventory'
                - 'wings.fly'
        Moderator:
            default: false
            info:
                prefix: '&9[MOD]&f'
                suffix: ''
                build: true
            inheritance:
                - Default
            permissions:
                - 'multiverse.tp'
                - 'general.time'
                - 'general.teleport'
                - 'general.teleport.here'
                - 'general.player-info'
                - 'general.player-info'
                - 'essentials.getpos'
                - 'essentials.top'
                - 'essentials.back'
                - 'essentials.back.ondeath'
                - 'essentials.tp'
                - 'essentials.tphere'
                - 'essentials.tppos'
                - 'essentials.sethome'
                - 'essentials.home'
                - 'essentials.setwarp'
                - 'essentials.warp'
                - 'essentials.delwarp'
                - 'essentials.msg'
                - 'essentials.afk'
                - 'essentials.rules'
                - 'essentials.motd'
                - 'essentials.list'
                - 'essentials.mail'
                - 'essentials.mail.send'
                - 'essentials.helpop'
                - 'essentials.nick'
                - 'essentials.clearinventory'
                - 'essentials.mute'
                - 'essentials.kick'
                - 'essentials.tree'
                - 'essentials.bigtree'
                - 'essentials.spawn'
                - 'essentials.time'
                - 'worldedit.superpickaxe.pickaxe'
                - 'worldedit.superpickaxe.drawing.brush'
                - 'worldedit.superpickaxe.tree'
                - 'worldedit.butcher'
                - 'worldedit.history.undo'
                - 'worldedit.region.stack'
                - 'worldedit.region.set'
                - 'iConomyChestShop.shop.create'
                - 'iConomyChestShop.shop.use'
                - 'iConomyChestShop.shop.sell'
                - 'lwc.protect'
                - 'war.*'
                - 'war.player'
                - 'war.warp'
        Admins:
            default: false
            info:
                prefix: '&6[Admin]&f '
                suffix: ''
                build: true
            inheritance:
            permissions:
                - '*'
                - 'multiverse.portal.create'
        Bewohner:
            default: false
            info:
                prefix: '&2[Bewohner]&f'
                suffix: ''
                build: true
            inheritance:
            permissions:
                - 'general.spawn'
                - 'iConomy.payment'
                - 'iConomy.list'
                - 'iConomy.rank'
                - 'iConomyChestShop.shop.create'
                - 'iConomyChestShop.shop.use'
                - 'iConomyChestShop.shop.sell'
                - 'essentials.time'
                - 'essentials.sethome'
                - 'essentials.home'
                - 'essentials.item'
                - 'worldedit.history.undo'
                - 'worldedit.region.set'
                - 'gastronomic.player.hunger'
                - 'gastronomic.player.checkfood'
                - 'gastronomic.player.checkhunger'
                - 'lwc.protect'
                - 'war.*'
                - 'war.player'
                - 'war.warp'
    Globalusers.yml
    Code:
    ##
    # Users denote which users are included in which group.
    # TheNo1Yeti is in the Admin group
    # Herpina is a member of the Moderator 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 can have a prefix and suffix of their own.
    ##
    users:
        V0gelwurst:
            groups:
                - Bewohner
            permissions:
        Sani:
            groups:
                - Bewohner
            info:
                prefix: ''
            permissions:
        Eve:
            groups:
                - Bewohner
            permissions:
        Devil:
            groups:
                - Moderator
            permissions:
        Elite:
            groups:
                - Moderator
            permissions:
        sQj:
            groups:
                - Bewohner
            permissions:
        Kajot:
            groups:
                - Bewohner
            permissions:
        blacky1991:
            groups:
                - Bewohner
            permissions:
        TheArrival:
            groups:
                - Bewohner
            permissions:
        Gmex:
            groups:
                - Bewohner
            permissions:
        florianheise:
            groups:
                - Bewohner
            permissions:
    
        Deathgrind:
            groups:
                - Admins
            permissions:
        Nexes44:
            groups:
                - Admins
            permissions:
    I´m thankful for any help because i really dont know what to do anymore...this plugin is really getting me down -.-

    greetz Vogelwurst
     
  14. Offline

    pitbully

    Are you aware that Prefix and Suffix do NOTHING without a plugin such as iChat? Does essentials do the same? I know for a fact that iChat works with Permissions 3.x and that is why I am suggesting it.
    If you want to change someones group in-game I would suggest (and this is just an idea) not to unless you set up MySQL. If you want to anyways, first use:

    /pr [name] parents remove [group]
    then
    /pr [name] parents add [newgroup]

    Let me know if that helps.
     
  15. Offline

    SuBByDew

    I was wondering what Permission i need to put in to be able to promote people from within the game, or atleast from the console.
    Also are the ' ' needed around the permissions, if so what does it actually change?

    Thanks
     
  16. Offline

    pitbully

    All of the chat commands and their respective permissions can be found HERE.
    the permissions that you are looking for are as follows:
    permissions.promote.<track>
     
  17. Offline

    jasonsj10

    u only replace stuff in the ()
     
  18. Offline

    Bloody_Senatu

    Well, ive got it up and running now, but im going to be intergrating SQL soon for a donations system on the server. If you know anyway to convert YAML to MYSQL, since the current converter doesnt seem to work, Id be gratefull.
     
  19. Offline

    pitbully

    Aha well I did it manually, I pulled up MySQL Workbench on half my screen and my old YAML File on the other half and just started filling in the Tables. Read my two posts on MySQL to help you learn what goes where and where to start. Trust me, it will be very helpful if you can learn to actually use the tables and not just rely on a converter.

    First post is HERE.
    Second is HERE.
    Both of which are on Page 100.
     
  20. Offline

    Maxis010

    Dammit, I was sure I read *, to inherit from global, uh...try just *? (Sorry I really don't know now so guessing)
    That can't be right, I use over 30 plugins without problems, that error has been reported for specific plugins, i think if you put an a before permissions.jar (aPermissions.jar or APermissions.jar) it forces permissions to load first and resolve the problem (Repeating what I have read, I don't have this problem so can't resolve it)
     
  21. Offline

    SuBByDew

    Do you need the ' ' around the permission nodes to make them work properly, what are they there for??
     
  22. Offline

    Chuckster

    Alright i upgraded permission and now i cant build or place anything could someone tell me the permissions '.*' to allow this :cool:
     
  23. Offline

    klausenbusk

    I have a bug:

    The mader of iConomyChestShop have try help me to fix it, and say i was a bug in permission, and i should "contact" you..

    The bug are...
    If i add:
    Code:
    iConomyChestShop.*
    Evertthing work, if i then also add:
    Code:
    -iConomyChestShop.admin
    notthing work... (related to IConomyChestShop)
     
  24. Offline

    Deatlev

    Help him on that -.- Don't ignore him
     
  25. Offline

    fizzz

    I want my world 'nether' to have the same users/permissions as 'survival' but I can't find anything related to the copies property on the latest version. Does someone have more information regarding this?
     
  26. Offline

    David9586

    I have a weird bug. It seems to be when a server sit long enough that the Permissions MySQL connection times out and then someone joins. Once I restart the server, everythings fine again until it sits long enough for Permissions MySQL connection to time out again.

    Code:
    The last packet successfully received from the server was 29,943,740 milliseconds ago.  The last packet sent successfully to the server was 1 milliseconds ago.
    19:47:01 [SEVERE]       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    19:47:01 [SEVERE]       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    19:47:01 [SEVERE]       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    19:47:01 [SEVERE]       at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    19:47:01 [SEVERE]       at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
    19:47:01 [SEVERE]       at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
    19:47:01 [SEVERE]       at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3082)
    19:47:01 [SEVERE]       at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2968)
    19:47:01 [SEVERE]       at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3516)
    19:47:01 [SEVERE]       at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
    19:47:01 [SEVERE]       at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
    19:47:01 [SEVERE]       at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
    19:47:01 [SEVERE]       at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111)
    19:47:01 [SEVERE]       at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1362)
    19:47:01 [SEVERE]       at com.nijiko.data.SqlStorage.runQuery(SqlStorage.java:259)
    19:47:01 [SEVERE]       at com.nijiko.data.SqlStorage.getWorld(SqlStorage.java:126)
    19:47:01 [SEVERE]       at com.nijiko.data.SqlStorage.getEntry(SqlStorage.java:151)
    19:47:01 [SEVERE]       at com.nijiko.data.SqlUserStorage.getId(SqlUserStorage.java:24)
    19:47:01 [SEVERE]       at com.nijiko.data.SqlEntryStorage.getPermissions(SqlEntryStorage.java:49)
    19:47:01 [SEVERE]       at com.nijiko.data.CachedStorage.getPermissions(CachedStorage.java:26)
    19:47:01 [SEVERE]       at com.nijiko.permissions.Entry.getPermissions(Entry.java:68)
    19:47:01 [SEVERE]       at com.nijiko.permissions.Entry.has(Entry.java:129)
    19:47:01 [SEVERE]       at com.nijiko.permissions.Entry.hasPermission(Entry.java:105)
    19:47:01 [SEVERE]       at com.nijiko.permissions.ModularControl.permission(ModularControl.java:323)
    19:47:01 [SEVERE]       at com.nijiko.permissions.ModularControl.permission(ModularControl.java:310)
    19:47:01 [SEVERE]       at com.gmail.nossr50.mcPermissions.permission(mcPermissions.java:31)
    19:47:01 [SEVERE]       at com.gmail.nossr50.mcPermissions.motd(mcPermissions.java:126)
    19:47:01 [SEVERE]       at com.gmail.nossr50.mcPlayerListener.onPlayerJoin(mcPlayerListener.java:105)
    19:47:01 [SEVERE]       at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:243)
    19:47:01 [SEVERE]       at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    19:47:01 [SEVERE]       at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
    19:47:01 [SEVERE]       at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:126)
    19:47:01 [SEVERE]       at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:96)
    19:47:01 [SEVERE]       at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:33)
    19:47:01 [SEVERE]       at net.minecraft.server.NetworkListenThread.a(SourceFile:91)
    19:47:01 [SEVERE]       ... 3 more
    19:47:01 [SEVERE] Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
    19:47:01 [SEVERE]       at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2529)
    19:47:01 [SEVERE]       at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2979)
    19:47:01 [SEVERE]       ... 31 more
    
    Let me know if there is anything else you need or want me to try!
     
  27. Offline

    ohmydoddtv

    Make the in game commands easier to understand! Why can't I promote people just by typing '/permissions promote bob' instead of having to say a ton of other things? I think this plugin is sooooo over complicated, It's a good plugin, just needs to be simplified :/
     
  28. Offline

    SmileyJeff

    Can't demote a user after typing /pr playername demote Admin TestTrack

    Where my TestTrack is:
    TestTrack:
    - Guest
    - Member
    - Mod
    - Admin

    It gives this message on the chat: "User demoted along track TestTrack." But it doesn't work. Anyone know how to solve this?
     
  29. Offline

    Deatlev

    This is important

    We gotta prob, the user.yml getting always wipes and all peeps r guests again ._. how to fix?
     
  30. Offline

    Maxis010

    OK, now how about you stop bumping this when CLEARLY no one here has anything remotely helpful to post else they would have done so already?
    Give it a few days not hours and if you don't get a reply THEN bump it, spam bumping your problem will only bury other problems which will in turn be bumped eventually burying the support requests
     
  31. Offline

    Flappy

    Hello, I'm rather new to bukkit. And I try to use MySQL db but I fount it difficult to understand... table PrEntries contains groups as well as separate users? and in order to make player belong to any group i have to set it's type to id of group entry? It'd be nice to have some tutorial. :) Thanks in advance for explaining.
    Oh, sorry, finally got it that type is just user/group, but stilll anyone can tell me how to enable building for all players with sql? because I can't get it working. :/
     
Thread Status:
Not open for further replies.

Share This Page