Permissions with no permission plugin
FrostyWolf opened this issue ยท 8 comments
I'm not sure if this is intended or not, but the problem is this. If the server is not running a permission plugin at all, or have default bukkit permissions configured, ops only get vanish.op, and do NOT get vanish.standard.
It may be intended, but it seems a little odd. If a server isn't running a permissions plugin at all, generally they are going to want anyone in the ops.txt to have ALL permissions. If they wanted to pick and chose they would be running some kind of permissions plugin.
In your permissions.yml file
vanish.op:
description: Oh god give ops all vanish permissions
default: op
children:
vanish.*: true
should give ops all vanish permissions.
And regarding your point about keeping the server simple i.e without a permissions plugin, bukkit provides a basic solution with the permissions.yml file, a configuration for which I just pointed out above.
14:13:50 [SEVERE] Permission in permissions.yml was already defined
java.lang.IllegalArgumentException: The permission vanish.op is already defined!
at org.bukkit.plugin.SimplePluginManager.addPermission(SimplePluginManager.java:577)
at org.bukkit.craftbukkit.CraftServer.loadCustomPermissions(CraftServer.java:610)
at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:253)
at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:567)
at org.bukkit.Bukkit.reload(Bukkit.java:183)
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:21)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168)
at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:492)
at org.bukkit.craftbukkit.CraftServer.dispatchServerCommand(CraftServer.java:488)
at net.minecraft.server.DedicatedServer.ah(DedicatedServer.java:248)
at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:213)
at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
This is intentional, paste from plugin.yml
permissions:
vanish.op:
default: op
description: The permission nodes given to ops
children:
vanish.reload: true
vanish.adminalerts: true
vanish.permtest.all: true
vanish.see: true
vanish.vanish: true
vanish.statusupdates: true
vanish.list: true
To clarify a bit, the reason some of the other nodes aren't provided to ops by default is because they add extra features that would be a bit silly to impose by default, like effects and fake joining. For fine tuning of that you really should be using a permissions plugin
I understand. I'm guessing there is no way to set it so that it defaults to all permissions if there is no permissions set, and only vanish.op if there are permissions?
My original point I think still stands, if they are running a server with no permissions (small server, trying to keep it simple, etc, etc) they are going to want who ever is in there ops.txt to have everything, or they would have a permissions plugin.
I can understand why if they HAVE a permission plugin that you would only default to vanish.op tho. If you can't have the best of both worlds (all permissions if no permissions configured and vanish.op if permissions are conifgured) the way it is now is the best bet.