FUBS Unknown Commands

425 Downloads

This is a Plugin which hides commands from the user by displaying them the servers default unknown command message if they use an non-whitelisted command.

With that you will be able to simply make whole plugins not detectable via brute-forcing possible commands to get an permissions denied message. You could make a Bukkit server to a Vanilla server that way! Or you could prevent that griefers know that you have LogBlock or Prism!

Why not simply use Permissions?

Permissions are neat but they have one shortcoming:

The user get a permissions denied message. After that he knows that you have the plugin with that command installed. You could simply display the permissions denied message also for unknown commands but using the unknown command itself for commands you haven't whitelisted is way more sexy!

But don't get me wrong, you should use Permissions! Even with this Plugin! It is only intended for small, public servers or to just set a general command whitelist, also watch out for the next points...

It has some important Shortcomings!

  1. This plugin cancels the use of all commands which are not whitelisted. (Not really a shortcoming, just - you know - the only function of this plugin *shrug*)
  2. You cannot allow commands by permissions. If it isn't on the whitelist it isn't accessible for normal players.
  3. Tab complete is currently (v0.1) not canceled. Use a plugin like AntiCommandTab if you care about that!
  4. If you whitelist /help, /? oder /plugin you will expose all your commands and plugins. Use the help.yml file and other plugins like Vanilla to hide plugins from these messages!
  5. Commands are only whitelisted as is and not with their plugin-specific prefix! You have to allow them separately! (This may change in a future version)

Why a Whitelist?

You may ask why I implemented it in the style of a commandwhitelist rather then a commandblacklist and the answer is simple: Whitelists are always more reliable then blacklists! With the existence of aliases and the addition to Bukkit to address all commands with a prefix of their plugins name there is a whole ranch of commands you would have to blacklist so a whitelist is way more suitable to deny access to the commands!

You may also ask why a whitelist instead of really checking if the player has the permissions to use the command. The reason is - again - simple: I just wanted it that way. It is the easiest one and if you look at the source you will see that I did not invest abnormal time to make it. Maybe I will implement a more permission-based approach in the future but currently you have to stick with the whitelist!

Permissions and Commands

  • /unhidecommand - unknowncommands.unhide - lets you add a command to the commandwhitelist
  • /hidecommand - unknowncommands.hide - lets you remove a command from the commandwhitelist
  • unknowncommands.bypass - bypass the features of this plugin
    Operators have all three permissions on default!

config.yml

# Don't want to use the server's default messages? Set your own. (This will override all other error message costumizations!)
errormessage: []
# This is the whitelist section (obviously)
whitelist:
# Add commands in the following style (or via console/ingame commands)
- tell
- me
- version

Source

The source is on Github so fork it if you want to change something!

Donations

Programming can be exhausting!
Keep me going by buying me a beer:
Ðoge: D7G4Svo7GTNHpuhjwUBj2k7qANnZHwYD4p
BTC: 1PA587M8c3rbt2dFF9xUTSGepwWedm7ALB

I am not a fan of paypal but since some people might not have crypto, have a donation link for paypal.