Rules Are Mandatory
🟡 Updated this yearPreview

🔍 Analysis
- 🏆 #101 of 137 folia mods in this game by downloads
📋 About This Mod
# RulesAreMandatory (RSAM) A **Paper 1.20+** plugin that forces players to accept server rules before they can move, break blocks, chat, or interact. Features a clickable chat UI for Java Edition and a native form for Bedrock Edition via Geyser API. (Gallery showcase will be added later) <details> <summary>Features</summary> - **Fully customizable:** Edit any features to your liking, set custom messages and titles - **Paginated rules** (configurable items per page) - **Java Edition:** Clickable chat buttons via Adventure API (accept / decline / page navigation) - **Bedrock Edition:** Native GUI form via Geyser API + Cumulus - **Freeze system** — players are immobilized until they accept the rules - `BlockMovement` — teleports player back on movement - `BlockCamera` — locks yaw/pitch, prevents looking around - `Blindness` (optional) — applies blindness effect while frozen - Walk speed & fly speed forced to 0, flying enforced - Compatible with AuthMe / login plugins — periodic enforcement task overrides any external changes - **Full interaction lockdown:** - Chat blocked - Commands blocked (except for login/register and plugin commands, allow-list configurable) - Block breaking/placing blocked - Entity damage blocked - Force Adventure game mode - **Rule versioning** — bump `Version` in `rules.yml` to force all players to re-accept - **Title system** — on-screen title on join / show rules / accept / decline (configurable per section) - **ForceOP** — toggle whether operators must also accept rules - **Re-accept timer** — force players to re-accept after N days - **Admin commands:** - `/rsam reload` — hot-reload configs - `/rsam reset <player>` — reset a player's acceptance - `/rsam approve <player>` — force-accept rules for a player - `/rsam player ` — check player acceptance status - **↹ Tab completion** for all subcommands </details> <details> <summary>Commands</summary> | Command | Description | Permission | |---------|-------------|------------| | `/rsam` | List subcommands | `rsam.user.rules` | | `/rsam rules` | Show rules (paginated) | `rsam.user.rules` | | `/rsam accept` | Accept the rules | `rsam.user.rules` | | `/rsam decline` | Decline the rules | `rsam.user.rules` | | `/rsam reload` | Reload config files | `rsam.admin.reload` | | `/rsam reset <player>` | Reset player's acceptance | `rsam.admin.reset` | | `/rsam approve <player>` | Force-accept for a player | `rsam.admin.approve` | | `/rsam player ` | Check player info | `rsam.admin.info` | All admin commands work from console / RCon. Aliases: `/rule` shows rules directly. (/rules gets intercepted by vanilla rules command) </details> <details> <summary>Config, examples and permissions</summary> ## Config files (in `plugins/RulesAreMandatory/`) | File | Purpose | |------|---------| | `settings.yml` | Main config — menus, freeze, blocks, titles, misc | | `messages.yml` | All chat messages (prefix: ``) | | `rules.yml` | Rule list + version (bump `Version` to force re-accept) | | `players.yml` | Player data (auto-generated) | ### Freeze customization (`settings.yml` → `Freeze:`) ```yaml Freeze: Enabled: true BlockMovement: true # teleport back when moving BlockCamera: true # lock yaw/pitch (can't look around) AllowLook: true # allow camera when BlockCamera is false Blindness: false # apply blindness effect while frozen ``` ## Permissions | Permission | Default | Description | |------------|---------|-------------| | `rsam.user.rules` | `true` | Basic player commands | | `rsam.user.bypass` | `false` | Skip rule acceptance entirely | | `rsam.admin.*` | `op` | All admin permissions | | `rsam.admin.reload` | `op` | Reload config | | `rsam.admin.reset` | `op` | Reset a player | | `rsam.admin.approve` | `op` | Force-accept for a player | | `rsam.admin.info` | `op` | Check player info | Config example: ``` # ───────────────────────────────────────────────────────────── # RulesAreMandatory — Settings # ───────────────────────────────────────────────────────────── # ConfigVersion — increment to auto-reset config on next reload. ConfigVersion: 3 # ── Debug ────────────────────────────────────────────────── # Set true to see freeze state in server console Debug: false Menu: BackBtn: '&3<< &2Back' NextBtn: '&2Next &3>>' AcceptBtn: '&2>> Accept <<' DenyBtn: '&4>> Deny <<' Spacer: ' ' Page: ItemsPerPage: 4 Cooldown: 3 Divider: Top: '&6------------------------------------' Bottom: '&6---------------------------------------------' AcceptTop: '&6---------------------------------------------' AcceptBottom: '&6---------------------------------------------' InfoTop: '&6---------------------------------------------' InfoBottom: '&6---------------------------------------------' Default: '&6---------------------------------------------' Actions: OnAccept: - 'say Player &6%player% &faccepted the server rules!' OnDe
# RulesAreMandatory (RSAM)
A Paper 1. 20+ plugin that forces players to accept server rules before they can move, break blocks, chat, or interact. Features a clickable chat UI for Java Edition and a native form for Bedrock Edition via Geyser API.
(Gallery showcase will be added later)
Features
- Fully customizable: Edit any features to your liking, set custom messages and titles
- Paginated rules (configurable items per page)
- Java Edition: Clickable chat buttons via Adventure API (accept / decline / page navigation)
- Bedrock Edition: Native GUI form via Geyser API + Cumulus
- Freeze system — players are immobilized until they accept the rules
- - `BlockMovement` — teleports player back on movement
- - `BlockCamera` — locks yaw/pitch, prevents looking around
- - `Blindness` (optional) — applies blindness effect while frozen
- - Walk speed & fly speed forced to 0, flying enforced
- - Compatible with AuthMe / login plugins — periodic enforcement task overrides any external changes
- Full interaction lockdown:
- - Chat blocked
- - Commands blocked (except for login/register and plugin commands, allow-list configurable)
- - Block breaking/placing blocked
- - Entity damage blocked
- - Force Adventure game mode
- Rule versioning — bump `Version` in `rules.yml` to force all players to re-accept
- Title system — on-screen title on join / show rules / accept / decline (configurable per section)
- ForceOP — toggle whether operators must also accept rules
- Re-accept timer — force players to re-accept after N days
- Admin commands:
- - `/rsam reload` — hot-reload configs
- - `/rsam reset
` — reset a player's acceptance - - `/rsam approve
` — force-accept rules for a player - - `/rsam player ` — check player acceptance status
- ↹ Tab completion for all subcommands
Commands
| Command | Description | Permission |
|---------|-------------|------------|
| `/rsam` | List subcommands | `rsam.user.rules` |
| `/rsam rules` | Show rules (paginated) | `rsam.user.rules` |
| `/rsam accept` | Accept the rules | `rsam.user.rules` |
| `/rsam decline` | Decline the rules | `rsam.user.rules` |
| `/rsam reload` | Reload config files | `rsam.admin.reload` |
| `/rsam reset
All admin commands work from console / RCon.
Aliases: `/rule` shows rules directly. (/rules gets intercepted by vanilla rules command)
Config, examples and permissions
## Config files (in `plugins/RulesAreMandatory/`)
| File | Purpose | |------|---------| | `settings.yml` | Main config — menus, freeze, blocks, titles, misc | | `messages.yml` | All chat messages (prefix: ``) | | `rules.yml` | Rule list + version (bump `Version` to force re-accept) | | `players.yml` | Player data (auto-generated) |
### Freeze customization (`settings.yml` → `Freeze:`)
```yaml Freeze: Enabled: true BlockMovement: true # teleport back when moving BlockCamera: true # lock yaw/pitch (can't look around) AllowLook: true # allow camera when BlockCamera is false Blindness: false # apply blindness effect while frozen ```
## Permissions
| Permission | Default | Description | |------------|---------|-------------| | `rsam.user.rules` | `true` | Basic player commands | | `rsam.user.bypass` | `false` | Skip rule acceptance entirely | | `rsam.admin.*` | `op` | All admin permissions | | `rsam.admin.reload` | `op` | Reload config | | `rsam.admin.reset` | `op` | Reset a player | | `rsam.admin.approve` | `op` | Force-accept for a player | | `rsam.admin.info` | `op` | Check player info |
Config example: ``` # ───────────────────────────────────────────────────────────── # RulesAreMandatory — Settings # ───────────────────────────────────────────────────────────── # ConfigVersion — increment to auto-reset config on next reload. ConfigVersion: 3
# ── Debug ────────────────────────────────────────────────── # Set true to see freeze state in server console Debug: false
Menu: BackBtn: '&3<< &2Back' NextBtn: '&2Next &3>>' AcceptBtn: '&2>> Accept <<' DenyBtn: '&4>> Deny <<' Spacer: ' '
Page: ItemsPerPage: 4 Cooldown: 3
Divider: Top: '&6------------------[ %page% / %maxpage% ]------------------' Bottom: '&6---------------------------------------------' AcceptTop: '&6---------------------------------------------' AcceptBottom: '&6---------------------------------------------' InfoTop: '&6---------------------------------------------' InfoBottom: '&6---------------------------------------------' Default: '&6---------------------------------------------'
Actions: OnAccept: - 'say Player &6%player% &faccepted the server rules!' OnDe
📊 Mod Details
- Game
- Minecraft Plugins
- Author
- mrfenek
- Version
- 1.0.0
- Downloads
- 45
- Endorsements
- 0
- Category
- folia
- Created
- 7/29/2026
- Updated
- 7/10/2026
- Game Versions
- 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4
- Tags
- management, social, utility
🔧 How to Install Minecraft Plugins Mods
Download from Modrinth. Use Prism Launcher or drop into your mods folder.
📖 Full step-by-step install guide for Minecraft Plugins →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Plugins commands, item IDs, and more.
❓ Frequently Asked Questions
Which Minecraft Plugins versions does Rules Are Mandatory support?
The author lists 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5. Other versions may work but are untested by the author.
What is the latest version of Rules Are Mandatory?
Version 1.0.0, published 2026-07-10 with 45 downloads recorded at the source.
Keep browsing — more Minecraft Plugins mods await