SeedShield

Cryptographic structure seed protection for Paper/Spigot servers - prevents seed cracking tools from locating structures

120

SeedShield

SeedShield

Cryptographic structure seed protection for Paper/Spigot servers.

SeedShield prevents seed cracking tools (chunkbase, SeedCrackerX, Structurecracker) from determining structure locations by replacing each structure type's placement salt with an irreversible SHA-256 derived value.

This is the first Paper/Spigot plugin to provide cryptographic structure seed protection. Previously, this level of protection was only available through Fabric mods or custom server forks.

How It Works

Minecraft determines structure positions using this formula:

``` position = f(worldSeed, regionCoords, salt) ```

The `salt` is a hardcoded integer per structure type. Tools like chunkbase know these default salts, so knowing the world seed = knowing all structure locations.

SeedShield replaces each salt with:

``` salt = SHA-256(secretKey + ":" + worldSeed + ":" + structureType)[0..4] ```

- Stronghold protection: Each structure type gets a unique cryptographic salt. Cracking one type's salt reveals nothing about others. - Stronghold protection: Without the 256-bit key (stored in `config.yml`), salts cannot be reversed. - Stronghold protection: Also modifies `concentricRingsSeed` and recalculates ring positions.

Installation

1. Download `SeedShield-1.0.0.jar` 2. Place it in your server's `plugins/` folder 3. Delete the region files of worlds you want to protect (structures must regenerate) 4. Restart the server 5. Edit `plugins/SeedShield/config.yml` to configure which worlds to protect

> Important: SeedShield only affects newly generated chunks. Existing structures in already-generated chunks will not change positions.

Configuration

```yaml

Auto-generated 256-bit secret key. DO NOT SHARE.

secret-key: "a1b2c3d4..."

Worlds to protect

enabled-worlds: - world - survival ```

ADS