RegexBlock

RegexBlock is a powerful tool for filtering chat and commands based on regex patterns. These patterns can be added to the configuration manually before starting the server, or added in with commands afterwards.

To learn a bit more about the syntax for these regex patterns, read here: Regex Tutorial If you wish to test your regex, feel free to use RegexPal and test it against numerous strings

By default the plugin will automatically block ip's and urls from chat.

How to install

Simply drag and drop the plugin into your plugins folder, and the installation is complete!

How to Configure

The configuration is loaded based on how you enter the information. It is very specific, and must be followed accordingly.

![Configuration](http://i.imgur.com/XJ0pR0S.png "Configuration)

Names: Relatively, the name can be anything. Just be conscientious of non-english characters within the file. Pattern: This will be the regex pattern that will be compiled and matches against the proper people Denial Reason: The message that is displayed when someone triggers the regex. Accepts color codes such as &c.

There is also an option within the config to check for updates upon running the server (albeit, "update-check"). This is encouraged so you know of newer releases of the plugin, but is not required. The plugin also uses Metrics to keep track of usage, which is disabled in the PluginMetrics directory (same as all plugins).

Commands

The entire commands system is based around the /regexblock command. There are subcommands as follows:

/regexblock reload: Reloads RegexBlock, grabbing a fresh config file from the plugin folder. /regexblock list [regex-name]: Lists either all of the active regexes by name, or more information about a specific regex. /regexblock help [page-#]: Provides help information on the plugin. If additional pages are available in the future, it can be browsed by page number. /regexblock remove <regex-name>: Removes a regex based on the provided name. If none exists, it will list the current regexes. /regexblock add: Compiles together a regex from provided information on the other "add" commands into a functional regex that will now check chat and commands. Requires all fields to be filled first, read more below. /regexblock add name <regex-name>: Adds a name to a regex being built. /regexblock add pattern <regex-pattern>: Adds a pattern to a regex being built. /regexblock add reason <denial-reason>: Adds a denial reason to a regex being built.

The /regexblock add command can only be used if you have finished completely filling out all fields required to create a new regex filter. The other three commands listed after it must be completed first; The plugin will remind you if you are missing a field.

Permissions

(Side note: regexblock.* will grant all correct nodes and bypasses)

Basic command permissions: Commands work where it will be "regexblock.cmd.<cmd-name>". So the permission nodes are as follows:

regexblock.cmd - Being able to use /regexblock at all regexblock.cmd.add - Add command regexblock.cmd.remove - Remove command regexblock.cmd.help - Help menu regexblock.cmd.list - List regexes in use regexblock.cmd.reload - Reloads the configuration file regexblock.cmd.* - All commands

By adding any command perm node, "regexblock.cmd" is implied.

Filter bypass permissions: In general, you do not want to be filtering your entire server for things. More or less you want to stop a particular group of people, or even just allow a certain group to be able to use something in general. The way this filter works is permission-based.

The perm nodes are structured like so: regexblock.bypass.<regex-name>.chat regexblock.bypass.<regex-name>.commands regexblock.bypass.<regex-name>.* - Implies bypasses on chat and commands regexblock.bypass.<regex-name> - see above regexblock.bypass.*.chat - Bypasses all chat filters regexblock.bypass.*.command - Bypasses all command filters regexblock.bypass.* - Bypasses all filters

Simply replace "<regex-name>" with the appropriate name you've provided your regex with in the configuration file, and it will work. An example from the "urls" regex:

regexblock.bypass.urls.command

This would allow a player to use urls within commands, however they would still be blocked on chat.

By default, everyone is blocked or filtered by a set regex, they need a bypass in order to not be affected.

Bug reporting and development

You can find the github page for RegexBlock here: Github The issue tracker for reporting bugs is here, please use a "Bug" tag if you find one or have an error: Github Issue Tracker (Note: Bad regex patterns are not a bug)

Requirements

Java 6 or higher

Features

  • Dynamic adding or removing of regex filters
  • Bypassing regex filters
  • Easy-to-manipulate
  • In-game editting

Comments

Posts Quoted:
Reply
Clear All Quotes

About This Project

Categories

Members

Recent Files