Security plugin for Paper 1.21.11 that makes world-seed leaks much harder by replacing hashed seed data and blocking common leak paths.
SeedGuard is a security plugin for Paper 1.21.11 that helps protect SMP servers from common methods used to obtain the world seed.
The plugin is designed for server owners who want to significantly increase the difficulty of seed extraction by players using seed-cracker mods, exploits, packet-based methods, and technical abuse of structure/NBT mechanics.
SeedGuard does not promise absolute mathematical impossibility of recovering the seed in every theoretical scenario.
Instead, it blocks and complicates the most common and practical seed leak paths on multiplayer servers.
The plugin intercepts important outgoing packets and replaces the real hashed seed with a fake value.
Protection is applied in key scenarios:
This makes it harder for client-side mods and tools to read the real seed directly from network data.
The plugin blocks:
/seed/minecraft:seed/bukkit:seed/spigot:seed/paper:seedBlocked commands are removed from:
The plugin can block:
placing structure blocksbreaking structure blocksinteracting with structure blocksplacing jigsaw blocksbreaking jigsaw blocksusing jigsaw-related functionalitySeedGuard blocks technical packets related to:
block/entity NBT queriesstructure update/generatejigsaw updatedebug subscription-like requestsThe following modes are supported:
per_player_stable — a stable fake seed for each playerrandom_each_join — a new fake seed on every joinfixed — the same configured fake seed for everyoneFor most SMP servers, it is recommended to use:
fake-seed:
mode: "per_player_stable"
The plugin allows you to individually enable or disable:
seedguard.bypass
Players with this permission bypass the plugin’s restrictions.
SeedGuard is a hardening plugin, not a “magic button”.
It is designed to make real-world seed leak methods much less convenient and to block the most common practical seed leak paths on SMP servers.
.jar file into the plugins folderconfig.yml if neededsalt with your own long random stringSeedGuard is a good choice if you want to: