
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.
- Загрузки
- 817
- Подписчики
- 9
- Обновлён
- 25 декабря 2025 г.
- Лицензия
- MIT
Опубликован 13 сентября 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
Ченджлог
2.4Релиз1.21.9, 1.21.10, 1.21.11 · 25 декабря 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 textEvery 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.
2.3Релиз1.21.9, 1.21.10, 1.21.11 · 24 декабря 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.ymlSupported 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
2.2Релиз1.21.9, 1.21.10, 1.21.11 · 20 декабря 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
2.1Релиз1.21.9, 1.21.10, 1.21.11 · 14 декабря 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.
2.0Релиз1.21.9, 1.21.10, 1.21.11 · 14 декабря 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
1.9Релиз1.21.7, 1.21.8, 1.21.9 · 2 октября 2025 г.
📜 Changelog
🔧 Fixes & Improvements
- Fixed full tab completion for smoother command usage.
- Reworked parts of the MySQL Database Manager to improve performance and stability.
🆕 New Features
- Added Alt Detection to better track and manage alternate accounts.
❌ Removed
- The /stats command has been removed.
1.8Релиз1.21.6, 1.21.7, 1.21.8 · 30 сентября 2025 г.
Customizable Web Dashboard Header
📢 Changelog
Added new option in config.yml under web-dashboard:
web-dashboard: enabled: false web-header-title: "WeGuardian"
You can now change the web header title from WeGuardian to your own name. This will be applied across all web pages.
1.7Релиз1.21.6, 1.21.7, 1.21.8 · 29 сентября 2025 г.
Improved Web UI with various fixes
Added support for tempipban, unbanip, and ipban commands
Expanded Player Management section in the web panel
Implemented automatic player IP fetching for punishments
Added proper validation checks for temporary vs permanent punishments
Комментарии
Загружаем…