> For the complete documentation index, see [llms.txt](https://esmp-fun.gitbook.io/plugins/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://esmp-fun.gitbook.io/plugins/wild-spawners/installation.md).

# Installation

## What you need

* A **Paper** or **Folia** server running Minecraft **1.21.1 or newer**.
* Running a **Minecraft 26.x** server? Pick the **26.x** build in the download version picker on your [esmp.fun](https://esmp.fun/plugins) dashboard — the 1.21 jar won't load on 26.x and vice versa (the `api-version` gate is deliberate).
* **Java 21** or newer.
* **BetterTrialChambers v1.4.0+** already installed and working. If you haven't installed it yet, grab it from [Modrinth](https://modrinth.com/plugin/trialchamberpro) — it's free and the install is the same as any plugin.
* **(Optional)** a custom-mob plugin — MythicMobs, EliteMobs, EcoMobs, LevelledMobs, InfernalMobs, or Citizens — only if you want non-vanilla spawner mobs (see [Custom mobs](/plugins/wild-spawners/custom-mobs.md)).

## Step 1 — Drop in the JAR

Copy `tcp-wild-spawners-<version>-obf.jar` (the one you downloaded from esmp.fun or Voxel) into your server's `plugins/` folder. Don't rename the file — its name is what the server uses to find it.

You'll have something like this:

```
plugins/
├── BetterTrialChambers-1.4.x.jar
├── tcp-wild-spawners-<version>-obf.jar     ← new
└── ...
```

## Step 2 — Restart the server

Restart (don't `/reload` — `/reload` is unreliable for plugins that register listeners on enable, and you'll get strange behaviour).

## Step 3 — Verify it loaded

Watch the console as the server boots. You should see something like:

```
[INFO] [Wild Spawners] License key sourced from JAR placeholder (production distribution).
[INFO] [Wild Spawners] Loaded 1 wild-spawner preset(s).
[INFO] ╔══════════════════════════════════════╗
[INFO] ║  Wild Spawners v1.0.0         ║
[INFO] ║  Licensed via ESMP               ║
[INFO] ╚══════════════════════════════════════╝
```

If you see the banner, you're good. The `Loaded 1 wild-spawner preset(s)` line refers to the example preset that ships with the plugin — feel free to delete or rewrite it.

## Step 4 — Confirm the GUI works

Join the server as an op (or anyone with the `tcpws.admin` permission). Run:

```
/tcpws gui
```

A paginated chest GUI should open showing the example preset. Click it to enter its editor. If it works, your install is complete.

## What if it didn't load?

If you don't see the banner, check the console for ERROR or SEVERE lines:

* **"BetterTrialChambers not loaded — cannot activate Wild Spawners."** BetterTrialChambers is missing or failed to load. Check that you have the free TCP plugin installed at v1.4.0 or later.
* **"License verification FAILED."** The JAR's embedded licence isn't valid for your account. Re-download from your purchase page at [esmp.fun/plugins](https://esmp.fun/plugins) (or whichever store you bought it from) under your own account.
* **`ClassNotFoundException` at startup.** Almost always means your Paper version is too old. Update to a recent Paper 1.21.x build.

For anything else, hop into the Discord linked from the product page.

## Where the plugin's files live

After first boot, look for:

```
plugins/Wild Spawners/
├── config.yml                ← global toggles (holograms, mining, tether)
├── wild-presets.yml          ← your preset definitions
├── messages.yml              ← every player-facing string
└── license-cache.dat         ← offline-grace verification cache (don't share or commit!)
```

The first three are yours to edit. `license-cache.dat` is managed by the plugin — never copy it between machines or upload it anywhere.

***

Next: [**Your first spawner →**](/plugins/wild-spawners/your-first-spawner.md)
