A configurable Terms-of-Service / rules acceptance gate for Paper Minecraft servers. New players are shown a paginated rules menu and are "locked" until they accept — they can't move, build, chat, or run commands (beyond an allowlist) until they agree. Bump the TOS version to re-prompt everyone.
- Rules GUI with pagination and configurable accept / next / previous buttons.
- Player lock until accepted: cancels movement, block break/place, interaction, inventory, item drops/pickups, attacks, chat, and any command not on the allowlist (each toggle is configurable).
- Versioned acceptance: acceptance is stored per-player with a version number. Increment
tos.versionin the config to force everyone to re-accept after a rules change. /tos acceptand an in-GUI accept button.- Admin reload and a bypass permission.
- Optional AuthMe integration: if AuthMe is installed, the prompt fires after login; otherwise it fires on join. Works with or without AuthMe.
- Paper 1.21.8+
- Java 21
- AuthMe — optional. If present, TOSGuard waits for login before prompting.
mvn clean packageOutput: target/tosguard-1.0.0.jar → drop into plugins/ and restart.
| Command | Aliases | Permission | Description |
|---|---|---|---|
| `/tos [accept | reload]` | rules, rule, tosaccept |
— |
| Permission | Default | Description |
|---|---|---|
tosguard.admin |
op | Allows /tos reload |
tosguard.bypass |
op | Bypass the TOS lock entirely |
config.yml controls the TOS version, which actions to block while locked, the allowlist of commands, the GUI layout/materials, all messages, and the editable rules list.
MIT © 2026 Scappi