YetAnotherSwearingFilter

YASF: Yet Another Swearing Filter

YASF is yet another swearing filter, which has advanced, built-in "Smart Filters" along with the ability to create your own custom Filters. YASF also allows you to choose which Actions to take when a violation is detected (kick, kill, burn, ban, deop, send a message to the player, and/or any number of custom server actions).

Features

  • Advanced "Smart Filters" (see below), along with user-defined RegEx (regular expression) Filters;
  • Blocks commands that contain swear words (via a server customizable list);
  • Applies various actions when a violation occurs (kick, kill, burn, ban, deop, send message, and/or run custom server commands);
  • Optionally bans players that receive too many swearing violations (configurable), or applies a set of custom actions and commands;
  • Optionally bans players from joining the server if their name contains one of the defined swear words (configurable; you can also provide a list of players that are excluded from this check if this is enabled);
  • Ability to add your own custom words (rules) to the list (using regular expressions).

Currently there are eleven built-in Smart Filters to choose from (you may define your own custom filters as well; a dozen custom filtered words are included in the default "filters.yml" file, both as examples and as additional words to filter on), which filter not only on the word itself but also on many variations of that word. All filters (custom and built-in) are case-insensitive and automatically take into account accented characters. For example:

  • the word "Duck" might filter on: duck, duk, dvck, d*u*c*k, d uck, dűćķ, d\_/ck, ddddddduuuuuucccckkkkk, etc.
  • the word "Shot" might filter on: shot, sh0t, $hot, s*h*o*t, s h o t; BUT NOT phrases like: it's hot.
  • the word "All": might filter on: all, allhole ;-) BUT NOT words like: call, or ball, or alloy.
  • similarly, for a word that could be both a person's name and also an offensive word depending on its usage (i.e., Dick), the built-in Smart Filter makes an attempt to determine the usage/intent and filter accordingly. Note: because some sentences with this name/word could be interpreted either way, there are situations where this filter won't correctly identify the negative usage (you can define your own custom filter if you prefer a more strict filter for this case).

You can also choose how many swearing de-merits should be given for any set of words (e.g., more severe words can receive more de-merits than less derogatory words).

Commands

  • /yasf - prints out the user's current number of violation demerits.
  • /yasf test <phrase> - [admin console only] allows you to test words/phrases against the currently running swear filters.
  • /yasf player <playerName> - [admin console only] queries how many de-merits the given player currently has.
  • /yasf setplayer <playerName> <demeritCount> - [admin console only] sets the number of de-merits for the given player.
  • /yasf reload - [admin console only] reloads the plugin and all configuration and rule changes.

Configuration

See (edit) the filters.yml file for instructions on configuring your own Rules and Filters (the defaults may be fine for many people).
Warning: The "filters.yml" file contains offensive language, as all of the swear words to filter on are configured there.

How to Install
  1. Drag and drop the .jar file into your plugins folder.
  2. Stop and restart your server, or "/reload" the plugins while your server is running. The initial filter defaults are now active.
  3. Set up the "filters.yml" file however you want (define your own filters and/or use the built-in ones), and type "yasf reload" from the server console (or use "/reload" to reload all of the plugins) for the new settings to take effect.

Note: to unban someone that has been automatically banned from the server for too much swearing, you'll need to manually edit the "warnings.yml" file. Beside the players' names are the number of violations they currently have. Reset or lower that number to below the ban-threshold.

Examples

The default "filters.yml" file contains documentation and examples on how to create Rules, how to use the built-in smart filters, how to create your own custom filters (which utilize powerful "regular expressions"), and how to define what Actions to take (including defining your own custom actions).

See also this page for more information: Usage-Examples

Please report any inaccuracies in the filters so that they can be corrected as quickly as possible. Thanks.

Note: this plugin sends usage data to MCStats (see: http://mcstats.org/plugin/YetAnotherSwearingFilter).


Comments

  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    50595
  • Created
    Jan 26, 2013
  • Last Released File
    Nov 4, 2013
  • Total Downloads
    5,299
  • License

Categories

Members

Recent Files