# Configuration

Tune event worlds, inventories, rewards, tasks, costumes, storage and atmosphere.

## Configuration files

The generated `config.yml` contains the main settings. `items.yml` controls event and menu items. `messages.yml` contains player-facing messages, and `messages_DE.yml` provides German messages.

Back up files before editing. Preserve YAML indentation and reload with `/tot reload` after normal settings changes. Changing storage backends should be planned with a backup and a server restart; reload keeps the existing database connection.

## Main sections

| Section | Purpose |
| --- | --- |
| `General` | Enabled worlds, optional inventory caching, prefix and metrics |
| `Storage` | SQLite or MySQL settings |
| `World` | Permanent night, night time and random thunder |
| `Lobby` | Lobby protections, join teleport, costume armor and automatic event items |
| `GameSettings` | Sweet rewards, door cooldowns, empty houses, thieves, hints and ingredients |
| `Horror` | Encounter selection, intensity, sound, darkness and particles |
| `Reward` | Sweet singular/plural names and display icon |
| `Costumes` | Head choices, hints and required outfit changes |
| `NPC` | Normal resident and thief skins |
| `Sounds` | Event sound names, pitch and general volume |

## Rewards and repeat visits

The default sweet range is five to fifty per door, depending on costume matching. The default repeat-visit cooldown is five minutes.

```yaml
GameSettings:
  rewards:
    min_amount: 5
    max_amount: 50
    throw_items: true
  banned_time:
    hours: 0
    minutes: 5
    seconds: 0
```

Thrown reward items are visual effects and cannot be picked up. The presentation is bounded to at most eight visual items regardless of the reward amount.

## Ingredient hunts

The default assignment chance is 60%, with ten additional sweets for a delivery. The default randomized collection count is one to five, and ingredient locations respawn after 300 seconds.

Set `GameSettings.ingredients.enable: false` for a simpler event focused on costumes and door visits. Tune `force_complete_task` and `compass` to decide how guided the hunt should feel.

## World and lobby behavior

`World.always_night` and `World.random_thunder` are optional. Both are disabled by default.

`Lobby.lobby_listeners` protects selected worlds from ordinary building, item dropping/pickup and damage. Administrators bypass the building restrictions. This setting can affect an existing survival world, so use it only when that world is intended to behave as an event lobby.

`Lobby.use_armor_slots` can replace worn armor with the costume. Keep it disabled when players should retain their own equipped armor.

## Optional integrations

PlaceholderAPI and DeluxeShop are optional integrations. Install the dependency before using its associated features. SQLite requires no separate database server; MySQL is configured in `Storage.MySQL`.

For the `Horror` settings, see the dedicated [encounter reference](/trickortreat/wiki/encounters).
