XBans
Advanced Sanctions, Security & AI-Powered Moderation
Built on XCore — The modular Minecraft server framework
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
XBans is not just another ban plugin. It's a complete moderation ecosystem with built-in AI that learns from your staff's decisions, a 10-factor alt detection engine, IP security controls, and a modern GUI system — all without requiring any external API or service.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Ban / IP Ban / IP Range Ban — Temporary or permanent, with optional server targeting
- Mute / IP Mute — Blocks chat + configurable commands (/msg, /r, /tell, /w, /me)
- Warn — With configurable expiration and automatic escalation at thresholds
- Kick — Immediate expulsion with reason display
- Report — Player reports with AI classification and chat evidence extraction
- Offline ban — Ban / mute / warn players who have never connected; the UUID is resolved so the sanction applies the moment they first join
- Punish menu —
/punish <player>opens a one-click sanction GUI (fully configurable) - Report reason GUI —
/report <player>(no reason) opens a configurable reason picker - Jail — Teleport to named jail locations with configurable restrictions (radius, chat, commands, interact, PvP)
- Shadow Ban — Player can join but only sees their own messages
- Templates — Create sanction shortcuts:
/ban player @cheat→ ban 30d "Cheating" - Silent mode —
-sflag on any sanction to hide the broadcast - Server targeting —
-server survivalto limit sanctions to specific servers
XBans includes a self-learning AI classifier that runs entirely on your server — no external API, no costs, no data leaving your network.
- Pre-trained out of the box — Works immediately in English, French, Spanish, Portuguese, German
- Self-learning — Improves from every confirmed/dismissed report and moderator action
- Real-time chat analysis — Classifies messages as toxicity, spam, or scam with escalating actions
- Report classification — Automatically categorizes incoming reports with confidence percentage
- Chat evidence — When a report comes in, the AI analyzes the target's recent messages and shows flagged ones to staff
- Escalating actions — Configure per category: 1st offense = warn, 3rd = mute, 5th = ban (fully customizable)
- Cross-server sync — AI training data synchronized across your network
- VPN / Proxy / Tor blocking — Detect and block non-residential connections
- Datacenter / Hosting blocking — Block server IPs and cloud providers
- Mobile network blocking — Block 4G/5G connections
- ISP blocking — Block specific providers by name or AS number
- CIDR range blocking — Support for
/notationand wildcards192.168.1.* - GeoIP — Country whitelist or blacklist (uses ip-api.com, no API key needed)
- Bypass permissions — Fine-grained control over who can bypass each check
XBans uses a sophisticated scoring system to detect alt accounts:
Risk levels: LOW / MEDIUM / HIGH / CRITICAL
Configurable auto-actions: kick or ban when score exceeds threshold.
- Shared IP address
- Multiple shared IPs
- Same client brand (Vanilla, Fabric, Forge, etc.)
- Same protocol version
- Same country / ISP
- Login time proximity
- Name similarity (Levenshtein distance)
- Fingerprint matching
- Sanction history correlation
- Account age analysis
Risk levels: LOW / MEDIUM / HIGH / CRITICAL
Configurable auto-actions: kick or ban when score exceeds threshold.
- Client brand detection — Identify and log player client types
- Brand blocking — Block hacked clients (Wurst, Meteor, Impact, etc.)
- Whitelist mode — Only allow specific clients (vanilla, fabric, forge)
- Protocol version control — Enforce min/max Minecraft protocol versions
- Warden integration — Client info shown in staff notifications
- Freeze (
/freeze) — Immobilize a player during investigation. Configurable reminder messages and disconnect action. - Watchlist (
/watchlist) — Monitor suspicious players. Staff notified via Warden on join. - Staff Notes (
/note) — Private notes on player records, visible in profile GUI. - Warden (
/warden) — Real-time notification system for staff: sanctions, reports, AI alerts, alt detection, client info. - Whois (
/whois) — Lookup by name or IP with relationship mapping.
- Multi-jail — Create named jail locations at any position (
/jail-create <name>) - Configurable restrictions — Movement radius, chat, commands (with whitelist), interaction, item drop, PvP
- Auto-expiration — Default duration configurable, players auto-released when time is up
- Previous location restore — Players teleported back to their original position on unjail
- Join enforcement — Jailed players are teleported to jail on login
- Server targeting —
-server <name>flag to limit jail to a specific server - Cross-server sync — Jail status propagates across all servers instantly
- GUI —
/jaillistshows all jailed players with unjail and profile buttons - Exempt permission — Configurable bypass for staff
All GUIs are fully YAML-configurable — change materials, slots, sounds, titles, lore, custom model data, item models, permissions, and click actions without touching code.
Report Resolution GUI:
• Left-click — Resolve report (trains AI)
• Shift+Left — Dismiss report
• Right-click — Open player profile
- Ban / Mute / Warn / Report / Jail Lists — Paginated with left-click to remove, right-click for profile
- IP Ban / IP Mute Lists — Same functionality for IP-based sanctions
- Players — Browse all tracked players with sanction status indicators
- Profile — Detailed player view: head, all sanctions, alt accounts, notes, watchlist, 4 history sub-GUIs
- Punish Menu — One-click sanctions on a target; each button runs a configurable command as the staff member
- Report Reason Picker — Players choose a reason from a configurable grid; reuses the full report flow
- Duplicate Accounts — Players sharing IPs with risk indicators
- Player History — Full sanction history (bans, mutes, warns, reports) with pagination
- Notes — View and delete staff notes
Report Resolution GUI:
• Left-click — Resolve report (trains AI)
• Shift+Left — Dismiss report
• Right-click — Open player profile
- Warning thresholds — Automatic actions at configurable warning counts (e.g., 3 warns = mute 1d, 5 warns = ban 7d)
- Reason-based escalation — Regex patterns trigger auto-escalation (e.g., "cheating" → ban 30d)
- Report escalation — Auto-action when report count reaches threshold
- Chat evidence escalation — Auto-action when AI-flagged chat messages exceed threshold
- Discord Webhooks — Notifications for bans, IP bans, mutes, kicks, reports, warns (configurable per type)
- Web Dashboard — REST API with stats, sanctions, audit log (search/filter), unban/unmute endpoints
- Cross-Server Sync — All sanctions and AI training propagate instantly via XCore
- Audit Log — Complete record of every moderation action with moderator attribution
- Import / Export — Backup and restore sanctions as JSON
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Sanctions
Code:
/ban [-s] [-server <name>] <player> [time] [reason]
/unban [-s] [-server <name>] <player>
/ban-ip [-s] [-server <name>] <player> [time] [reason]
/unban-ip [-s] [-server <name>] <player>
/ban-ip-range [-s] [-server <name>] <range> [reason]
/mute [-s] [-server <name>] <player> [time] [reason]
/unmute [-s] [-server <name>] <player>
/mute-ip [-s] [-server <name>] <player> [time] [reason]
/unmute-ip [-s] [-server <name>] <player>
/warn [-s] <player> [reason]
/unwarn [-s] <player> [id]
/kick [-s] [-server <name>] <player> [reason]
/jail [-s] [-server <name>] <player> [jail] [time] [reason]
/unjail [-s] <player>
/report <player> [reason] (no reason → opens the reason GUI)
/unreport <player> [id]
/punish <player> (opens the one-click sanction GUI)
/unban-all /unmute-all
Jail Management
Code:
/jail-create <name> /jail-delete <name>
/jail-locations /jaillist
Moderation
Code:
/freeze <player>
/watchlist <add|remove|list> [player] [reason]
/note <add|list|delete> <player|id> [note]
/warden
Information
Code:
/profil <player> /whois <player|ip>
/banlist /baniplist
/mutelist /muteiplist
/warnlist /reportlist
/players
Admin
Code:
/xbans reload
/xbans stats
/xbans export <bans|mutes|warns|reports|all>
/xbans import <file>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Sanctions
Tools
GUI Access
Bypass
Code:
xbans.ban / xbans.unban — Ban/unban players
xbans.banip / xbans.unbanip — IP ban/unban
xbans.mute / xbans.unmute — Mute/unmute
xbans.muteip / xbans.unmuteip — IP mute/unmute
xbans.warn / xbans.unwarn — Warn/unwarn
xbans.kick — Kick
xbans.report / xbans.unreport — Report/unreport
xbans.unban-all / xbans.unmute-all — Bulk removal
Tools
Code:
xbans.jail / xbans.unjail — Jail/unjail players
xbans.jail.manage — Create/delete jail locations
xbans.freeze — Freeze players
xbans.watchlist — Manage watchlist
xbans.note — Manage staff notes
xbans.warden — Receive warden notifications
GUI Access
Code:
xbans.banlist / xbans.baniplist — View ban GUIs
xbans.mutelist / xbans.muteiplist — View mute GUIs
xbans.warnlist / xbans.reportlist — View warn/report GUIs
xbans.players — Browse players
xbans.profil — View player profile
xbans.whois — Whois lookup
xbans.admin — Admin commands
Bypass
Code:
xbans.exempt.ban / .mute / .kick / .warn / .report / .jail — Exempt from sanctions
xbans.bypass.vpn / .hosting / .mobile — Bypass IP security
xbans.bypass.chatai — Bypass AI chat moderation
xbans.notify.warn / .report — Receive broadcasts
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☐ Paper 1.21.1+ (Folia compatible)
☐ Java 21+
☐ XCore (framework)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Place
XCore.jar in plugins/2. Place
XBans.jar in plugins/XCore/addons/3. Start the server
4. Configure
plugins/XCore/addons/XBans/config.yml5. Customize GUIs in
plugins/XCore/addons/XBans/guis/━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Made with
