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
@Mumfrey
Well I installed the Macros mod on my MC client it's called Macros 0.99 and works in game fully.
I installed the Client Permissions plugin
Ran command "clientperms add macros" from console
/clps query <name> Shows that I am using Macros 0.99
The modinfo.yml picked up the mod too.
Yet in game the options that should be redded out as shown in your video for example: "OnHealthChange" are not disabled.
Also the client is reporting no permissions are blocked when using the gui perms page.
I checked my perms, I'm def not op'ed, in a admin or owner group. I'm in the default group with regular player perms....
@Prominentc
Yes, it's easy to check as well, just click to the events page and you'll see that 90% of them have a big red mark over them. Also, at the console do /clps query and it should tell you that you're running macros.
It can't be because I'm OP or in any special group that allows all permissions since I tested this with a default account and only ran the commands from console.
I don't know maybe I'm missing something?
But essentially this should work?
So if I install the plugin and run from console: "clientperms add macros", then the nasty parts of macros will be disabled?
@Prominentc
You can probably still use it because you're OP, and OPs get all permissions. Also, you can still use macros itself, you just can't use any hacky script commands and the majority of the events. It still works for binding keys and client-side automation like toggles and loops, it just disables stuff you can use to "cheat" or get an unfair advantage in survival.
So if I install the plugin and run from console: "clientperms add macros", then the nasty parts of macros will be disabled?
Because I did just that and I can still use Macros.
The only thing I can do to block it is to set the version to a silly number like 987 then it blocks the players saying Macros is out of date.
@LordKainzo
Hi Kainzo. I'm not aware of any problems with the clientpermissions client in 1.6, and the plugin should work unmodified in any version of Bukkit. Basically the plugin only uses the core of the Bukkit API and should essentially work with no changes pretty much forever. The only change I've made in 1.6 is to move the clientpermissions client code into liteloader itself to make it more accessible to modders, this has already encouraged a couple of other developers to add support for the system.
I'm happy as always to help you troubleshoot these issues, and I'm always sat in your IRC channel when I'm online anyway so feel free to hit me with a stick if you see me and I'll come investigate.
@Mumfrey
Was their an update for this for 1.6.2 ? I have a user reporting that in our server all macro related things are enabled.
"Prior to the 1.6 update while using the macros mod macro event binding was limited to very few options by the server. After the 1.6 update all the Macro Binding: Events are available. I do not know if this is a bug, intentional, or because the heroes modpack is not in use. I just wanted to make you aware of these options."
I'm trying to disable macros, and for some reason it's not sensing anything. I'm testing this through VoxelModPack v10.0.1 in the FTB launcher. I think I may be doing something wrong.
EDIT: An update to the modpack and now it's working.
@TheMapp
If you read the information above it says that ClientPermissions are supported from VoxelPlayer 0.9.7 (which is for 1.4.7) and later. Obviously you can't stop clients connecting with older compatible versions such as 0.9.6 but of course once you update to 1.5.2 then the problem goes away. The modpack will be updated in the next few days, all the mods are updated internally we're just finishing up testing.
@Mumfrey
Im running a 1.4.7 FTB server using MCPC+. Litmods, VoxelPlayer 1.4.7 and client permissions does not detect VoxelPlayer v.0.9.6_mc1.4.7.
@nobodys_home
VoxelPlayer only supports client permissions from version 1.4.7 onwards, if you are using an older version it won't be detected.
Anyone having issues with it not picking up VoxelPlayer??
@Lostferret13
Im having the same issue, have you managed to fix it??
I am using FTB mindcrack (running through MCPC 1.4.7) and looking to disable the voxel player nametags (PvP server, etc). When I use "/clientperms query" it returns no mods. Am I using this right? the walkthrough is a little sparse.
What mod name would I use to disable the nametag features?
I hear there is a way to stop the tags using the MOTD, could you instruct on that?
@lolitsthad
In the case of macros it doesn't block the whole mod, it just blocks anything that can be used to exploitative effect such as most of the events and a lot of script commands. Players can still use binds though.
Great idea but doesn't look like it works. I want to block macromod on my server so I did this:
- /clientperms addmod macros - Restarted server - Got on non-op account and tried to use macros - Successfully used macros
So it isn't blocking anything.
Hey mumfrey, I think for some reason players using macromod have the ability to use everything in - despite me not granting it to them - care to take a look?
<3 Mumfrey!
@y1985 @joehot200
I made a tutorial for you guys:
@y1985
though i understand a bit, same here.