PermissionsEx Ranking System /Help

Discussion in 'Spigot Help' started by lordvento, Mar 11, 2020.

  1. Hello,

    I've recently came to a problem with PermissionsEx and that with - '*' . Let me explain what I mean. So basically I have groups setted up on my server like default, builder, admin etc. and few days ago I came to work with a guy who knows about the same how to setup plugins and stuff so I hired him as a Developer on my server just to help out when I got not time for It.

    There's absolutely no problem with anything on my server other than mine (Owner group) and his (Developer group) permissions. My point Is we both got - '*' in our permissions and even tho I've got rank 1 and he's got rank 100 I'm still unable to kick him or ban him just because we got these perms on.

    Is there any way to overcome this - '*' with a rank or something? Just so It all works as It should, let It have all the commands and privileges BUT have the inheritance of developer as the owner and still be above him? I don't want him to have control over me with commands like kick, ban, mute etc. but I want the - '*' to be working for him just as normal.

    Thanks and heres my permissions.yml

    Code (Text):
    groups:
      default:
        options:
          default: true
          build: true
          rank: 1000
          prefix: '&8&l[&6&lHrac&8&l]&8&o '
        permissions:
        - -mobarena.classes.legolas
        - -bukkit.command.plugins
        - -bukkit.command.help
        - -bukkit.command.list
        - -bukkit.command.?
        - -essentials.keepxp
        - backpacks.main
        - backpacks.craft.small
        - backpacks.craft.large
        - backpacks.craft.linked
        - backpacks.craft.combined
        - backpacks.craft.craft
        - backpacks.craft.ender
        - backpacks.craft.furnace
        - backpacks.link
        - backpacks.split
        - backpacks.nest
        - simpleportals.portal.*
        - essentials.warp.list
        - essentials.warp
        - residence.max.res.1
        - lwc.protect
        - jobs.max.1
        - modifyworld.*
        - essentials.build
        - essentials.rules
        - essentials.help
        - essentials.pay
        - essentials.balance
        - essentials.tell
        - essentials.back
        - essentials.back.ondeath
        - essentials.who
        - essentials.afk
        - essentials.list
        - essentials.msg
        - essentials.helpop
        - essentials.motd
        - essentials.spawn
        - essentials.home
        - essentials.delhome
        - essentials.tpa
        - essentials.tpahere
        - essentials.tpaccept
        - essentials.home
        - essentials.sethome
        - essentials.sethome.multiple
        - multiverse.access.*
        - essentials.msg
        - essentials.msg.url
        - essentials.msg.multiple
        - essentials.ping
        - essentials.clearinventory
      builder:
        options:
          rank: 800
          prefix: '&1&l[&9&lStavitel&1&l]&8&o '
        inheritance:
        - default
        permissions:
        - essentials.gamemode
        - essentials.tp
        - worldedit.*
        - essentials.time
        - essentials.time.set
        - essentials.weather
        - essentials.fly
        - essentials.protect.exemptplacement
        - essentials.protect.exemptusage
        - essentials.protect.exemptbreak
        - essentials.gamemode
        - essentials.gamemode.others
        - essentials.tempban
        - essentials.unban
        - essentials.heal
        - essentials.heal.others
        - essentials.invsee
        - essentials.invsee.modify
        - essentials.time
        - essentials.time.set
        - essentials.weather
        - essentials.tp
        - essentials.clearinventory
        - essentials.fly
      admin:
        options:
          rank: 500
          prefix: '&c&l[&4&lAdmin&c&l]&8&o '
        inheritance:
        - pomocnik
        permissions:
        - residence.max.res.10
        - residence.admin
        - essentials.heal
        - essentials.heal.others
        - essentials.ban
        - essentials.unban
        - worldedit.*
      developer:
        options:
          rank: 100
          prefix: '&b&l[&2&lDeveloper&b&l]&8&o '
        inheritance:
        - admin
        permissions:
        - '*'
        - residence.max.res.1000
        - resLim.override
        - residence.admin
      majitel:
        options:
          rank: 1
          prefix: '&d&l[&5&lMajitel&d&l]&8&o '
        inheritance:
        - developer
        permissions:
        - '*'
        - residence.max.res.1000
        - resLim.override
        - residence.admin
    schema-version: 1
     
     
    #1 lordvento, Mar 11, 2020
    Last edited: Mar 11, 2020
  2. Whatever punishment plugin you use, just get the wiki for that plugin and negate the exempt ban etc.
     
  3. No no, I'm using default Essentials to do the the work with kicking and baning. My point Is I don't need to exempt anything It works perfectly on any other player/group that doesn't have -'*' In permissions. I only want to know ANY way to make It work on these two groups with -'*' so I can kick, ban, mute etc. and simply get control over the other group with this permission as I am the owner and he Is my developer. Ofc he Is supposed to be able to do pretty much anything so that's why he used the same permission but thats my point. Just to make It work as he didn't have the -'*' I would simply have control over him with my commands. Setting a rank 100 to him and me having the 1 didn't solve anything.

    Btw: No matter what punishment plugin I could use wouldn't solve anything because this is Essentials related and non of the plugins will come with mute warn kick ban and many other commands I cant do to another person wearing -'*' am I not right? Ofc I've tried plugin that bybasses this but then I run to a problem where It just don't matter what group It was. I either had permission or not and didn't really sort them.

    I just want It to work as It does now but with the difference my group Is ranked higher than his with both having -'*' and I have control OVER him and not being on the same level.
     
    #3 lordvento, Mar 11, 2020
    Last edited: Mar 11, 2020
  4. You'll need to negate the Essentials exempt permissions. https://essinfo.xeya.me/permissions.html (search for exempt.)

    I certainly hope you know what your doing with the * permission or at the very least are hiring trustworthy developers...
     
  5. I understand what exempt does, but even tho i exempt kick for me Im still not going to able to kick HIM since he got the -'*' permission as well as me right. That's what I'm looking to overcome
     
  6. Then try getting something like LuckPerms which allow you to override single permissions.. That's all I can think of..
     
  7. I also recommend you to use some other permission plugins such as LuckPerms, UltraPerms even GroupManager but not pex.
     
  8. So theres no way around It with pex?
     
  9. Something that can override wildcard permissions will do, but I dont think pex has such a feature
     
  10. I guess you dont know any plugin thats especially for this or In some sort of way can overcome this issue of mine because I'm kinda used to PEX and I would love to stick with It as long as It works for me :-/
     
  11. Pex does allow for overriding permissions. IIRC you need to put your negated permissions before you wildcard.

    Code (YAML):
    permissions:
    - -negated.permission.here
    - '*'
    But I would still use a newer permissions plugin, LuckPerms is an amazing permissions plugin and isn't that much of a learning curve compared to PEX.
     
  12. You don't understand what I mean. By negating the permission by doing - -essentials.test in config file means you basically denying that person from using the specific command you negated him from. But I just want to get control over a person that uses permission - '*' as well as me since we two should be able to do everything on the server but the difference I'm his boss and that means I'm supposed to be able to kick him, ban him, warn him whenever I feel to. Without any restrictions in his permissions. For example same with normal groups like Builder vs Admin. Thats means builder has its perms and admins has his but they are sorted with a Rank [xxx](the higher number/rank the higher position) that means If admin Is going to be 100 rank and builder 400 then the builder won't be able to kick the admin because there's a rank restriction but admin will be able to just freely. THAT Is my goal with to somehow override to have a Developer rank 100 and Owner rank 1 with both having permission -'*' and have the rank do It's work so the Owner will be free to kick and ban Developer whenever he want's to. But because having this -'*' in perms somehow gives you like a god mode and be untouchable to matter what with PEX and unable to be sorted with rank.
    ANYONE KNOWS HOW TO OVERCOME THIS PLEASE?
     
  13. I'm unsure if you understand what the '*' permissions actually gives you; it gives every permission from every plugin on your server. I'm unaware Because you've added the '*' permission I'm certain it is impossible to do that with Essentials, the only way you will be able to accomplish this would be to negate the exempt permission from the Developer group. Even plugins such as Litebans or AdvancedBans, plugins that allow such behavior, require negated permissions to work flawlessly with the '*' permission. In all honesty I would recommend you just go through your plugins permissions and give developers and owner the ones they need to run the server, the '*' permission, in my eyes, is a huge security risk to your server, it gives whoever has it the ability to op another user, stop your server, or ban a user or ip through the Minecraft provided command.
     
  14. What I can tell from this is that, you are the owner, you have all the permissions with the wildcard "*", however, you gave your developer all the permissions with the wildcard too. But you still want to be able to punish him whenever you want to because you are the owner.
    Therefore, use either LuckPerms or follow this
    That's the only way.
     
  15. Why are you posting an offsite link to a url shortener.
    Farm posting? This happened in another thread too, same link.