# upgrade guide

Use this process when replacing an older PracticeBot build.

## Before upgrading

Back up:

* `plugins/PracticeBot/config.yml`
* `plugins/PracticeBot/messages.yml`
* `plugins/PracticeBot/default_inv.yml`
* `plugins/PracticeBot/bot_templates.yml`
* `plugins/PracticeBot/gui/`

## Upgrade steps

1. Stop the server.
2. Back up the current PracticeBot folder.
3. Replace the PracticeBot jar.
4. Start the server once.
5. Watch console for missing values or YAML errors.
6. Run `/pbadmin reload` after any manual config edits.
7. Test bot spawning, template spawning, and CPvP behavior.

## Config compatibility

PracticeBot is designed to tolerate missing values by using defaults where supported. Existing configs normally do not need to be deleted.

Consider regenerating files only when:

* a file is badly malformed YAML
* you want the newest default GUI layout
* support asks you to reset a file
* you intentionally want a clean configuration

## Suggested post-upgrade tests

```
/pb info
/pbadmin license
/spawnbot normal
/spawnbot crystal
/pbadmin template spawn arena_normal
/pbadmin template spawn arena_cpvp
```

Then test:

* Shift-right-click bot menus
* `/pbadmin inventory`
* `/pbadmin egui`
* PlaceholderAPI output if used
* CPvP bot behavior in the real arena

## Do not publish private upgrade data

When asking for support, hide:

* license code
* server IP if private
* private host paths
* private customer names
* private API keys
* private console tokens


---

# 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://edelweiss-network.gitbook.io/practicebot/upgrade-guide.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.
