
A lightweight, behavior-based anti-exploit and spam protection plugin for Paper & Purpur.
KeskinShield limits abusive player actions, validates potentially dangerous content, detects repeated violations, and provides administrators with live alerts and asynchronous logs—all while keeping your server performance smooth and lag-free.
🛡️ Core Protection
- Login Limits: Per-IP and global login flood protection.
- Behavioral Rate Limits: Rate limiting for movement, commands, chat, inventory interactions, animations, item drops, and hand swaps.
- Spam & Duplicate Detection: Detects repeated commands and identical chat messages.
- Content Validation: Checks oversized/malformed books, signs, display names, lores, and enchantments.
- Smart Violation System: Configurable scoring with automatic decay over time to minimize false positives.
- Live Staff Alerts: Real-time in-game alerts with a configurable cooldown.
- Async Logging: Offloads violation logging to reduce main-thread disk load.
- Security Audit: Performs startup security checks for Paper and proxy-related risks.
🌐 17 Built-In Languages
KeskinShield can automatically adapt to each player's Minecraft client language or run in a fixed server-wide mode. All language files are generated in plugins/KeskinShield/lang/ and are fully editable.
Supported Locales:
en_US, tr_TR, es_ES, de_DE, fr_FR, pt_PT, nl_NL, bg_BG, hi_IN, zh_CN, zh_TW, ru_RU, it_IT, ja_JP, ko_KR, pl_PL, uk_UA
<details>
<summary>
Click to view Language Configuration (config.yml)</summary>
language:
# client: use each player's Minecraft client language
# fixed: use default-locale for everyone
mode: client
default-locale: tr_TR
fallback-locale: en_US
</details>
🧠 How Detection Works
KeskinShield avoids immediate bans or kicks for single high-frequency events. Instead:
- A configurable action limit is applied first.
- The abusive action is cancelled, and violation points are assigned.
- Points decay naturally over time.
- The player is only kicked or penalized after reaching the configured score threshold.
💻 Commands & Permissions
Commands
/keskinshield status — View protection status, language mode, and state info.
/keskinshield reload — Reload configuration and language files.
/keskinshield violations <player> — View a player's violation score.
/keskinshield reset <player> — Reset a player's violation score.
Aliases: /ks, /kshield
Permissions
keskinshield.admin — Grants access to administrative commands.
keskinshield.alerts — Receive live exploit alerts.
keskinshield.bypass — Bypass behavioral rate limits.
📦 Installation
- Stop your server completely.
- Remove older
KeskinShield JAR files from the plugins folder.
- Place
KeskinShield-1.1.0.jar into the plugins folder.
- Start the server.
- Review
plugins/KeskinShield/config.yml and edit language files if needed.
Note: Do not use /reload commands or plugin hot-reload managers.
⚠️ Security Notice
KeskinShield operates within the Minecraft server layer. It cannot replace network-level DDoS protection, firewall configurations, secure Velocity forwarding, or closed backend ports. For maximum security, combine this plugin with Paper's packet limiter and proper network infrastructure.
Compatibility: Minecraft 26.2 • Paper / Purpur
<sub>Developed with ❤️ by keskinreal</sub>