Compatibility
Minecraft: Java Edition
Platforms
Creators
Details
ServerShield — Automatic moderation plugin for Minecraft 1.21+
Short description
ServerShield is a focused, low-latency moderation plugin that prevents slurs and severe profanity from appearing in chat — blocking them before they are sent. Plug-and-play behavior with sensible defaults, fine-tunable thresholds, and built-in admin stats.
Tagline
Automated slur removal & safe chat enforcement for Paper/Spigot (Minecraft 1.21+)
Long description
ServerShield blocks slurs and severe profanity in real-time by sending chat content to a trusted moderation API. When offensive content is detected, the message is prevented from broadcasting and the sender's chat is cleared so the content never appears to other players — or themselves.
ServerShield focuses on doing one job well: stop slurs and minimize harmful content in your server chat without manual keyword lists or local slur storage. It integrates with Paper and Spigot (Minecraft 1.21+) and is designed for minimal admin setup.
Key features
- Instant slur removal — messages flagged as slurs are cancelled before they reach players.
- Configurable threshold — adjust how aggressive the moderation should be using the
thresholdsetting. - Two action modes:
delete(default) andhashtag—deletesimply blocks,hashtagreplaces content with########when you prefer a visible placeholder. - Works on Paper 1.21 & Spigot — detects and handles
AsyncChatEventorAsyncPlayerChatEventas needed. - Stats:
/servershield stats— admins can view how many messages were blocked and a player breakdown. - No local slur list — the plugin relies on an external profanity API for detection.
- Optional obfuscated release build via
yguardprofile (for plugin authors who distribute a protected jar).
Quick install
- Place
ServerShield.jarinto your serverplugins/folder. - Restart or reload the server.
- Edit
plugins/ServerShield/config.ymlto tune settings (see config recipe below).
Note: Standalone, no external configuration required unless you want to tweak detection sensitivity or stats.
Configuration (config.yml quick reference)
- action:
delete#deleteorhashtag - threshold:
0.9# higher is stricter; values between 0.0 and 1.0 - broadcast_for_all:
true# broadcast hashtag replacements to everybody if set - clear_chat_lines:
100# number of blank lines to remove the sender's message from view - debug:
false# turn on for tuning and troubleshooting - persist_stats:
true# whether to save stats toplugins/ServerShield/stats.yml
Tuning: enable debug: true to see API responses and scores in server console. That helps you find the ideal threshold for your community.
Commands & Permissions
/servershield stats— Show total blocked messages and top blocked players.- Permission:
servershield.stats(default:op) — view in-game stats.
- Permission:
- Permission:
servershield.adminfor admin-only access to plugin commands (default:op).
Privacy & Data
- ServerShield sends chat messages to the Profanity API (https://vector.profanity.dev) for moderation decisions. If you do not want to send chat to an external service, do not run the plugin.
- The plugin does NOT store raw messages in
stats.yml— it only stores counts and aggregated per-player blocked totals whenpersist_statsis enabled. - You can disable persistence by setting
persist_stats: falseinconfig.yml.
Roadmap (planned)
- Advanced ban system & rules (all-in-one moderation console)
- Essentials-like feature set (optional replacement for standard tools)
Changelog (short)
- 0.01 BETA — Initial public beta with slur detection and basic stats.
FAQ
Q: What happens when the API is down?
A: ServerShield handles API failures gracefully: if the API cannot be reached, messages will be treated as safe (no local blocking), so uptime of the external API may impact blocking. Turn on debug to monitor API errors.
Q: Does ServerShield use any local slur database? A: No — per my choice, the plugin uses the external profanity service only. This avoids maintaining a local list.
Q: Is the plugin compatible with Paper 1.21?
A: Yes — ServerShield handles AsyncChatEvent on Paper and falls back to AsyncPlayerChatEvent for Spigot.
Support & contact
- We are working on this.
License
- See Modrinth for license details.



