CommandRedirector
CommandRedirector is permission-based lightweight plugin that allows you to view players commands. It is very flexible, easy to setup and requires minimum configuration - almost everything based on permissions!
Configuring
- There is only 3 parameters to configure. Prefix comes before sender name, suffix comes after. It supports color codes like &4.
- Channels number required to register how much separate channels for command receiving you need. For example, if you have 3 groups - Mods, Admins and Owners, and if you want mods and admins only receive users commands, and want owners to receive every command, you need 2 channels.
- Remember that channels numeration starting from 0, so maximum channel number will be (N-1).
- Remember that every additional channel eats additional processor time so register only amount of channels that you really need. I'm not recommending register more than 5 channels - it should be enough for everybody, but I'm not limiting so you can create as much as you need.
Permissions and commands
CommandRedirector.admin - gives access to following commands:
Command | Effect |
---|---|
/CommandRedirector | displays version number |
/cr | alias for /CommandRedirector |
/cr prefix <prefix> | changing prefix on the fly |
/cr suffix <suffix> | changing suffix on the fly |
/cr channels <amount> | changing channel number on the fly |
/cr reload | reload configuration file from disk |
Setting up command receiving
- N replace with channel number.
- Plugin was designed for PermissionsEX to use all it's regular expressions powers, but it will work as well with another permissions plugins, maybe with less convenience.
- Permissions commands MUST BE IN LOWER CASE, and it will not be sent independent of case in which it was performed. So if you will add ".nosend.login" it will not send "login", "Login", "LOGIN", "lOGiN" etc.
- By default all players sending all commands to all channels and nobody receiving any commands.
Command Sender side:
Permission | Effect |
---|---|
CommandRedirector.channel.N.nosend | players with this permission will not send any commands to specified channel |
CommandRedirector.channel.N.nosend.command | this preventing player from sending specified command to specified channel |
CommandRedirector.channel.N.nosendargs.command | this will send command to channel but will not send arguments. Very useful for authentication commands and commands that could include another private information |
Command Receiver side.
Sender permissions overriding receivers, so if sender has .nosend.command and receiver has .receive.command, command will NOT be sent:
Permission | Effect |
---|---|
CommandRedirector.channel.N.receive | players with this permission will be allowed to receive commands from specified channel |
CommandRedirector.channel.N.receive.command | players with this permission will receive specified commands from specified channel. Without this permission receivers will not receive any commands |
CommandRedirector.channel.N.receiveargs.command | this will allow receiver to receiving arguments from specified channel and command. Without this permission they will not receive any arguments from any commands! |
CommandRedirector.channel.N.processmyself | this will allow player to receive his commands on common conditions |
Example PEX configuration with 2 active channels:
groups: default: default: true permissions: - CommandRedirector.channel.*.nosendargs.(l|login|register|changepassword) mod: permissions: - CommandRedirector.channel.0.nosend - CommandRedirector.channel.0.receive - -CommandRedirector.channel.*.receive.(helpop|ehelpop|amsg|eamsg|ac|eac) - CommandRedirector.channel.0.(receive|receiveargs).* inheritance: - default admin: permissions: [] inheritance: - mod owner: permissions: - CommandRedirector.channel.*.nosend - CommandRedirector.channel.1.receive - -CommandRedirector.channel.*.receive.(helpop|ehelpop|amsg|eamsg|ac|eac) - CommandRedirector.channel.1.(receive|receiveargs).* - -CommandRedirector.channel.* - '*'
In this configuration:
- Mods and admins will only receive commands from default group, but not from another mods/admins and not from owners. They will not receive agruments when player performing commands: l, login, register, changepassword. They will not receive /helpop command from essentials.
- Owners will receive commands from admins, mods and default group, but they will not receive commands from another owners. They will not receive agruments when player performing commands: l, login, register, changepassword. They will not receive /helpop command from essentials.
You should add "-CommandRedirector.channel.*" before wildcard! Otherwise plugin behaviour might be unexpected.
How to simply activate command receiving?
- Ok, you don't want mess around with commands, you simply want to receive any commands from player except passwords
- 1) Type command /cr channels 1 so you will switch plugin to 1 channel mode
- 2) Add following permissions for you:
- CommandRedirector.channel.0.receive - -CommandRedirector.channel.0.receiveargs.(l|login|register|changepassword) - CommandRedirector.channel.0.(receive|receiveargs).* - -CommandRedirector.channel.*
If plugin doesn't works for you
- Provide in commentaries your permission file. Better if you will use PEX, but I will try help you with another plugins too if you have it.
- If you have errors in console, provide at least 50 lines before and after error was happened, as well as plugin list of your server.
If you want to help with plugin enhancement
- Enable timings on your server using /timings on command. Then after some time use /timings paste and give a link to timings. I need it to see the performance rating.
- If you have an ideas for additional features, post them into commentaries.
Is that plugin working with Bukkit 1.5, 1.4.7 and older versions?
Plugin doesn't contains any low-level calls so it should work with older versions. However I'm not sure, feel free to test it and post result into the comments.
PluginReloader compability
This plugin fully compatible with PluginReloader and could be installed/updated/uninstalled without restarting the server
Comments