CommandDefender icon

CommandDefender -----

Block & hide commands from your users, with blacklists, whitelists, and much more!




Hi everyone!

If you have any questions about this update, please join the Discord or PM me on this website.

A quick intermission:

With this update I would also like to announce that my new plugin BlackWidow has been released, which improves upon (and supersedes) CommandDefender. Check it out!

BlackWidow should have all of the existing features of CommandDefender, and with more to come. It reaches the goals of "CommandDefender 3" and has the potential for so much more. CommandDefender will most likely not receive any more feature updates as you should switch to BlackWidow instead.


Regardless, back to this update!

This update purely improves project/source code things and doesn't add any new features. Compatibility is confirmed with 1.21.3!
Changelog:
  • halves the size of the JAR down to ~50KB via jar minimization.
  • migrate logging from MicroLib to Bukkit. reduce logging frequency, and remove colors from the logs.
  • remove unused 'backup' subcommand.
  • add clarification about functionality when 'block-colons' is enabled whilst command suggestion filtering is disabled.
  • general updates and improvements to the build config, code, whatnot.
  • version no longer includes a 'build' number system.

Cheers,
~lokka30.
----------, Nov 17, 2024

Hey all,
This is just an update to confirm support with 1.20.x. I've updated the internal libraries and made very small updates to the code.
Enjoy!


(Progress on CommandDefender v3 remains paused due to lack of time.)
----------, Aug 10, 2023

CommandDefender 2.1
Command Protection Solution for Bukkit

Hi everyone, here's another update for you all. :)

Thank you to TheJoshua for testing this update!​


Announcements:

Changelog:
  • Fix command blocking toggle option (lokka30, TheJoshua)
  • Delete IDE files from repository (ArtelGG)
  • Code style improvements (ArtelGG)
  • Fix deprecated Maven expressions (ArtelGG)
  • Improve plugin.yml (lokka30)
  • Remove banner from configs (lokka30)
  • Remove supported versions message from cd info (affects new installs) (lokka30)
  • Added authors to cd info (affects new instals) (lokka30)
  • Tweak onEnable logging (lokka30)
----------, Jun 13, 2022

CommandDefender v2.1.5 b29
Please read this update message. :)
Good news:
This update fixes a crucial bug where allocating players permissions to allow/deny an entire command set will change its actual state, thus making it seem like every player has that permission!
Thank you to TheJoshua for reporting, finding the code at fault, and testing this bug!

Bad news:
CommandDefender is open source software, and is not backed by any company, so its lifeblood is me and any generous users who wish to propel the project forward. I have now completely paused development on CommandDefender (besides critical bug fixes) - few people are interested in the resource, and a fraction of that care to participate in its development (testing, code, feedback). For instance, I requested some user contributions on the update from 9 days ago, not a single person has raised their hand. I gave it a second change by asking on the Discord server, with no results either. Therefore, I've lost the motivation to work on this project. If circumstances change, I'll gladly continue working on it.
----------, Feb 25, 2022

Please read this :)

Important Announcement
I am currently working on CommandDefender 3, but I have paused due to a loss in motivation. I think all that's needed to rekindle the fire is for server owners to do some testing of the dev builds, to whichever degree you like. It would be much appreciated, as it would significantly increase the development rate.

If you're interested, please join my Discord and let me know in the #commanddefender channel.

This being a free and open source plugin, it is more difficult for me to justify spending so much time to write the plugin at my premium standards. Especially doing all of the tasks on my own ;)
All helping hands will benefit every server owner relying on this plugin.

In case you haven't heard about CommandDefender 3 yet, here are some of the major features:

  • Complete re-code from head to toe. Far better quality code, built upon modules.
  • Potential to run on multiple platforms, i.e. Bukkit, BungeeCord, Velocity, Sponge, etc. I believe it will start out with Bukkit and Velocity.
  • Enormously improved configuration. Easier to use, and it is the most customizable command blocking configuration out there. Even has the ability for other plugins to add their own features to it through CommandDefender's code.
  • Tab completion filtering! As many of you have requested :)
  • Support for async events on PaperMC servers to improve performance.
  • ... and more!

...Now, onto the update!

This update changes the internal event priority to LOW so that it should improve compatibility with other plugins. I also made some minor improvements in the code. I'd like to leave CD 2 in a polished state so that it works brilliantly whilst v3 is in development.
----------, Feb 16, 2022

v2.1.3 (Build 27)

  • Fixed the wildcard permissions for allow/deny (e.g. commanddefender.allow.*), they should work now. (reported by Whiskey).
  • Made the colon blocker filter tab completion regardless of the tab completion setting being enabled or not (suggested by Joshua).
  • Minor code improvements.
  • Updated MicroLib, bStats, Spigot-API maven dependencies.
  • Updated copyright.

If you have any questions/issues/comments/suggestions on CommandDefender feel free to let me know on the ArcanePlugins Discord Server.
----------, Jan 30, 2022

v2.1.2 (Build 26)
  • Fixed a single exclamation mark causing the colon blocker to go rogue.
If you didn't see the previous changelog then please click here!
----------, Dec 27, 2021

v2.1.1 (Build 25)
Announcement: CommandDefender 3 is work-in-progress! :)
  • Fixes colon blocking permission (reported by TheJoshua)
  • Adds setting for tab suggestion filtering (suggested by TheJoshua). You don't need to include this in your file unless you want to change it.

The new tab suggestion filtering setting is just under the priorities section:
Code (YAML):

# Setting this to 'false' makes CommandDefender not filter through the command suggestions system in 1.13+ servers.
# For 1.7-1.12 servers this option does not do anything because 1.13 added such system.
enable-command-suggestion-filtering
: true
 
Here it is relative to the priorities section:
Code (YAML):
# Create a list of allowed/denied commands ordered by priority.
# Please check the Wiki on how to use this if you are not already familiar. The Wiki URL is linked at the top.
priorities
:

  # Setting this to 'false' disables CommandDefender from checking the lists below and thus will not block any commands
  # with exception of the 'block-colons' setting below and also the permissions to block commands which can also be
  # toggled below, see 'enable-allow-deny-permissions'.
  enable-command-blocking
: true

  # Setting this to 'false' makes CommandDefender not filter through the command suggestions system in 1.13+ servers.
  # For 1.7-1.12 servers this option does not do anything because 1.13 added such system.
  enable-command-suggestion-filtering
: true


Enjoy <3
----------, Dec 27, 2021

v2.1.0 (Build 24)

Notes:
  • This update was not tested.
  • File changes: none.
  • Here's a small update to keep the ball rolling. A few small fixes and a small new feature. Thanks to @stumper66 for contributing! --- I hope I will get started on ProtocolLib tab packet filtration within a few days, but I am uncertain.

Changelog:
  • Fixed tab complete index for CommandDefender command (stumper66)
  • Updated MicroLib dep (lokka30)
    • Added support for 1.16+ hex colors!
    • Updated QuickTimer usage
  • Improved return for tab complete for CommandDefender command where no tab completions are available. (stumper66)
  • Attempted fix update checker possible error (lokka30)
----------, Apr 5, 2021

Hi all, this is an announcement, not an update. If you have v2.0.1-b23 installed, then there is no need to hit download for this 'update'. If you have v2.0.0, not v2.0.1-b23, then please see the changelog for v2.0.1-b23 and download the update.

I have noticed that I have neglected the Wiki of this plugin for..too long. I have now fixed 2 (and a half) of the 3 pages in it.

I wish to clarify a few things:
  • CommandDefender does not need MicroLib installed in the plugins folder. If there are no other plugins using MicroLib then please remove it from your plugins folder as it would be useless in that case. This has been the case for ages, and I am surprised that I never noticed I left it in the Wiki.
  • The Wiki had shown severely outdated permissions. Please check over your permissions plugin's groups and ensure you have set them the actual CommandDefender permissions, not the ancient ones I forgot to replace from the Wiki.

Here is the link to the Wiki, containing installation instructions, commands, permissions and configuration tutorials for CommandDefender.

If you are unsure about anything, please join the Discord server and kindly ask the software support team for assistance. Most of the server is not familiar with CommandDefender so you should ask @lokka30 (me) for help.

Thank you all, and I apologise for the update-without-an-update. I did this just to ensure my announcement was most effective.
Have a good one. :)
----------, Feb 21, 2021

v2.0.1-b23
Notes:
  • This update was tested.
  • File changes: none
Changelog:
  • Fixed a bug where 'block-colons' also blocked colons in arguments of a command rather than only the actual command itself
----------, Feb 21, 2021

v2.0.0 (b22)
Notes:
  • Significant changes were made to settings.yml and messages.yml. You MUST update these files, or you will be GUARANTEED to be slammed with the plugin almost completely malfunctioning.
  • This update was partly tested. I do not have enough time to fully test it. If you are skeptical about your commands' security, I would recommend you test this version before you deploy it.

Changelog:
Now priority-list based! (lokka30)
  • Finally, you can simultaneously allow and block commands by using priority-based lists!
  • As suggested by @DozerCraft, you can also specify deny messages for each group if you wish to override the default one.
  • This system has overhauled a lot of the code previously in CommandDefender, which explains the big jump in the version.

Multi-line messages! (lokka30)
  • All messages now have multi-line support!

Force-block and force-allow permissions! (lokka30)
  • For those who wanted to block and allow commands based on permissions, that's now possible!


And more...
  • I am testing a new versioning system. I will use 'build' versioning whilst coding (hence b22), and 'x.x.x' versioning for releases to make it easy for server owners.
  • Unfortunately I didn't write a changelog whilst developing this update, so a bunch of minor things were done to the plugin but I didn't note them down.
----------, Feb 13, 2021

v1.4.1

Notes:
  • This update was tested.
  • If you are running the subcommands system, remove any * characters suffixing any args you have listed. e.g. change /command notch* to /command notch.
  • I apologise for the frequent updates, this should be the last for a while :)

Changelog:
  • Removed the necessity to have * after each argument in a command that you want to list. CommandDefender now only counts the last argument you have listed.
  • Decent changes to the 'isListed' code making it run as intended.
----------, Jan 31, 2021

v1.4.0
Notes:
  • This update was not tested.
  • A recommended yet optional file change has occured to settings.yml although the same file version remains. I understand people have already invested lots of time into their configs so I don't want to make you all reset it :)

Changelog:
Overrideable Commands
  • You can now force-block commands such as /island* * whilst in whitelist mode.
  • Thanks to keith for reporting this lacking feature to me. :)
----------, Jan 30, 2021

v1.3.0-BETA
Notes:
  • WARNING This update was not tested thoroughly. If you have security concerns then I would advise you run your own testing or stick with the previous version (unsupported as of now). I apologise for this as I am currently very limited on time and thus unable to test it extensively.
  • No file changes this update. The settings file has new functionality although no changes are needed.

Changelog:

Blockable Command Arguments!
  • Perhaps the most requested feature of this plugin is the ability to block certain arguments of commands (e.g. 'base' in '/home base').
  • This system has been designed to fit as many use cases as possible. Check out the Wiki to see its possibilities!
  • This system is a little tricky to use so please contact me on my Discord if you have any queries or issues.

Bug Fixes

  • Fixed the command message being colorized in the deny message.
----------, Jan 26, 2021

v1.2.8
I apologise for the last 5-6 updates being fixes for older versions.

Notes:
  • This update was not tested.
  • No file changes this update.
Changelog:
  • Hopefully fixed the update checker throwing an error on <1.11 servers, instead it should show a warning to disable it.
  • Very minor change to a message in messages.yml, no reset necessary.
----------, Dec 27, 2020

v1.2.7
Hi everyone! Older servers are now compatible with CommandDefender thanks to @PoZiomek's bug reports. :)
Just a reminder that I have a Discord server which you can join if you want to chat or if you have any issues, requests or comments on the resource. Feel free to join if you wish.

Notes:

  • This update was not tested.
  • No file changes this update.
Changelog
  • Fixed reload subcommand not working on <1.13 servers.
  • Minor code changes.
----------, Dec 24, 2020

v1.2.6
Notes:
  • This update was not tested.
  • No file changes.
Changelog:
  • Third attempt at getting the plugin working on <1.13 servers
  • Changes to the code here and there
----------, Dec 22, 2020

v1.2.5
Notes:
  • This update was not tested.

Changelog:
  • Adapted the same code affected in v1.2.4
----------, Dec 20, 2020

v1.2.4
Notes:

  • This update was not tested.
  • A big thank you to PoZiomeK and Hugo5551 for their excellent communication and assistance for these issues :)
Changelog:

  • Attempted to warn user that the update checker doesn't work in <1.11 servers rather than spit errors
  • Attempted to suppress error that occurs with <1.13 servers when running the reload subcommand.
----------, Dec 14, 2020

v1.2.3
  • Fixed startup error, thanks to person in discussions section for reporting it
----------, Nov 14, 2020

v1.2.2
  • Note: Not Tested! Proceed with caution / test it first.
  • Now utilising QuickTimer from MicroLib
  • Now utilising YamlConfigFile from MicroLib
----------, Nov 14, 2020

v1.2.1
  • Added api-version to inbuilt plugin.yml, which fixes a startup warning.
  • Fixed individual bypass permissions requiring / in command labels.
  • Fixed case sensitivity.
  • Updated dependencies (MicroLib 2.0.0 -> 2.1.1, Spigot API 1.16.3 -> 1.16.4).
  • Fixed update checker.
----------, Nov 14, 2020

Notice
Is your server running any version from 1.7.x to 1.15.x? If so, I am currently awaiting reports from server owners stating if CommandDefender works properly or not on those versions. If you would be able to simply PM me with your version and if it works or not, that would be very helpful :)

v1.2.0

  • Now filters 1.13+'s command suggestion system.
    • Removes blocked commands from the suggestions list.
    • If enabled, removes commands with colons from the suggestions list (e.g. /bukkit:help)

What do you think?
If you haven't, I would appreciate if you'd left a review or pressed 'Like' on this resource so I that I can hear what you think about it.
Thank you so much :)
----------, Nov 1, 2020

v1.1.0
  • You no longer need MicroLib in your plugins folder to run this plugin. It is embedded inside the .jar file now. You must uninstall MicroLib v1 from your plugins folder, or errors will occur.
  • Updated MicroLib dependency to v2.0.0.
  • Removed the startup banner from your console logs :)
  • Few code improvements revolving around the dependency update.
----------, Oct 2, 2020

Changes from v1.0.2-ALPHA to v1.0.6:

v1.0.2-ALPHA
  • Fixed operators not being able to access commands
v1.0.3-ALPHA
  • Fixed placeholders in main command message not being replaced.
v1.0.4-ALPHA
  • Fixed command suggestions not being updated.
v1.0.5-ALPHA
  • Removed the command suggestion manager.
v1.0.6
  • Fixed updater resource id.
  • No longer in alpha stage.
----------, Sep 24, 2020

Resource Information
Author:
----------
Total Downloads: 7,777
First Release: Sep 24, 2020
Last Update: Nov 17, 2024
Category: ---------------
All-Time Rating:
23 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings