> ## Documentation Index
> Fetch the complete documentation index at: https://catalyst.leifiyo.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Data storage

> Where Catalyst stores server records, worlds, backups, analytics, runtimes, and settings.

Catalyst writes mutable data under Electron's `userData` directory. The exact base path depends on the operating system and the installed app identity.

## Directory layout

```text theme={null}
userData/
  servers.json
  servers.json.tmp
  servers.json.bak
  servers.json.bak.0
  servers.json.bak.1
  servers.json.bak.2
  servers.json.bak.3
  servers.json.bak.4
  servers/
    <server-id>/
      server.jar
      start.bat
      eula.txt
      server.properties
      logs/
      world/
      backups/
      plugins/
        CatalystAnalytics.jar
        CatalystAnalytics/
          config.yml
          data/
            analytics.json
      mods/
      .catalyst/
        modrinth.json
  runtimes/
  ngrok/
    config/
      ngrok.yml
  app_preferences.json
  ai_assistant_settings.json
  ngrok_settings.json
```

## Server records

`servers.json` stores Catalyst's known server list. Catalyst writes through a temporary file and rotates metadata backups to reduce the chance of losing the index.

## Server folders

Each server has its own folder under `servers/`. Catalyst keeps worlds, plugins, mods, logs, properties, backups, and generated files there.

<Warning>
  Do not manually move a running server folder. Stop the server first, then use export/import or move data while Catalyst is closed.
</Warning>

## Modrinth manifest

Installed Modrinth projects are tracked in:

```text theme={null}
.catalyst/modrinth.json
```

Catalyst uses this manifest to update and remove installed projects. Manually copied JARs are not automatically tracked.

## Analytics file

The bundled plugin writes combined analytics to:

```text theme={null}
plugins/CatalystAnalytics/data/analytics.json
```

Catalyst reads this file for the analytics UI.
