Skip to content

Releases: WeThink25/WeGuardian

🛡️ WeGuardian Changelog

25 Dec 02:34
0ab5df3

Choose a tag to compare

🛡️ 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.yml file 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.yml will be generated automatically
  • Servers upgrading from older versions should review and customize the new file
  • Old message values previously in config.yml are now handled via messages.yml

✅ Recommended

Update to WeGuardian v2.4 to unlock full control over messages, GUIs, and server presentation.

🛡️ WeGuardian v2.3 – Changelog

24 Dec 14:14
662079c

Choose a tag to compare

🛡️ WeGuardian v2.3 – Changelog

🐛 Bug Fixes

  • Fixed /unbanip unbanning the incorrect IP when a banned player’s account was previously used by another person
  • Fixed /unmuteip resolving 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>
  • Added hex color support in MiniMessage format

    • Example: <#FF5555>

📢 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 HIGHEST with ignoreCancelled = 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.screen to include {player} and {staff} placeholders
  • Updated messages.kick.screen to include {staff} placeholder
  • Updated messages.mute.blocked to include {staff} placeholder
  • Updated messages.mute.applied to include {staff} placeholder
  • Added broadcast sections for all punishment and IP punishment types

WeGuardian v2.2

20 Dec 09:29
540e1de

Choose a tag to compare

🔐 WeGuardian v2.2 – Database & Security Fixes

Release Date: December 20, 2025


🐛 Fixes & Improvements

  • Fixed MySQL index creation issues (now fully compatible with MySQL & SQLite).

  • Punishment broadcast messages now correctly use messages.prefix from config.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 v2.1

14 Dec 11:59
1cf6b62

Choose a tag to compare

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

14 Dec 04:06
776d44c

Choose a tag to compare

🛡️ WeGuardian

Minecraft Version Java Version Paper Support Folia Support Plugin Version

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

  1. Download the latest WeGuardian.jar
  2. Place it in your server's plugins folder
  3. Restart your server
  4. 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


📞 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

WeGuardian 1.9

02 Oct 16:03
2a498a4

Choose a tag to compare

📜 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.

WeGuardian v1.8 - Customizable Web Dashboard Header

30 Sep 01:32
8a232fc

Choose a tag to compare

📢 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.

Player Management & Punishment System Update

29 Sep 02:18
e4d0d6e

Choose a tag to compare

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

Critical & High Severity​

26 Sep 03:25
7585350

Choose a tag to compare

Critical & High Severity​

Request/Response Mix-up – prevented user data from being sent to wrong users.
Potential Remote Code Execution (RCE) – fixed vulnerability with partial PUT requests.
DoS in multipart upload – mitigated Denial of Service attacks.
TOCTOU Race Conditions – fixed Time-of-Check to Time-of-Use timing issues.
Resource Shutdown Issues – corrected improper resource management.
Regular Expression Denial of Service (ReDoS) – in TimeUtils.java, unsafe regex patterns fixed.

Moderate & Low Severity​

Security constraint bypasses – ensured constraints cannot be bypassed.
HTTP priority header DoS – mitigated potential Denial of Service via HTTP headers.
CGI and rewrite rule bypasses – fixed vulnerabilities allowing rule circumvention.
Unbounded Input Handling – limited maximum input length in time parsing.
Unsafe Time Parsing – ensured integers are only parsed after regex validation.

WeGuardian v1.5.0 - Web Update

26 Sep 02:30

Choose a tag to compare

Added

Website dashboard for centralized control & statistics.

Fixed

Resolved all errors related to mute and tempmute functions.
Fixed incompatibilities with various chat-hover plugins.
Addressed all known bugs reported so far (crashes, UI quirks, permission errors).

Improved / Enhanced

Strengthened compatibility across server setups (Paper, Folia, etc.).
Polished UI / GUI flows (menus, tooltips, hover effects).
Optimized backend performance (async operations, caching).