▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/Rules Are Mandatory
Rules Are Mandatory

Rules Are Mandatory

A highly customizable 1.20-26.2 Paper plugin that forces players to accept server rules before playing, using Java clickable chat/Bedrock Geyser API.

Оцените первым
0
0

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 <player> — reset a player's acceptance
    • /rsam approve <player> — force-accept rules for a player
    • /rsam player [player] — check player acceptance status
  • ↹ Tab completion for all subcommands
Commands
CommandDescriptionPermission
/rsamList subcommandsrsam.user.rules
/rsam rulesShow rules (paginated)rsam.user.rules
/rsam acceptAccept the rulesrsam.user.rules
/rsam declineDecline the rulesrsam.user.rules
/rsam reloadReload config filesrsam.admin.reload
/rsam reset <player>Reset player's acceptancersam.admin.reset
/rsam approve <player>Force-accept for a playerrsam.admin.approve
/rsam player [player]Check player inforsam.admin.info

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/)

FilePurpose
settings.ymlMain config — menus, freeze, blocks, titles, misc
messages.ymlAll chat messages (prefix: [RSAM])
rules.ymlRule list + version (bump Version to force re-accept)
players.ymlPlayer data (auto-generated)

Freeze customization (settings.ymlFreeze:)

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

PermissionDefaultDescription
rsam.user.rulestrueBasic player commands
rsam.user.bypassfalseSkip rule acceptance entirely
rsam.admin.*opAll admin permissions
rsam.admin.reloadopReload config
rsam.admin.resetopReset a player
rsam.admin.approveopForce-accept for a player
rsam.admin.infoopCheck 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!'
  OnDecline:
    - 'say Player &3%player% &fdeclined the rules!'
    - |-
      kick %player% Hello %player%,
      please accept our rules before playing on the server!
  AllowedBeforeAccept:
    - rsam
    - rule
    - register
    - login

Greeting:
  Enabled: true
  Delay: 0

Freeze:
  Enabled: true
  MessageCooldown: 3
  AllowLook: true          # false = camera locked, true = player can look around
  BlockCamera: true        # false = can look around, true = yaw/pitch fixed
  BlockMovement: true      # false = can move (still adventure mode), true = teleport back
  Blindness: false         # true = give Blindness while frozen

Misc:
  ForceOP: true
  ForceAdventure: true
  AcceptGameMode: SURVIVAL
  SkipWorlds: []

Block:
  Chat: true
  Commands: true
  Interact: true
  MsgCooldown: 3

Reaccept:
  Enabled: false
  Days: 90

# ─────────────────────────────────────────────────────────────
#  Title / on-screen display
#  Per-section Enabled toggle
# ─────────────────────────────────────────────────────────────
Title:
  OnJoin:
    Enabled: true
    Title: '&6&lRulesAreMandatory'
    Subtitle: '&eRead the rules below'
    FadeIn: 10
    Stay: 70
    FadeOut: 20

  OnShowRules:
    Enabled: true
    Title: '&6&lServer Rules'
    Subtitle: '&ePlease read carefully'
    FadeIn: 10
    Stay: 70
    FadeOut: 20

  OnAccept:
    Enabled: true
    Title: '&a&l✔ Rules Accepted!'
    Subtitle: '&eWelcome to the server!'
    FadeIn: 10
    Stay: 60
    FadeOut: 20

  OnDecline:
    Enabled: true
    Title: '&c&l✘ Rules Declined'
    Subtitle: '&eYou will be kicked'
    FadeIn: 10
    Stay: 60
    FadeOut: 20

Dependencies

  • Paper 1.20+ — required
  • Geyser-Spigot — optional (Bedrock forms)

Plugin inspired by AcceptTheRules

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.2.x26.1.x1.21.x1.20.x

Платформы

Поддерживаемые окружения

Сервер

Ссылки


Создатели

Детали

Лицензия:
Опубликован:2 недели назад
Обновлён:2 недели назад
Главная