
Keep your server safe and friendly! Gatekeeper requires all new players to explicitly accept your server's terms and conditions before they can play. Players who do not accept cannot interact with the server until they do. Admins can also manually block disruptive players at any time. Blocked players cannot move, chat, build, or take damage, and are presented with a detailed GUI explaining their block status. All texts and rules are fully customizable in the configuration settings.
Easy-to-use commands are included for blocking, unblocking, and checking block info. This makes Gatekeeper perfect for whitelisted, 18+, and community-focused servers.
Features:
- Requires new players to accept your rules before interacting with the world
- Block or unblock players via simple admin commands
- Blocked players are fully frozen and can’t take or deal damage, move, build, or chat
- Customizable GUIs and all texts via config.yml
- Stores data persistently
- Supports modern Minecraft versions (api-version: 1.21)
Commands & Permissions:
- /block <player> <reason> — Block a player (gatekeeper.block)
- /unblock <player> — Unblock a player (gatekeeper.unblock)
- /blockinfo <player> — Show block data (gatekeeper.blockinfo)
- Default permissions: OP only (you can change this per your permissions plugin).
Planned Features
- Automatic tracking of player IP addresses.
- Notification/Logging when a player's IP address changes.
- In-game support: Players can message staff through a GUI without leaving the server.
The configuration file:
Code (YAML):
rules-lore
:
-
"§7- Treat all players respectfully."
-
"§7- No unfair advantages or exploiting bugs."
-
"§7- 18+ only."
-
"§7- Play responsibly and take breaks."
-
"§7- By joining you agree to our server rules."
fallback-rule-lore
:
"§cNo rules found! Please add rules-lore in your config.yml."
blocked-gui-title
:
"§cYou are blocked!"
book-title
:
"§eGeneral server rules"
accept-button
:
"§aAccept & forward"
accept-button-lore
:
"§7Click here to accept the rules."
leave-button
:
"§cLeave server"
leave-button-lore
:
"§7Click here to leave the server."
barrier-title
:
"§cBlocked by the server"
barrier-lore-blocked
:
"§7You are blocked!"
barrier-lore-reason
:
"§7Reason: §e{REASON}"
barrier-lore-date
:
"§7Date of Block: §e{DATE}"
message-no-permission
:
"§cNo Permission."
message-block-usage
:
"§c/block <Player> <Reason>"
message-unblock-usage
:
"§c/unblock <Player>"
message-blockinfo-usage
:
"§c/blockinfo <Player>"
message-player-not-found
:
"§cPlayer not found."
message-player-banned
:
"§cYou have been banned from playing on this server."
message-block-success
:
"§aPlayer {PLAYER} has been blocked (Reason: {REASON})."
message-unblock-success
:
"§aUnblocked {PLAYER}."
message-unblock-wasnt-blocked
:
"§aUnblocked {PLAYER} (was not blocked)."
message-unblocked
:
"§aYou have been unlocked and are able to play again."
message-blockinfo-not-blocked
:
"§e{PLAYER} is not blocked."
message-blockinfo-header
:
"§6Blockinfo for §e{PLAYER}§6:"
message-blockinfo-reason
:
"§7 • Reason: §e{REASON}"
message-blockinfo-date
:
"§7 • Date of Block: §e{DATE}"
message-kick-leave
:
"§cYou have left the server."
message-blocked-chat
:
"§cYou have been blocked by the server and can not chat."
message-must-accept
:
"§cYou must first accept the rules in order to participate."