> For the complete documentation index, see [llms.txt](https://realisticnode.gitbook.io/rnsetups/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://realisticnode.gitbook.io/rnsetups/rnkoth/getting-started/updating.md).

# Updating

Replace the jar and keep your KOTHs, texts and stats.

Replace the old jar with the new one and restart the server. Your files are kept.

## What happens to your files

* **New options are added** to `config.yml` and to the language files, with their explanations, in the right place. Your values, comments and order are not changed.
* **A copy of the old file** is saved in `plugins/rnKoth/backups/` before anything is changed.
* **Options renamed** in a future version are moved for you. `config-version` tells the plugin which version your file is, so do not change it.
* **KOTH files** (`koths/<name>.yml`) are never changed by an update. An option that is missing from a KOTH file simply uses its built-in value.

The console tells what was done, for example:

```
[rnKoth] Added 2 new option(s) to config.yml: display.progress-style, display.progress-bar. Backup of your old file: backups/config-2026-10-14_14-29-30.yml
```

## Things that are never replaced

* Your KOTH files in `koths/`.
* The texts you changed in `languages/`.
* The database (`data.db` or your MySQL tables).
* The events that are running (`data/running.yml`): they continue after the restart when `events.resume-after-restart` is `true`.
* The next area of KOTHs with several areas (also in `data/running.yml`).

## Backups

* The plugin keeps the **10 newest copies** of each file in `backups/` and deletes older ones.
* Changes made with `/koth editor` are backed up too, at most once every 10 minutes per file.
* A deleted KOTH is moved to `backups/<name>-old-<date>.yml`. To bring it back, move that file to `koths/<name>.yml`.

{% hint style="info" %}
If a file has a mistake (for example a missing quote), the plugin does not change it. It tells you the line in the console and uses the default values for that file until you fix it. A KOTH file that breaks while the server runs keeps its last good version instead (see [KOTH files](/rnsetups/rnkoth/configuration/koth-file.md#if-an-option-is-missing)).
{% endhint %}

## Update notifications

rnKoth checks SpigotMC for a new version when the server starts and every 6 hours. When there is one:

* The console shows one line:

```
[rnKoth] A new version of rnKoth is available: 1.0.2 (you have 1.0.1). Download: https://www.spigotmc.org/resources/139735/
```

* Players with `rnkoth.update` (operators, and everyone with `rnkoth.admin`) get a message a few seconds after they join, with clickable links to Spigot, Modrinth and BuiltByBit.

`/koth version` shows the installed version and the latest one. The check runs in the background: without internet nothing is shown and nothing breaks. To turn it off, set `update-checker: false` in `config.yml` (or use the **Update checker** button of the editor's General page). The text of the message is `update.available` in the language files.
