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.

670

Quick challenge

How far can you run before the mobs catch you?

WeGuardian

🛡️ WeGuardian

Minecraft Version Java Version Paper Support Folia Support Plugin Version

<b>Professional Punishment Management System for Minecraft Servers</b>
<i>by WeThink</i>

---

✨ Features

🔨 Punishment System

- Kick - Permanently or temporarily ban players - Kick - Ban players by IP address with automatic IP resolution - Kick - Silence players permanently or temporarily - Kick - IP-based muting system - Kick - Instantly remove players from the server

🎮 Interactive GUI

- History Viewer - Beautiful and intuitive punishment selection interface - History Viewer - Easy-to-use duration selection with presets - History Viewer - Browse punishment history with pagination

📊 Database Support

- Caffeine Caching - Zero-configuration local storage (default) - Caffeine Caching - Scale to larger servers with MySQL support - Caffeine Caching - 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

- Lazy GUI Initialization - Full compatibility with Folia servers - Lazy GUI Initialization - 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)

```yaml database: type: "sqlite" sqlite: file: "punishments.db" ```

Database (MySQL)

```yaml database: type: "mysql" mysql: host: "localhost" port: 3306 database: "weguardian" username: "root" password: "password" ```

Discord Webhook

```yaml discord: enabled: true webhook-url: "YOUR_WEBHOOK_URL" batch-interval-seconds: 5 ```

Web Dashboard

```yaml web-dashboard: enabled: true host: "0.0.0.0" port: 8080 admin-api-key: "YOUR_SECURE_KEY" ```

---

🛠️ Requirements

- Java: 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 <b>WeThink</b>

ADS