Voxelsniper permissions not working with groupmanager - internal server error
MarkLyck opened this issue ยท 18 comments
Alright. I've been using voxelsniper just fine with permissionsex for a while. However we've now changed to groupmanager and are experiencing issues.
The plugin works fine for our opped players.
However players even with the permission:
voxelsniper.*
(which is the one they had before)
cannot do anything. Just says:
"I'm sorry, but you do not have permission to perform this command. Please contact the server administrators if you believe that this is in error."
Now if I give them access to voxelsniper.sniper
It will let them type in a command.
But it will also kick them of the server with "Internal Server Error"
and create this error in the log:
http://pastebin.com/MxgGp0iW
Hope you can help us :0
Edit your wepif.yml file.
ignore-nijiperms-bridges: false
resolvers:
enabled:
- PluginPermissionsResolver
- PermissionsExResolver
- DinnerPermsResolver
- FlatFilePermissionsResolver
- NijiPermissionsResolver
- bPermissionsResolver
disabled:
- GroupManagerResolver
Hey.
Could you give additional information about the problem and the version you're using? (check /version VoxelSniper please)
Other than that, the log suggests, that the server didn't handle a packet correctly, which suggests that it might not be an issue with VoxelSniper.
I installed the latest devbuild of voxelsniper.
My minecraft is v1.7.9
running Spigot
If you know of any plugins that are incompatible with voxelsniper that might help solve my issue? but it's weird that it would work perfectly fine for "opped" players.?
@TheCryoknight he already said what permissions plugin he is using, in the issue title and description...
yes I am using groupmanager.
I recently switched over from using permissionsex
I will supply you with the full permissionfile, if that will help :)
There's my permissionsfile.
The voxelsniper related permissions are in the:
TrialA, Architect and Grand_Architect groups.
I've tried switching from using voxelsniper.* to voxelsniper.sniper
but as mentioned in the original ticket, it just kicks the user.
Are you having issues with other plugin's permissions? Even though I don't know how Sniper implements permissions these days, I'm guessing we're still using Bukkit's perm interface so the problem could actually be related to groupmanager's implementation.
things I tried.
- I updated Essentials, Spigot and GroupManager to the newest versions.
- essentials: Dev2.14.9
- spigot devbuild: #1463
- essentials: Dev2.14.9
- groupmanager (same as essentials)
- I removed all voxelsniper related permission nodes from the entire file except for the Architect group (which I was testing it in)
- result -> same as original ticket. (no permission)
-> manucheckp:
20:05:58 [INFO] The user inherits the permission from group: Architect
20:05:58 [INFO] Permission Node: voxelsniper.brush.ball
20:05:58 [INFO] SuperPerms reports Node: false
20:06:11 [INFO] The user inherits the permission from group: Architect
20:06:11 [INFO] Permission Node: voxelsniper.sniper
20:06:11 [INFO] SuperPerms reports Node: false
- I changed it from voxelsniper.* to voxelsniper.sniper
- result -> same issue (kicks players with internal server error, when making a full command)
setting brush sizes, or doing half of a command works though. but full commands will cause an error.
-> manucheckp:
20:13:58 [INFO] The user inherits the permission from group: Architect
20:13:58 [INFO] Permission Node: voxelsniper.sniper
20:13:58 [INFO] SuperPerms reports Node: true
20:14:46 [INFO] The player doesn't have access to that permission
20:14:46 [INFO] SuperPerms reports Node: false
(voxelsniper.brush.ball)
- I changed it from voxelsniper.brush.ball
- result -> same as original ticket. (no permission)
20:17:16 [INFO] The user inherits the permission from group: Architect
20:17:16 [INFO] Permission Node: voxelsniper.brush.ball
20:17:16 [INFO] SuperPerms reports Node: true
- tried changing it to voxelsniper.
- result -> same as original ticket. (no permission)
20:18:00 [INFO] The player doesn't have access to that permission
20:18:00 [INFO] SuperPerms reports Node: false
other plugins I use superperms with. (to prove that it's most likely not an issue with superperms, since all of the below works fine:)
noitem - noitem.*
Quicktravel - qt.use.*
VariableTriggers - vtriggers.use.*
Lorelocks - lorelocks.pick.*
multiverse - mvinv.bypass.*
schematicbrush - schematicbrush.*
WorldEdit - worldedit.*
WorldGuard - worldguard.*
Citizens - citizens.npc.*
Sentry - sentry.*
Prism - prism.wand.,
Essentials - essentials.signs.break.
CreateYourOwnMenus - -cyom.slot.lock.*
I'm pretty sure all of the above use superperms to make the * work.
and I'm not having any problems with any of those.
I just did some experimentation using the latest Spigot, latest GroupManager dev build and latest VoxelSniper dev build and whilst I couldn't reproduce the error there is definitely something going on with GroupManager's implementation of wildcard permission nodes when accessed via superperms.
- With no permissions an error is generated as expected when attempting to use VoxelSniper features/commands
- With voxelsniper.* no message is generated but *no features work at all
- With voxelsniper.sniper _as well as *_voxelsniper.*** commands work but no brushes can be selected (this sort of makes sense but you'd expect the wildcard permission to work
- Adding voxelsniper.brush.ball allows ball brush to be selected and used, even though it should technically be granted by the original wildcard permission
This is corroborated by issuing the commands (using the built-in group "Builder" in GroupManager)
mangaddp builder voxelsniper.*
You added 'voxelsniper.*' to group 'Builder' permissions.
manucheckp mumfrey voxelsniper.sniper
The user inherits the permission from group: Builder
Permission Node: voxelsniper.sniper
SuperPerms reports Node: false
mangaddp builder voxelsniper.sniper
The group already has direct access to that permission.
Node: voxelsniper.*
You added 'voxelsniper.sniper' to group 'Builder' permissions.
manucheckp mumfrey voxelsniper.sniper
The user inherits the permission from group: Builder
Permission Node: voxelsniper.sniper
SuperPerms reports Node: true
Notice how when we add the actual permission that GM complains the perm is already applied, and actually does say it's applied when queried but actually notes that SuperPerms is not seeing the permission as set.
This leads to the following conclusions:
- GroupManager's SuperPerms support is currently broken wrt wildcards or
- SuperPerms in spigot is currently broken when using GroupManager or
- There's something really weird going on with wildcards which causes them to not work only sometimes
Since you asserted that other plugins are working when using wildcard perms I can only assume that
- Said plugins are not retrieving permission values via superperms (eg. they're using Vault or other intermediate API)
- Said plugins are directly checking for the * permission (which is weird but possible, and does work even via SuperPerms)
- Said plugins are actually not working properly but the effects are not actually obvious
- Underpants Gnomes
Things you can try:
- Update to 2.14 of Essentials and see if the problem persists
- Instead of specifying wildcard perms, specify the actual perms
- Do your own experiments with manucheckp and see what results you get for SuperPerms responses (must execute manucheckp on an online user for that to work correctly)
Things you can provide:
- Precise version (exact build no.) of spigot you're using
- Precise version (exact build no.) of essentials you're using
- Precise version of groupmanager you're using
tl;dr GroupManager seems to have issues of its own, whether these are related to the problem you're experiencing needs to be determined before troubleshooting further.
if it helps. Here's a complete list of plugins on my server:
http://pastebin.com/BMfrdBu6
An option I believe is to set voxelsniper.* included in the plugin.yml for VS, of which all voxel perms are children of.
@WonderDude if you know how, try modifying the plugin.yml for that and see if it works.
@gabizou I already tried that, didn't work
Anyhow I somehow managed to make it work. Here's what I did, if anyone else gets the same issue:
I made a new server with bukkit 1.7.2 (beta build)
put VoxelSniper 5.168.9-SNAPSHOT on it.
and downgraded back to: Essentials-2.13.1
that worked. So I changed bukkit to the newest spigot. It still worked. and I moved them over to the test server and it magically worked? (the only thing I can think of, would be that I was using a dev-build of voxelsniper that is incompatible with 1.7.9)
@Mumfrey face desk (No morning coffee today)
This is an issue with bikkit's super perms not fully supporting wild card permissions in favor of parent or child perms.