Rune Bans

RuneBans is a comprehensive GUI-based punishment plugin for Paper 1.21 servers, providing staff with an intuitive inventory interface to manage bans, mutes, and kicks through preset reasons or manual commands. With a confirmation GUI.

RuneBans — Full Feature Breakdown

Commands

/rgui, /rmenu, /runebans

All three commands open the exact same main moderation GUI. They exist purely as aliases for convenience.

/ban <player> <reason>

Permanently bans a player.
If executed by a player, a confirmation GUI appears before the punishment is applied.
Console execution bypasses confirmation entirely.

/tempban <player> <time> <reason>

Issues a temporary ban that automatically expires after the specified duration.

Supported formats include:

  • 30m

  • 12h

  • 7d

  • 2w

  • 1mo

/ipban <player|ip> <reason>

Permanently bans an IP address instead of a UUID.

Supports:

  • Player names (automatically grabs their current IP)

  • Raw IP addresses (192.168.1.1)

/tempipban <player|ip> <time> <reason>

Temporary version of an IP ban.

/mute <player> <reason>

Prevents a player from sending chat messages permanently while still allowing gameplay.

/tempmute <player> <time> <reason>

Temporary mute with automatic expiry handling.

/kick <player> <reason>

Immediately disconnects a player with a fully customizable kick screen.

Kicks are:

  • Logged permanently

  • Stored in punishment history

  • Not treated as active punishments

/unban <player>

Removes an active ban.

If executed by a player, a confirmation GUI appears first.

/unmute <player>

Removes an active mute with the same confirmation system as /unban.


Permissions

Permission Description
runebans.admin Full access to every RuneBans feature
runebans.ban Access to bans, tempbans, IP bans, and temp IP bans
runebans.mute Access to mute and tempmute
runebans.kick Access to kicking players
runebans.unban Access to unbanning
runebans.unmute Access to unmuting
runebans.manage Access to the reasons editor and punishment management GUI

Permission Behavior

  • All permissions default to OP only

  • Console bypasses all permission checks automatically

  • Non-admin staff cannot punish admins or operators

  • Staff cannot punish themselves


Main GUI

Opened with /rgui.

The main interface contains 3 sections:

Reasons & Times Editor

Create reusable punishment presets for:

  • Bans

  • Mutes

  • Kicks

Each preset stores:

  • Punishment type

  • Duration

  • Reason text

  • Source information

Punishments List

Browse every currently active:

  • Ban

  • IP ban

  • Mute

With full moderation metadata.

Player Punishment Menu

Displays all online players as clickable heads.

Selecting a player opens their dedicated punishment interface.


Reasons & Times Editor

This system allows staff to create reusable moderation presets instead of repeatedly typing commands manually.

Preset Creation Flow

Ban Presets

  1. Permanent or Temporary

  2. Normal ban or IP ban

  3. Duration selection (if temporary)

  4. Reason input

Mute Presets

  1. Permanent or Temporary

  2. Duration selection

  3. Reason input

Kick Presets

  1. Reason input only


Chat Input System

All setup input happens privately through chat interception.

Features:

  • Messages never appear publicly

  • Each session is isolated per-player

  • cancel safely aborts setup at any time

  • Sessions clean themselves up automatically

Right-clicking a preset deletes it instantly.


Punishments List

Muted Players Menu

Displays every active mute with:

  • Target player

  • Moderator

  • Duration

  • Remaining time

  • Punishment reason

  • Punishment source

  • Whether it was GUI/manual/command block issued

Clicking an entry instantly removes the mute.


Banned Players Menu

Functions similarly to the mute list but additionally displays:

  • IP ban status

  • Ban type

  • Expiry information

Clicking an entry instantly removes the ban.


Player Punishment Menu

A paginated 54-slot interface displaying all online players.

Clicking a player opens:

  • Ban presets

  • Mute presets

  • Kick presets

Selecting a preset applies the punishment instantly.

No confirmation GUI is required because the moderator intentionally selected a predefined punishment.


Confirmation GUI

Manual punishments executed through commands trigger a confirmation screen.

Applies to:

  • /ban

  • /mute

  • /kick

  • /unban

  • /unmute

The GUI displays:

  • Target player

  • Punishment type

  • Duration

  • Reason

  • Action summary

Controls

  • Green side → Confirm

  • Red side → Cancel

Console execution bypasses confirmations entirely.


Notification System

Mute Notifications

Muted players privately receive:

  • Moderator name

  • Reason

  • Duration

No global broadcasts are sent.

Chat Blocking

When muted players attempt to chat:

  • Their message is blocked

  • They receive remaining mute time and reason privately

Automatic Expiry Detection

When temporary punishments expire naturally:

  • The plugin detects it automatically

  • Players are notified immediately

Unmute Notifications

Players are privately informed when staff remove their mute.

Ban & Kick Screens

Disconnected players see:

  • Punishment reason

  • Duration

  • Responsible moderator

Displayed directly on the disconnect screen.


Punishment Source Tracking

Every punishment stores a verified source type.

GUI Reason

Applied through preset menus.

Stores:

  • Preset name

  • Moderator

  • Punishment metadata

Displayed with a green indicator.


Manual Command

Applied directly through typed commands.

Stores:

  • Full typed reason

  • Moderator

  • Timestamp

Displayed with an orange indicator.


Command Block

Automatically detected when punishment commands execute from command blocks.

Additional protections include:

  • Attempts to identify the nearest triggering player

  • Console warning logs

  • Red warning indicators in punishment history

This exists specifically to prevent fake moderation logs created through /execute as.

A major weakness in systems like AdvancedBan is that punishments can appear legitimate even when spoofed through command execution chains. RuneBans explicitly tracks and exposes the true execution source.


Storage System

RuneBans uses an asynchronous SQLite backend.

Database file:
plugins/RuneBans/punishments.db

Tables

punishments

Stores:

  • Every punishment ever issued

  • Moderator

  • Target

  • Source type

  • Expiry timestamps

  • Active status

  • IP information

  • Reasons

  • History metadata

reasons

Stores all saved moderation presets.


Performance

Async Database Writes

All saving happens asynchronously to prevent server lag.

In-Memory Active Cache

Active punishments load into memory during startup for extremely fast lookups.

Automatic Cleanup

Expired temp bans and temp mutes are checked every 10 seconds and removed automatically.


Protection & Anti-Abuse Systems

RuneBans includes several moderation integrity protections:

Self-Protection

  • Staff cannot punish themselves

Admin Protection

  • Non-admin moderators cannot target admins or operators

Command Block Detection

  • Punishments triggered through command blocks are flagged automatically

GUI Spam Protection

  • GUI clicks have a 200ms cooldown to prevent spam abuse

Session Isolation

  • Chat setup sessions are tied individually to each moderator

Source Verification

  • Every punishment records exactly how it was created

The goal is to make punishment logs trustworthy and resistant to spoofing, fake executions, and moderation impersonation.

The Rune Bans Team

profile avatar
  • 5
    Projects
  • 92
    Downloads

More from MafiaDuckaView all

  • Kill Death Rate project image

    Kill Death Rate

    • 14
    • Bukkit Plugins

    Tracks every player kill and death on a Paper [Main version] 1.21.x server with timestamps, health, totem count, and killer info. Players use /check, /kills, /deaths, and /kdr to view paginated GUI histories, and /settings to set their timezone.

    • 14
    • May 18, 2026
    • Bukkit Plugins
    • +1
  • Hiten project image

    Hiten

    • 40
    • Resource Packs

    A spear resource pack, Your spear texture will change when u rename it to Hiten [Only netherite spear][i tried my best lmao]

    • 40
    • May 10, 2026
    • Resource Packs
  • No more illegal items! project image

    No more illegal items!

    • 4
    • Bukkit Plugins

    This plugin lets u check for any illegal enchants on items!

    • 4
    • May 8, 2026
    • Bukkit Plugins
    • +3
  • Immortality plugin project image

    Immortality plugin

    • 32
    • Bukkit Plugins

    Ive made this plugin myself, It can make people immortal, Works good for scripted smps since it lets u take dmg but doesnt let you get under 0.5 hp while letting u still pop totems if u have any in ur offhand or main hand with many more commands to help

    • 32
    • April 25, 2026
    • Bukkit Plugins
    • +3
  • Kill Death Rate project image

    Kill Death Rate

    • 14
    • Bukkit Plugins

    Tracks every player kill and death on a Paper [Main version] 1.21.x server with timestamps, health, totem count, and killer info. Players use /check, /kills, /deaths, and /kdr to view paginated GUI histories, and /settings to set their timezone.

    • 14
    • May 18, 2026
    • Bukkit Plugins
    • +1
  • Hiten project image

    Hiten

    • 40
    • Resource Packs

    A spear resource pack, Your spear texture will change when u rename it to Hiten [Only netherite spear][i tried my best lmao]

    • 40
    • May 10, 2026
    • Resource Packs
  • No more illegal items! project image

    No more illegal items!

    • 4
    • Bukkit Plugins

    This plugin lets u check for any illegal enchants on items!

    • 4
    • May 8, 2026
    • Bukkit Plugins
    • +3
  • Immortality plugin project image

    Immortality plugin

    • 32
    • Bukkit Plugins

    Ive made this plugin myself, It can make people immortal, Works good for scripted smps since it lets u take dmg but doesnt let you get under 0.5 hp while letting u still pop totems if u have any in ur offhand or main hand with many more commands to help

    • 32
    • April 25, 2026
    • Bukkit Plugins
    • +3