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

# Configuration

Where every ClickEm file lives, how to edit and reload safely, and what a new update will and will not overwrite.

ClickEm is controlled by plain YAML files you can edit with any text editor.

### The folder

```
plugins/ClickEmCore/
  config.yml              Global settings: license, language, storage, limits, module switches, menu icons
  modules/                One file per feature (zones.yml, pets.yml, boosts.yml ...)
    pets/                 One file per pet (Z1_1.yml ...)
  lang/                   Every piece of text players read (en_us.yml ...)
  data/                   Saved game data. Do not edit by hand while the server runs.
    clickem.db            The player database (SQLite)
    clans.yml, auctionhouse.yml, egg-blocks.yml, echo-terminals.yml
  leaderboards-cache.yml  Saved rankings so offline players stay on the boards
```

Other plugins keep their own folders in `plugins/`. See [Server setup](/lethium-docs/server-setup.md).

### The golden rules

{% hint style="danger" %}

1. **Back up before you edit.** Copy the file (`zones.yml` to `zones.yml.bak`) so you can undo a mistake.
2. **YAML uses spaces, never tabs.** Keep the indentation exactly as it is. Two spaces per level.
3. **Put text with special characters in quotes.** `display-name: "clickem.zones.w1.name"`.
4. **Never edit `data/` while the server runs.** It is overwritten on save.
   {% endhint %}

### Applying changes

| You changed                             | Do this                                                       |
| --------------------------------------- | ------------------------------------------------------------- |
| One module file (`modules/boosts.yml`)  | `/clickem module reload boosts`                               |
| Several files, `config.yml`, or `lang/` | `/clickem reload` (reloads everything; needs `clickem.admin`) |
| A MythicMobs file                       | `/mm reload`                                                  |
| A pet file in `modules/pets/`           | `/clickem module reload pets`                                 |
| `tutorial.yml`                          | `/clickem reload`, then `/tutorial build`                     |
| The jar itself                          | A full server restart                                         |

{% hint style="info" %}
`/clickem reload` does not need a restart and keeps players online. Module switches (`enabled: false`) can also be flipped live: `/clickem module enable <id>` and `/clickem module disable <id>`.
{% endhint %}

Stat-limit changes (`limit-stats`) apply live to combat, placeholders, achievements and leaderboards after a reload.

Numbers quoted in this wiki are the shipped defaults. Your server may differ if you changed them.

### Updating the plugin never overwrites your files

When a new ClickEm jar is installed, your existing `config.yml`, `modules/*.yml` and `lang/*.yml` are **kept as they are**. New files are created only if missing. This protects your changes but means:

* New settings added by an update are **not** written into your old files. The plugin has built-in defaults for new keys, so nothing breaks, but you will not see them in your file.
* To see new settings, rename the old file, start the server so a fresh default is created, then copy your values across.
* A new language key that is missing from your `lang/en_us.yml` falls back to the text built into the jar.

See [Updating](/lethium-docs/getting-started/updating.md).

### Text in config files

Most names are **language keys**, for example `display-name: "clickem.upgrades.power.name"`. The real text is in `lang/en_us.yml` under that key. To rename something, find its key there. You can also write text directly (`display-name: "<gold>Power"`) in places that allow it. See [Language and text](/lethium-docs/configuration/language-and-text.md).

### Finding the right setting

| I want to change          | Go to                                                                                           |
| ------------------------- | ----------------------------------------------------------------------------------------------- |
| How much something costs  | The module page. See [Gameplay overview](/lethium-docs/gameplay.md)                             |
| A reward amount           | The module page, and read [Reward scaling](/lethium-docs/configuration/reward-scaling.md) first |
| What a stat does          | [Stats and limits](/lethium-docs/configuration/stats-and-limits.md)                             |
| Text players see          | [Language and text](/lethium-docs/configuration/language-and-text.md)                           |
| An icon or menu layout    | [Menus and icons](/lethium-docs/configuration/menus-and-icons.md)                               |
| How data is saved         | [Storage](/lethium-docs/configuration/storage.md)                                               |
| Turn a feature off        | [Modules](/lethium-docs/configuration/modules.md)                                               |
| A recipe for a common job | [How-to recipes](/lethium-docs/how-to.md)                                                       |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://lethium.gitbook.io/lethium-docs/configuration.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
