> 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/rnpsmenu/getting-started/updating.md).

# Updating

Replace the jar and keep your settings, texts, bans and history.

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`, `menus.yml`, `flags.yml` and the language files, with their comments, in the right place. Your values, comments and order are not changed. Before saving, the plugin checks that the new file still has every value you had; if not, it writes nothing.
* **A copy of the old file** is saved in `plugins/rnPsMenu/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.
* `shop.yml` and `presets.yml` only get new entries from you (and new block types of ProtectionStones are added to the shop by themselves): an update never adds, removes or changes your blocks or templates.
* Your own language files (like `languages/fr.yml`) also get the new texts, in English, so you can translate them.

The console tells what was done, for example:

```
[rnPsMenu] Added 2 new option(s) to config.yml: teleport.cost, teleport.cost-other-world. Backup of your old file: backups/config-2026-10-22_14-29-30.yml
```

## Things that are never replaced

* Your values in `config.yml`, your layouts and buttons in `menus.yml`, your icons and locks in `flags.yml`.
* Your shop (`shop.yml`) and your templates (`presets.yml`).
* The texts you changed in `languages/`.
* Region bans (`data/bans.yml`), operator rights (`data/operators.yml`) and the history of each region (`data/activity/`).

## Backups

* The plugin keeps the **10 newest copies** of each file in `backups/` and deletes older ones.
* Changes made with `/psmenu editor` are backed up too, at most once every 10 minutes per file.

{% hint style="info" %}
If a file has a mistake (for example a missing quote), the plugin does not change it. It shows the line and how to fix it in the console, and uses the default values for that file until you fix it and run `/psmenu reload` (or save it again with `auto-reload` on).
{% endhint %}

## Update notifications

When `update-checker` is `true`, rnPsMenu checks for a new version a few seconds after the server starts and every 6 hours. When there is one:

* The console shows one line:

```
[rnPsMenu] A new version of rnPsMenu is available: 1.0.1 (you have 1.0.0). Download: <download page>
```

* Players with `rnpsmenu.update` (operators, and everyone with `rnpsmenu.admin`) get a message a few seconds after they join, with a clickable download link.

`/psmenu 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 switch it in `/psmenu editor > Settings`). The text of the message is `update.available` in the language files.
