# Installation

## Installation

### What you need

* A **Paper** server running Minecraft **1.21.1 or newer** (Folia is not yet supported).
* **Java 21** or newer.
* **TrialChamberPro 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.

### Step 1 — Drop in the JAR

Copy `tcp-wild-spawners-1.0.0-obf.jar` (the one you downloaded from Voxel or esmp.fun) 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/
├── TrialChamberPro-1.4.x.jar
├── tcp-wild-spawners-1.0.0-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] [TCP-WildSpawners] License key sourced from JAR placeholder (production distribution).
[INFO] [TCP-WildSpawners] Loaded 1 wild-spawner preset(s).
[INFO] ╔══════════════════════════════════════╗
[INFO] ║  TCP-WildSpawners v1.0.0         ║
[INFO] ║  Licensed via Voxel              ║
[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:

* **"TrialChamberPro not loaded — cannot activate TCP-WildSpawners."** TrialChamberPro 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 license key isn't valid for your account. Re-download from [voxel.shop/product/9719](https://voxel.shop/product/9719) 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/TCP-WildSpawners/
├── config.yml                ← global toggles (holograms, mining, tether)
├── wild-presets.yml          ← your preset definitions
├── messages.yml              ← every player-facing string
├── polymart.properties       ← embedded license key (don't share!)
└── license-cache.dat         ← 3-day offline grace cache (don't share or commit!)
```

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

***

Next: **Your first spawner →**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://darkstarworks.gitbook.io/plugins/mc/tcp-documentation/tcp-wildspawners/installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
