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:

CommandEffect
/CommandRedirectordisplays version number
/cralias 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 reloadreload 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:

PermissionEffect
CommandRedirector.channel.N.nosendplayers with this permission will not send any commands to specified channel
CommandRedirector.channel.N.nosend.commandthis preventing player from sending specified command to specified channel
CommandRedirector.channel.N.nosendargs.commandthis 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:

PermissionEffect
CommandRedirector.channel.N.receiveplayers with this permission will be allowed to receive commands from specified channel
CommandRedirector.channel.N.receive.commandplayers with this permission will receive specified commands from specified channel. Without this permission receivers will not receive any commands
CommandRedirector.channel.N.receiveargs.commandthis 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.processmyselfthis 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

Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    56687
  • Created
    May 1, 2013
  • Last Released File
    May 1, 2013
  • Total Downloads
    888
  • License

Categories

Members

Recent Files