ClientPermissions
About ClientPermissions
Note
Unless otherwise indicated, this plugin will work with all versions of Bukkit and all permissions plugins that support SuperPerms.
Introduction
ClientPermissions is a lightweight plugin which allows supported client mods to be controlled using ordinary bukkit permissions. It is designed to provide a more powerful and manageable alternative to "block codes" (special colour code strings added to the server MOTD to disable certain client mods), allowing client mod permissions to be granted per-group or per-user... in fact exactly like plugin permissions, but for mods!
The plugin uses plugin channel messages to communicate with supported client mods, and everything else is handled by whichever bukkit permissions system you have installed.
Requirements
You will require a functioning permissions plugin already installed to be able to use this plugin, and should be familiar with how to configure permissions.
Installation / Setup Tutorial Video
Setting up the plugin
To get started using the plugin you will need to add one or more mods to the plugin. Each supported mod provides a short name which is used by the plugin to identify the mod and map its permissions. The easiest way to find out a mod's identifier is to install it yourself and connect to your server, then type the command
/clientperms query
This will report the short names and versions of all permissible mods you have installed:
Player: Mumfrey Mods: Examplemod 1.5
To add permissions support for this mod to your server, issue the command
/clientperms add examplemod
Depending on your permissions plugin, by default adding a mod will DENY all that mod's permissions. You can then selectively grant permissions to players or groups using your permissions plugin. For example if you are using PermissionsEx you could use:
/pex user Mumfrey add mod.examplemod.somepermission
The mod's supported permissions can be found in the mod's documentation, or see the section below on discovering supported permissions. As a convention most mod permissions will take the form "mod.<modname>.<permission>", so for example to grant full access to all of a mod's functionality to the group "moderators", you could use:
/pex group moderators add mod.examplemod.*
Again this example assumes you are using PermissionsEx, change the command to the syntax used by the permissions plugin you are using.
Additional Information
- Here you can find out about commands supported by the plugin
- See also, how to discover supported permissions for client mods
Supported mods
At the current time the following mods are known to support ClientPermissions for controlling features:
- The Macro / Keybind Mod versions 0.9.4 and later by Mumfrey
- VoxelPlayer version 0.9.7 and later by Mumfrey
- VoxelMap for version 1.6.2 and later by MamiyaOtaru
- AutoFish by troyboy50
- VoxelVision by anangrybeaver
For mod authors
If you want to add ClientPermissions support to your own projects, contact Mumfrey or you can check out the source on GitHub
This plugin isn't working on my server, I tested with VoxelMap and the Macros mod and neither were blocked (no, I wasn't OP).
I am running MCPC-Plus as my server version (modded bukkit) and so maybe that's the reason. Could you possibly look into making some compatibility for this?
@Kydus1990
The API just lets the mod use the permissions from the server, the best thing to do is report the bug to MamiyaOtaru since it's possible that voxelmap is not correctly processing the permissions it receives from the server.
Hi, I wanted to use a plugin to disable the voxel map on our server, but it does not work. When I use the command "/ clientperms query" voxelmap is reported as unsupported mod. But in the comments of plugin is declared as support. Still, I voxelmap added as a disabled mod, but it does not work. Everythink on version 1.7.2.
@Robson112011
The plugin works for all versions of Bukkit, as mentioned at the very top of the page in bold text. It's only selected as 1.6.4 because BukkitDev insists you specify a version so I tend to leave it selected as the most prevalent version at that time.
If you actually look at the download you'll notice that it's been the same version since October 2012.
This plugin is 1.6.4. How I can disable all features in Macro/KeyBind in my server 1.5.2?
@Marte2007
No, permissions support was integrated in 1.6 and later. I doubt anyone is still using 1.5.x to be honest with you.
@Mumfrey
Do you have some documentation for LiteLoader 1.5.2? And does it have permission support too?
@Marte2007
Yes certainly, the client-side part is now built in to liteloader so if it's a litemod then it's very easy to implement. If it's not a litemod then it needs a little bit more work but it's not very complicated. I'll try to write up some documentation for it when I have a spare 5 minutes.
I'd like to use this permission system in my mod. Can you provide me some documentation/examples on how to use it? Thanks!
@Prominentc
No, just this, as I stated above I think that MOTD codes are not a good implementation. But you didn't give me any feedback on what you've tried since your last message. Can you get it working with *only* spigot and your permissions plugin, because if not then you need to fix that before you go any further and add anything else. I know for a fact that it works fine with spigot so you have to start from a working setup and go from there.
I still can't get this working for the life of me.
Does Macros have stop/block codes too for MOTD to block the events of this mod?
@Brottweiler
The biggest problem with bungeecord is that the client doesn't know when it's switched servers, if I could find out a way to identify when this happens then I can make LiteLoader fire the onLogin event which would trigger the permissions update. Besides that, it should keep the same permissions for the first server across to others, and the permissions client forces a refresh every 5 minutes.
Basically, it should work with bungeecord without issues, but travelling between servers will cause the permissions to be inconsistent unless I can find a way for the client to identify that it has travelled, which I might be able to do let me look into it.
Is it possible to make this plugin work with BungeeCord? So that servers that utilize BungeCoord can use this plugin to disable these supported mods and/or their functions. Or is there already a way? I am not that experianced with Bungee and how it works.
There are no great plugin out there to prevent hackers, NoCheatPlus prevent unsual action but it also preventing donor to have godly item as well. Any chance if you can made one clientpermission that prevent hacked clients ? I willing to donate some ><
@cosalert
I don't have any plans to expand this plugin beyond the current functionality, there are already some great plugins like NoCheatPlus which have lots of functionality in that area. This plugin is not designed to prevent hacked clients it's designed to allow mods a better permissions mechanism than using MOTD codes or similar.
Hello Mumfrey, I am wondering if you can turn this plugin into an anti-cheat plugin ? Like adding nodus,free-cam,nuke and etc cheat plugin into the permission. Anti-cheat plugin such as NoCheatPlus and Anticheats does work to anti hacker, but it also anti godly item such as wooden sword with sharpness V will not work. I have been searching for plugin that anti hacker efficiently but no luck, FlockClient used to be the best choice but now it's outdated ><.
If possible, please do give me a reply, Please and Thanks
@Prominentc
It's not Spigot, because I use spigot on my server and it works fine there. In fact, you can verify that the client side works ok if you join my server (mc.mumfrey.com) and you should see that the events are all disabled.
I guess it could be Group Manager (I use pex) but I don't really know what to recommend to troubleshoot that, although if you say it doesn't work when the permissions plugin is disabled then that's really peculiar since without a permissions plugin it should always block unless you're OP.
Really not sure what to suggest other than downloading everything again and starting with a clean slate to see whether you can make it misbehave at some specific step. It's really not a complicated mod/plugin so there's not much to go wrong.
Would screenshots of anything help, bearing in mind the server I am testing on is localhost?
@Mumfrey
Spigot version 1011
Group Manager
Quite a lot but to test just now (I removed all except clientperms)
The macros mod and liteloader were from your forum posts on http://www.minecraftforum.net
I did refresh my char and even tried this on a brand new player too.
So I guess this is probably a Spigot compatibility issue?
@Prominentc
Okay let's try to troubleshoot
Most common problems are caused by either running a non-CraftBukkit server such as MCPC+ or downloading macros/liteloader from an untrustworthy source which has recompiled the mod without the permissions support.