Skip to content

Core concepts

A short mental model of how Zephyr is organized. Reading this once will save you a lot of "wait, where does that live?" moments later.

Games

A game is a supported title - Lethal Company, Risk of Rain 2, R.E.P.O., and so on. Zephyr ships with the full Thunderstore game catalog, and the list grows whenever Thunderstore adds a new community.

Each game is independent. Installing mods for one game has zero effect on any other.

Profiles

A profile is a set of mods, with their configs, scoped to one game. You can have as many profiles as you want per game.

Real-world example for Lethal Company: one profile called "Solo QoL" with just the quality-of-life mods, another called "With friends" with 80 cosmetic and gameplay mods, a third called "Vanilla+" with three balance fixes.

Switching profile takes about a second. Zephyr swaps the mod folder, the framework configs, the launch arguments - everything. The game itself doesn't know it happened.

You always have at least one profile per game (called Default). Profiles guide ->

Mods

A mod is a package - usually a .zip from Thunderstore or CurseForge. Zephyr unpacks it, places its files where the modding framework expects them, and tracks what it installed so it can cleanly remove it later.

Mods can have dependencies (other mods they need to function). Zephyr resolves them automatically when you install.

Sharing profiles

A profile can be shared as a profile code - the Mods page header has a Share Profile button that copies a code to your clipboard for someone else to paste into Import Code. The recipient ends up with the same mods at the same versions and your edited configs. Zephyr can also import an .r2z profile file dropped onto its window or opened via the OS file association.

Sharing details ->

Sources

A source is where a mod comes from: Thunderstore, CurseForge (for supported games), or a local file you imported. Functionally they all behave the same way once installed.

The randomizer

Zephyr has an Archipelago panel for building YAML configs, generating seeds, and hosting multiworld sessions. It runs against a local Archipelago runtime that Zephyr installs on first use; if no compatible system Python (3.11-3.13) is found, Zephyr downloads a bundled Python so the runtime still installs. It's an optional feature. If you don't care about it, ignore it.

Randomizer guide ->

Cloud sync (optional)

If you sign in with Discord, your profile list (not the mods themselves) syncs across machines. Install Zephyr on a new computer, log in, all your profiles appear and Zephyr re-installs the mods locally. It's the only feature that needs an account, and it's off by default. Cloud sync guide ->

What lives where

A quick map for when you need to find a file by hand:

ThingLives in
App settingsOS app data dir (Roaming on Windows)
Installed mods, per profileSame
Game install pathSame (just the path; mods are stored separately)
Logslatest.log inside the data dir
Randomizer Python runtimerandomizer/archipelago-runtime/ under the data dir

Full paths and details: Where Zephyr stores files.

Released under GPL-3.0.