Rules Plugin

Rules Plugin

Paper, GUI, Rules, Admin Tools

3 042 downloads
5 followers

RulesPlugin Logo

📜 RulesPlugin - Custom GUI Rules Acceptance

RulesPlugin is a lightweight Minecraft server plugin that shows your server rules in a clean GUI and requires players to accept them before playing.

It is designed for server owners who want a customizable rules menu, acceptance tracking, reloadable configuration, and safer GUI handling without building a custom system from scratch.


🚀 Latest Update

v1.3.2 - Compatibility Update focuses on Minecraft 26.2.x support and safer startup behavior on servers using GeyserMC or Floodgate.

  • Added a dedicated Minecraft 26.2.x build.
  • Added passive GeyserMC and Floodgate detection.
  • Added softdepend support so RulesPlugin loads after Geyser/Floodgate when present.

✨ Features

  • Fully customizable through config.yml.
  • Unlimited rules with automatic GUI pagination.
  • Custom rule titles, descriptions, punishments, and item icons.
  • Custom accept button item and display name.
  • Custom previous/next page buttons.
  • Blocks player actions until the rules are accepted.
  • Tracks accepted players in data.yml.
  • Optional acceptance log in acceptance-log.yml.
  • Recent logs and version-specific logs with pagination.
  • Rule versioning: increase rules-version to force players to re-accept updated rules.
  • In-game reload command with YAML validation.
  • Force-open the rules GUI for one player or everyone online.
  • Permission support for admin commands.
  • Tab completion for RulesPlugin commands.
  • Update checker with official download links.
  • Strong GUI item leak and duplication protection.

🧰 Commands

Command Description Permission
/rules Opens the rules GUI. If already accepted, opens it in view-only mode. rulespl.rules
/rules reload Reloads and validates the configuration. rulespl.reload
/rules logs Shows recent rule acceptances. rulespl.seelogs
/rules logs v<version> [page] Shows acceptances for a specific rules version with pagination. rulespl.seelogs
/rules show <player> Force-opens the first-join rules GUI for one player. rulespl.show
/rules show everyone Force-opens the first-join rules GUI for everyone online. rulespl.show

📁 Configuration Preview

rules-version: 1
gui-title: "Server Rules"

accept-button:
  name: "§aClick here to accept the rules"
  item: EMERALD_BLOCK

previous-page:
  name: "§a< Previous Page"
  item: ARROW

next-page:
  name: "§aNext Page >"
  item: ARROW

accepted-message: "§aYou've accepted the server rules!"
error-message: "§cYou must accept the rules before doing anything!"
rules-updated-message: "§cThe rules have been updated. Please review and accept them again."
update-check-failed-message: "§e[RulesPlugin] Could not reach the update API. Offline servers can ignore this; the plugin will keep working."

rules:
  - title: "§e1. Be respectful"
    description: "§7Treat all players with kindness."
    punishment: "§cPunishment: 1h mute"
    item: PAPER

  - title: "§e2. No hacking"
    description: "§7Mods and hacks are not allowed."
    punishment: "§cPunishment: Permanent ban"
    item: BARRIER

Use Bukkit material names for icons, such as STICKY_PISTON, DIAMOND_SWORD, PAPER, or EMERALD_BLOCK.

Full configuration guide: RulesPlugin Config


📥 Installation

  1. Download the correct .jar for your Minecraft server version from Modrinth.
  2. Place it inside your server's /plugins folder.
  3. Start or restart the server.
  4. Edit config.yml if you want to customize rules, messages, or GUI items.
  5. Run /rules reload after changing the config.

Official download:


🧩 Compatibility

RulesPlugin currently provides separate builds for:

  • Minecraft 1.21.x
  • Minecraft 26.1.x
  • Minecraft 26.2.x

The plugin is built against the Spigot API and avoids unnecessary Paper-only calls where Spigot compatibility is expected.

RulesPlugin also declares passive compatibility with GeyserMC and Floodgate. If Geyser-Spigot or floodgate are installed, RulesPlugin loads after them and logs the detected compatibility state.


🛡️ Security Notes

RulesPlugin GUI items are internally tagged by the plugin. If a client desync, lag spike, creative interaction, drag action, or crafting-slot edge case moves a GUI item outside the menu, RulesPlugin detects the tag and removes the item automatically.

This protection runs during inventory events and through a periodic cleanup task for online players.


📜 License

RulesPlugin is distributed under the RulesPlugin Custom License Agreement (RPCLA).

Redistribution, re-uploading, selling, sublicensing, or distributing modified builds is not allowed unless explicitly authorized by CorruptedWindows.

License page: RulesPlugin License


🔗 Links