
WeGuardian
WeGuardian is a modern punishment plugin for single servers and server networks, offering reliable ban, mute, and kick management with a clear and customizable punishment system.
WeGuardian 2.4
release25 декабря 2025 г.🛡️ WeGuardian Changelog
Version 2.4 – Full Messages & GUI Configuration Update
Release Type: Major Configuration & Customization Update Focus: Flexibility, Localization, and Server Branding
✨ New Features
📁 Fully Configurable messages.yml
-
Added a dedicated
messages.ymlfile to centralize all player-facing text -
Every message is now configurable, including:
- Chat messages
- Error messages
- Success messages
- Notifications
- Titles & subtitles
- Action bar messages
🧩 GUI Customization (100% Configurable)
-
All GUI elements are now configurable from
messages.yml, including:- GUI titles
- Item display names
- Item lores
- Buttons & descriptions
-
Affected GUIs:
- Punishment GUI
- Duration GUI
- History GUI
🛠️ New Messages Management System
-
Introduced a MessagesManager system to:
- Load and cache messages efficiently
- Support placeholders across all messages
- Ensure consistent formatting everywhere
-
Uses MiniMessage-compatible formatting for modern text styling
🔄 Improvements
-
Removed hardcoded strings from:
- GUI classes
- Input handlers (Reason input, Custom duration input)
- Command feedback messages
-
Improved maintainability and readability of the codebase
-
Easier localization for non-English servers
-
Server owners can now fully brand WeGuardian without touching source code
🧹 Developer & Admin Benefits
- No recompiling required for message changes
- Clean separation between logic and presentation
- Future updates will automatically support new messages via
messages.yml
⚠️ Notes for Updating
- On first startup,
messages.ymlwill be generated automatically - Servers upgrading from older versions should review and customize the new file
- Old message values previously in
config.ymlare now handled viamessages.yml
✅ Recommended
Update to WeGuardian v2.4 to unlock full control over messages, GUIs, and server presentation.
WeGuardian 2.3
release24 декабря 2025 г.🛡️ WeGuardian v2.3 – Changelog
🐛 Bug Fixes
- Fixed
/unbanipunbanning the incorrect IP when a banned player’s account was previously used by another person - Fixed
/unmuteipresolving and removing the wrong IP address - Fixed
{player}and{staff}placeholders not working in ban, kick, and mute screens - Fixed MiniMessage formatting not being parsed correctly when combined with legacy (
&) and color codes
✨ New Features
-
Added
{player}placeholder support to all punishment screen messages (ban, kick, mute) -
Added
{staff}placeholder support to all punishment screen messages (ban, kick, mute) -
Added full MiniMessage support alongside legacy color codes
- Supports tags like
<red>,<bold>,<gradient:red:blue>
- Supports tags like
-
Added hex color support in MiniMessage format
- Example:
<#FF5555>
- Example:
📢 Broadcast System
-
Added broadcast messages for all punishment types, fully configurable via
config.yml -
Supported broadcasts:
- Ban / Unban
- Mute / Unmute
- Kick
- IP Ban / IP Unban
- IP Mute / IP Unmute
-
All broadcast messages support placeholders:
{player},{staff},{reason},{duration},{expires},{ip}
⚡ Improvements
- Chat mute listener priority changed to
HIGHESTwithignoreCancelled = false→ Ensures mutes are enforced over all other plugins - Plugin now loads on STARTUP for earlier and safer initialization
- IP punishments now store and resolve the original punished IP from the punishment record instead of the player’s current IP
📁 Config Updates
- Updated
messages.ban.screento include{player}and{staff}placeholders - Updated
messages.kick.screento include{staff}placeholder - Updated
messages.mute.blockedto include{staff}placeholder - Updated
messages.mute.appliedto include{staff}placeholder - Added broadcast sections for all punishment and IP punishment types
WeGuardian 2.2
release20 декабря 2025 г.🔐 WeGuardian v2.2 – Database & Security Fixes
🐛 Fixes & Improvements
-
Fixed MySQL index creation issues (now fully compatible with MySQL & SQLite).
-
Punishment broadcast messages now correctly use
messages.prefixfromconfig.yml. -
Resolved a critical IP-ban bypass issue allowing alt accounts to join.
- Improved IP normalization (IPv4 & IPv6-mapped IPv4)
- Fixed IP ban cache logic so new bans apply instantly
ℹ️ Notes
- No database migration required
- No config or permission changes
- Safe drop-in update
WeGuardian 2.1
release14 декабря 2025 г.Each punishment type now requires its specific permission (weguardian.ban, weguardian.tempban, weguardian.mute, weguardian.tempmute, weguardian.kick) to be used through the GUI, matching the behavior of the command-based system.
WeGuardian 2.0
release14 декабря 2025 г.🛡️ WeGuardian
Professional Punishment Management System for Minecraft Servers
by WeThink
✨ Features
🔨 Punishment System
- Ban & TempBan - Permanently or temporarily ban players
- IP Ban & TempIP Ban - Ban players by IP address with automatic IP resolution
- Mute & TempMute - Silence players permanently or temporarily
- IP Mute & TempIP Mute - IP-based muting system
- Kick - Instantly remove players from the server
🎮 Interactive GUI
- Punishment GUI - Beautiful and intuitive punishment selection interface
- Duration Selector - Easy-to-use duration selection with presets
- History Viewer - Browse punishment history with pagination
📊 Database Support
- SQLite - Zero-configuration local storage (default)
- MySQL - Scale to larger servers with MySQL support
- HikariCP - High-performance connection pooling
- Caffeine Caching - Lightning-fast data retrieval
🌐 Web Dashboard
- Built-in web panel for remote management
- REST API for custom integrations
- Configurable branding and appearance
🔗 Discord Integration
- Webhook logging for all punishments
- Batched messages to avoid rate limits
- Beautiful embed formatting
⚡ Performance
- Folia Support - Full compatibility with Folia servers
- Async Operations - Non-blocking database operations
- Lazy GUI Initialization - Optimized GUI performance
📥 Installation
- Download the latest
WeGuardian.jar - Place it in your server's
pluginsfolder - Restart your server
- Configure
plugins/WeGuardian/config.yml
📝 Commands
| Command | Description | Permission |
|---|---|---|
/ban <player> [reason] | Permanently ban a player | weguardian.ban |
/tempban <player> <duration> [reason] | Temporarily ban a player | weguardian.tempban |
/unban <player> | Unban a player | weguardian.unban |
/banip <player> [reason] | IP ban a player | weguardian.banip |
/tempbanip <player> <duration> [reason] | Temp IP ban a player | weguardian.tempbanip |
/unbanip <player> | Unban a player's IP | weguardian.unbanip |
/mute <player> [reason] | Permanently mute a player | weguardian.mute |
/tempmute <player> <duration> [reason] | Temporarily mute a player | weguardian.tempmute |
/unmute <player> | Unmute a player | weguardian.unmute |
/muteip <player> [reason] | IP mute a player | weguardian.muteip |
/tempmuteip <player> <duration> [reason] | Temp IP mute a player | weguardian.tempmuteip |
/unmuteip <player> | Unmute a player's IP | weguardian.unmuteip |
/kick <player> [reason] | Kick a player | weguardian.kick |
/punish <player> | Open punishment GUI | weguardian.punish |
/history <player> | View punishment history | weguardian.history |
/weguardian reload | Reload configuration | weguardian.admin |
🔑 Permissions
| Permission | Description | Default |
|---|---|---|
weguardian.staff | All staff permissions | OP |
weguardian.admin | Admin commands (reload) | OP |
weguardian.bypass | Bypass all punishments | false |
⏱️ Duration Format
Durations support the following formats:
| Unit | Example | Description |
|---|---|---|
s | 30s | Seconds |
m | 30m | Minutes |
h | 6h | Hours |
d | 7d | Days |
w | 2w | Weeks |
M | 1M | Months |
y | 1y | Years |
Examples: 1h, 6h, 1d, 7d, 30d, 90d
⚙️ Configuration
Database (SQLite - Default)
database:
type: "sqlite"
sqlite:
file: "punishments.db"
Database (MySQL)
database:
type: "mysql"
mysql:
host: "localhost"
port: 3306
database: "weguardian"
username: "root"
password: "password"
Discord Webhook
discord:
enabled: true
webhook-url: "YOUR_WEBHOOK_URL"
batch-interval-seconds: 5
Web Dashboard
web-dashboard:
enabled: true
host: "0.0.0.0"
port: 8080
admin-api-key: "YOUR_SECURE_KEY"
🛠️ Requirements
- Minecraft Server: Paper 1.21+ or Folia
- Java: 21 or higher
📚 Dependencies
- Paper API - Server API
- FoliaLib - Folia compatibility
- Caffeine - Caching
- HikariCP - Connection pooling
- ACF - Command framework
- FastInv - GUI framework
- bStats - Plugin metrics
- Javalin - Web framework
📞 Support
For support and questions, join our Discord or open an issue on GitHub.
📄 License
This project is licensed under the MIT License. See LICENSE.md for details.
Made with ❤️ by WeThink