Warden – Advanced Moderation & Punishment Manager with build in Web UI icon

Warden – Advanced Moderation & Punishment Manager with build in Web UI -----

Moderation | AdminTools | Punishments | Ban Mute Kick Warn | ServerManagement



Warden – Minecraft Moderation Plugin
Warden is a modern and powerful moderation plugin for Minecraft servers. It provides all the tools needed to keep your community safe and well-managed, including a real-time web interface, detailed logging, and a complete set of punishment commands.

Demo Look WebUI: http://45.144.155.90:15720

Features:

  • Comprehensive Punishment System: Ban, tempban, IP ban, mute, tempmute, warn, and kick players.
  • Web Interface: Modern, real-time dashboard with player head textures and server stats.
  • Detailed Logging: Tracks all staff actions for a complete audit trail.
  • Player History Lookup: View a player’s punishment history using /lookup.
  • Configurable Messages: Customize messages to match your server’s style.
  • Auto-Punishments: Automatically punish players who reach a set number of warnings.
  • Real-Time Updates: See new punishments instantly on the web dashboard.
Code (YAML):
# Warden Configuration
# A comprehensive moderation system with web interface

# Server Configuration
server
:
  # Server name for punishment tracking (this is for the api usage, if you don't use web api you don't need to change it)
  name
: "Server"

# Database Configuration
database
:
  # Database type: sqlite, mysql
  type
: sqlite
  # SQLite file path (only used if type is sqlite)
  sqlite-file
: "database.db"
  # MySQL settings (only used if type is mysql)
  host
: "localhost"
  port
: 3306
  database
: "warden"
  username
: "root"
  password
: ""
  # Connection pool settings
  pool-size
: 10
  connection-timeout
: 30000
  idle-timeout
: 600000
  max-lifetime
: 1800000

# Web Interface Configuration
web
:
  # Enable web interface
  enabled
: true
  # Port for web interface
  port
: 8080
  # Host address (0.0.0.0 for all interfaces)
  host
: "0.0.0.0"

# Punishment Settings
punishments
:
  # Broadcast punishments to all players
  broadcast
:
    bans
: true
    tempbans
: true
    mutes
: true
    tempmutes
: true
    warns
: false
    unbans
: true
    unmutes
: true
  # Default reasons
  default-reasons
:
    ban
: "Banned by staff"
    tempban
: "Temporarily banned by staff"
    mute
: "Muted by staff"
    tempmute
: "Temporarily muted by staff"
    warn
: "Warned by staff"
    banip
: "IP banned by staff"
  # Maximum punishment durations (in seconds, -1 for no limit)
  max-durations
:
    tempban
: -1
    tempmute
: -1
  # Warning system
  warnings
:
    # Enable automatic punishment after X warnings
    auto-punish
:
      enabled
: true
      # Number of warnings before auto-punishment
      threshold
: 3
      # Punishment type: ban, tempban, mute, tempmute
      type
: tempban
      # Duration for tempban/tempmute (in seconds)
      duration
: 86400
      # Reason for auto-punishment
      reason
: "Too many warnings"

# Logging Settings
logging
:
  # Log all punishments to console
  console
: true
  # Log all punishments to file
  file
:
    enabled
: true
    path
: "plugins/Warden/logs/"
  # Log player connections and disconnections
  connections
: true

# Advanced Settings
advanced
:
  # Cache punishment data for better performance
  cache
:
    enabled
: true
    # Cache duration in seconds
    duration
: 300
Code (YAML):
# Warden Messages Configuration
# Use & for color codes, %player% for player names, %reason% for reasons, etc.

# General Messages
general
:
  no-permission
: "&cYou don't have permission to use this command!"
  player-not-found
: "&cPlayer '%player%' not found!"
  invalid-time
: "&cInvalid time format! Use: 1d, 2h, 30m, etc."
  invalid-arguments
: "&cInvalid arguments! Usage: %usage%"
  reload-success
: "&aWarden has been reloaded successfully!"
  plugin-info
: "&6Warden v%version%"
  help
:
   - "&6&m-----------------&r &6Warden Help &6&m-----------------"
    - "&e/warden reload &7- Reloads the plugin configuration."
    - "&e/warden info &7- Shows plugin information."
    - "&e/warden web &7- Displays the web interface URL."
    - "&e/ban <player> [reason] &7- Permanently bans a player."
    - "&e/tempban <player> <duration> [reason] &7- Temporarily bans a player."
    - "&e/unban <player> &7- Unbans a player."
    - "&e/mute <player> [reason] &7- Permanently mutes a player."
    - "&e/tempmute <player> <duration> [reason] &7- Temporarily mutes a player."
    - "&e/unmute <player> &7- Unmutes a player."
    - "&e/warn <player> [reason] &7- Warns a player."
    - "&e/lookup <player> &7- Looks up a player's punishment history."
    - "&e/banip <player|ip> [reason] &7- Bans an IP address."
    - "&e/unbanip <ip> &7- Unbans an IP address."
    - "&6&m---------------------------------------------"

# Ban Messages
ban
:
  success
: "&aSuccessfully banned &c%player% &afor: &f%reason%"
  broadcast
: "&c%player% &7has been banned by &c%staff% &7for: &f%reason%"
  already-banned
: "&c%player% is already banned!"
  cannot-ban-self
: "&cYou cannot ban yourself!"
  cannot-ban-exempt
: "&cYou cannot ban %player% - they are exempt!"
  kicked
: "&cYou have been banned from this server!\n&7Reason: &f%reason%\n&7Banned by: &c%staff%\n&7Appeal at: &bexample.com"

# Tempban Messages
tempban
:
  success
: "&aSuccessfully temp-banned &c%player% &afor &e%duration% &afor: &f%reason%"
  broadcast
: "&c%player% &7has been temp-banned by &c%staff% &7for &e%duration% &7for: &f%reason%"
  already-banned
: "&c%player% is already banned!"
  cannot-ban-self
: "&cYou cannot ban yourself!"
  cannot-ban-exempt
: "&cYou cannot ban %player% - they are exempt!"
  kicked
: "&cYou have been temporarily banned from this server!\n&7Reason: &f%reason%\n&7Duration: &e%duration%\n&7Banned by: &c%staff%\n&7Expires: &e%expires%\n&7Appeal at: &bexample.com"

# Unban Messages
unban
:
  success
: "&aSuccessfully unbanned &c%player%!"
  broadcast
: "&c%player% &7has been unbanned by &a%staff%"
  not-banned
: "&c%player% is not banned!"

# Mute Messages
mute
:
  success
: "&aSuccessfully muted &c%player% &afor: &f%reason%"
  broadcast
: "&c%player% &7has been muted by &c%staff% &7for: &f%reason%"
  already-muted
: "&c%player% is already muted!"
  cannot-mute-self
: "&cYou cannot mute yourself!"
  cannot-mute-exempt
: "&cYou cannot mute %player% - they are exempt!"
  muted-message
: "&cYou are muted! Reason: &f%reason%"

# Tempmute Messages
tempmute
:
  success
: "&aSuccessfully temp-muted &c%player% &afor &e%duration% &afor: &f%reason%"
  broadcast
: "&c%player% &7has been temp-muted by &c%staff% &7for &e%duration% &7for: &f%reason%"
  already-muted
: "&c%player% is already muted!"
  cannot-mute-self
: "&cYou cannot mute yourself!"
  cannot-mute-exempt
: "&cYou cannot mute %player% - they are exempt!"
  muted-message
: "&cYou are temporarily muted! Reason: &f%reason% &7(Expires: &e%expires%&7)"

# Unmute Messages
unmute
:
  success
: "&aSuccessfully unmuted &c%player%!"
  broadcast
: "&c%player% &7has been unmuted by &a%staff%"
  not-muted
: "&c%player% is not muted!"

# Warn Messages
warn
:
  success
: "&aSuccessfully warned &c%player% &afor: &f%reason%"
  broadcast
: "&c%player% &7has been warned by &c%staff% &7for: &f%reason%"
  received
: "&6You have been warned by &c%staff% &6for: &f%reason%"
  auto-punish
: "&c%player% &7has been automatically punished for reaching &c%warnings% &7warnings!"

# Ban IP Messages
banip
:
  success
: "&aSuccessfully IP banned &c%target% &afor: &f%reason%"
  broadcast
: "&c%target% &7has been IP banned by &c%staff% &7for: &f%reason%"
  already-banned
: "&cIP %target% is already banned!"
  invalid-ip
: "&cInvalid IP address format!"
  kicked
: "&cYour IP has been banned from this server!\n&7Reason: &f%reason%\n&7Banned by: &c%staff%\n&7Appeal at: &bexample.com"

# Unban IP Messages
unbanip
:
  success
: "&aSuccessfully unbanned IP &c%target%!"
  not-banned
: "&cIP %target% is not banned!"

# Lookup Messages
lookup
:
  header
: "&6&m----------&r &6%player%'s History &6&m----------"
  footer
: "&6&m--------------------------------"
  no-history
: "&7No punishment history found for &c%player%"
  ban-entry
: "&c[BAN] &7%date% &7by &c%staff% &7for: &f%reason%"
  tempban-entry
: "&e[TEMPBAN] &7%date% &7by &c%staff% &7for: &f%reason% &7(Duration: &e%duration%&7)"
  mute-entry
: "&6[MUTE] &7%date% &7by &c%staff% &7for: &f%reason%"
  tempmute-entry
: "&6[TEMPMUTE] &7%date% &7by &c%staff% &7for: &f%reason% &7(Duration: &e%duration%&7)"
  warn-entry
: "&e[WARN] &7%date% &7by &c%staff% &7for: &f%reason%"
  banip-entry
: "&4[BANIP] &7%date% &7by &c%staff% &7for: &f%reason%"
  unban-entry
: "&a[UNBAN] &7%date% &7by &a%staff%"
  unmute-entry
: "&a[UNMUTE] &7%date% &7by &a%staff%"
  active-ban
: "&cCurrently banned: &f%reason% &7(by &c%staff%&7)"
  active-mute
: "&6Currently muted: &f%reason% &7(by &c%staff%&7)"
  total-warnings
: "&eTotal warnings: &c%count%"

# Web Interface Messages
web
:
  disabled
: "&cWeb interface is disabled in config!"
  url-info
: "&6Web interface URL: &bhttp://%host%:%port%"
Screenshot_51.png


Commands & Permissions:
  • /ban [reason] – Permanently ban a player – warden.ban
  • /tempban [reason] – Temporarily ban a player – warden.tempban
  • /unban – Unban a player – warden.unban/kick <player> <reason>
  • /kick the player from the server - warden.kick
  • /mute [reason] – Permanently mute a player – warden.mute
  • /tempmute [reason] – Temporarily mute a player – warden.tempmute
  • /unmute – Unmute a player – warden.unmute
  • /warn [reason] – Warn a player – warden.warn
  • /banip <ip/player> [reason] – Ban an IP address – warden.banip
  • /unbanip – Unban an IP address – warden.unbanip
  • /lookup – View player punishment history – warden.lookup
  • /warden reload – Reload plugin configuration – warden.admin
  • /warden info – Plugin info – warden.admin
  • /warden web – Get web interface URL – warden.admin
  • /warden help – List all plugin commands – warden.admin

Other Permissions:
  • warden.* – Access all Warden commands – op
  • warden.admin – Access administrative commands – op
  • warden.bypass – Bypass all punishments – false
  • warden.notify – Receive punishment notifications – op

Web Interface:
The web interface is available at http://<your server ip>:8080 and can be configured in config.yml. It provides real-time monitoring of punishments, server stats, and a filterable list of recent actions.


Web APIs:
/api/punishments – GET – List of punishments. Optional parameters: playerName, type (ban, mute, warn, all), page, limit
/api/stats – GET – Server punishment statistics

Example Usage:

- Get all punishments: ` http://<your-server-ip>:8080/api/punishments`
- Get bans for a specific player: ` http://<your-server-ip>:8080/api/punishments?playerName=Notch&type=ban`
- Get server statistics: ` http://<your-server-ip>:8080/api/stats`​


Installation:
  1. Download the latest Warden plugin.
  2. Place Warden.jar in your server’s plugins directory.
  3. Restart your server.
  4. Configure the plugin via /plugins/Warden/config.yml and messages.yml.
  5. Use /warden reload to apply any changes.
DO NOT use reviews section as bug reports — they will be ignored. If you encounter an issue with the plugin, contact me directly via DM.

If you’d like to test the plugin before purchasing, please contact me via DM and I’ll set up a server with the plugin for you to try.​
Resource Information
Author:
----------
Total Downloads: 2
First Release: Sep 25, 2025
Last Update: Oct 7, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings