Keeping Your Server Chat Clean with ChatFilter
Running a Minecraft server is all about building a community, but sometimes that community needs a little help staying friendly. If you have ever dealt with players spamming profanity, harassing others, or just ignoring your rules, you know how quickly a chat can spiral out of control. ChatFilter is a lightweight plugin designed to solve exactly that problem, giving you precise control over what appears in your server's chat without bogging down performance.
What Makes ChatFilter Stand Out
Unlike bulky moderation suites, ChatFilter focuses on one task and does it exceptionally well. It scans every chat message and even specific commands, then acts based on a list of trigger words you define. The plugin supports both partial and whole-word matching, so you can block a root word while allowing harmless variations, or stop an exact phrase from ever appearing. This intelligent filtering means fewer false positives and a smoother experience for your regular players.
Flexible Response Options
When a filtered word is detected, you are not stuck with a single reaction. ChatFilter lets you choose between several actions:
- Warning only: The message is canceled, and the player receives a custom notification you write in the language file. This is perfect for a friendly nudge on a family server.
- Censorship mode: Instead of blocking the entire message, the offending word is replaced with configurable text, such as asterisks or a humorous alternative. The rest of the sentence still goes through.
- Automatic kick: For repeat offenders or severe violations, you can enable kicking. The player is removed from the server with a message explaining why.
- Server broadcast: You can also set up a list of words that, when matched, trigger a custom broadcast to all online players. Use this to highlight positive achievements or server events.
Command Screening and Aggressive Matching
Starting with version 2.0.0, ChatFilter can now screen commands of your choice. If you are tired of players slipping profanity into private messages like /msg, simply add that command to the filter list. The plugin will inspect the arguments and block the message just as it would in public chat. Another powerful feature is aggressive matching, which attempts to catch leetspeak substitutions (3 for E, 0 for O, and similar tricks) so clever players cannot bypass your rules with creative spelling.
Setting Up ChatFilter in Minutes
Installation is refreshingly straightforward. Download the plugin file and place it in your server's plugins folder, then restart or reload the server. On first run, ChatFilter generates a lang.yml file containing all the default trigger words, warning messages, and configuration options. You can open that file with any text editor and immediately start customizing. The default settings include a list of common swear words that trigger warnings, but you can add or remove entries to fit your community's tone.
For those who manage multiple servers or prefer a more streamlined setup, the plugin can be effortlessly added through the foxygame.net launcher. This modern launcher lets you browse and install mods directly from its menu, saving you the hassle of manual file transfers and ensuring you always have the latest version. It is a convenient way to keep your server tools organized without digging through folders.
Essential Configuration Options
The config.yml file gives you quick toggles to shape the plugin's behavior. Here are the key settings:
- kick: Set to true to automatically kick players who use filtered words.
- showInConsole: When true, the player's name and the offending message appear in the server console, helping you track incidents.
- censor: Enables censorship mode, replacing bad words instead of blocking the entire message.
- aggressiveMatching: Turns on the advanced leetspeak detection.
All the actual filter words, command blacklist, and notification text live inside lang.yml. This separation makes it easy to update your word list without touching the main configuration, and you can even share language files with other server admins.
Commands and Permissions for Granular Control
ChatFilter keeps its command set minimal. The only in-game command is /ChatFilter reload, which reloads all settings from lang.yml without a full server restart. This is incredibly handy when you tweak your filter on the fly.
Permissions allow you to decide who is affected by the filter and who can manage it. The node chatfilter.reload grants access to the reload command. Players with chatfilter.canswear bypass all filters entirely, useful for trusted staff or donators. If you need to silence a specific troublemaker, chatfilter.blockchat prevents them from sending any chat messages at all. Conversely, chatfilter.canchat ensures a player can always chat, even if other restrictions apply.
Real-World Scenarios and Practical Tips
Imagine a family-friendly server where kids play alongside their parents. You want to keep the atmosphere positive without making everyone feel policed. With ChatFilter, you can set up whole-word matching for a handful of harsh terms, use the warning mode with a gentle message like "Please keep the chat friendly," and leave the kick option off. The plugin does its work silently in the background, and players rarely even notice it is there unless they slip up.
On a competitive PvP server, tempers can flare. Here you might enable aggressive matching and automatic kicks after a single severe offense. The console logging helps you review incidents later, so you can decide whether a ban is warranted. The command screening ensures that even private taunts via /msg are caught, maintaining a respectful environment across all channels.
Why Lightweight Matters
ChatFilter is intentionally slim. It does not add complex databases, web interfaces, or lag-inducing processes. This makes it an excellent choice for servers running on modest hardware or those already loaded with other plugins. Its code is open source, and a single developer maintains it, which means updates are focused and free of unnecessary bloat. Donations help keep the development server running, encouraging continued improvements without paywalls or premium features.
Final Thoughts
Controlling chat toxicity does not have to be a full-time job. ChatFilter gives you a set-and-forget solution that respects your players while enforcing your rules. With its dual matching modes, customizable responses, and command filtering, it covers the most common chat moderation needs without overwhelming you with options. Whether you run a small private realm or a bustling public network, this plugin helps you keep conversations civil and your community thriving. Spend less time policing chat and more time enjoying the game with your players.