Group Weights override certain groups permissions
starwarsfreak219 opened this issue · 10 comments
My last request/report was closed and blocked from commenting so I didn't have time to come back to show my permissions.yml file and comment due to the fact of it being closed. I did forget to post the link due to being busy with having to watch my little sister. What I reported previously was that Group Weights Override certain group permissions if they are negated from one group, but aren't from another. Here is my permissions.yml file and a picture on the issue at hand:
permissions.yml: http://hastebin.com/rahodiquca.mel
Image: http://imgur.com/NegvImW
I do have separate groups for my AnimatedNames and here is the config.yml for AnimatedNames just to show that it has different groups:
AnimatedNames config.yml:
http://hastebin.com/qoqawaroxi.sm
What version is the server and where did the AnimatedNames plugin come from? Probably irrelevant. Read below.
Also, Your "A" group doesn't have an inheritance, so your PEX file will not work properly in Minecraft 1.9 and higher. See line 19 right here for how to give an inheritance to a group which doesn't inherit from any other groups.
Same for your "Owner" group— no inheritance.
Your "weight" values are also backwards. See the link above.
"Owner" should have a "weight" of 1. With "A" being 100 and "Owner" being 101, you're telling PEX that "A" is more powerful/important than "Owner" on the server. This incorrect weight value setting is what causes A to override Owner as far as AnimatedNames is concerned.
For AnimatedNames, it should be on the Owner group since I am in Owner and A, but it puts it as the default group instead making A override the permissions for Owner. the permission node would be -animatednames.group.default for the Owner group, it will set it to default since A is overriding with Owner.
You can cut about 70 lines off the length of your file, including adding the corrections required above, like this.
You currently have many negated permission nodes that are unnecessary since nothing else in the file is giving those groups permissions that need to be negated. All of these can just be deleted.
And there's a slight tweak to how wildcards are handled when you're negating a bunch of nodes that can help reduce your file size. You can negate a wildcard group after a granted node from the group. PEX will allow the one granted, and negate all the others if the negated wildcard comes after the granted node. (Shown in the "Owner" group in the link above.)
Your ChatFormat plugin is severely outdated, if you're running Minecraft 1.9 or higher.
Also, make sure you've got Vault installed on the server, regardless of whether you use ChatFormat or EssentialsXChat as your chat management plugin. Both require it.
I did install Vault before I made the report. That way AnimatedNames would show the prefix appropriately when taking the snapshot.
I want the owner group to go through the ranking progress. That is why it is set as 101, and I am using the latest version of my ChatFormatting plugin which is a premium plugin called DeluxeChat, I have all these permissions negated as a fail-safe for a user trying to use a ForceOp hack that would possibly show them as Owner, which could cause confusion for some people(I can't be on the server 24/7). I will see about inheritance for A group.
Also I got my AnimatedNames from spigotmc.org, I have genuinely bought it. My ChatFormatting plugin is also updated to 1.10 and is made by the user clip.
If my A group doesn't have a Inheritance, what would be the issue? I haven't seen any issues regarding my A group not having a Inheritance. :/ Would permissions start to fail? I haven't seen any permission failure...
So you want the "Owner" group to be worse than all other groups on the server— to have a worse weight value and not override any other groups' prefixes or anything else that may be related to weight values in 1.9+? That's what you're doing by giving it a higher weight value than everything else on the server.
Yes, all groups must have an inheritance for Minecraft 1.9 and higher. PEX requires this and is programmed that way. Why? You'll have to ask @zml2008 since he programmed it that way. What does not having the inheritance do? It makes 1.9+ servers not function properly, according to dozens and dozens of tickets we've handled since 1.9 came out.