ServerShield
ServerShield is an all in one automated moderation plugin for minecraft servers!
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
ServerShield
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 `threshold` setting. - Two action modes: `delete` (default) and `hashtag` — `delete` simply blocks, `hashtag` replaces content with `########` when you prefer a visible placeholder. - Works on Paper 1.21 & Spigot — detects and handles `AsyncChatEvent` or `AsyncPlayerChatEvent` as 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 `yguard` profile (for plugin authors who distribute a protected jar).
---
Quick install
1. Place `ServerShield.jar` into your server `plugins/` folder. 2. Restart or reload the server. 3. Edit `plugins/ServerShield/config.yml` to 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` # `delete` or `hashtag` - 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 to `plugins/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: `servershield.admin` for 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 when `persist_stats` is enabled. - You can disable persistence by setting `persist_stats: false` in `config.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.
---