Setup and Installation
Relevant source files
The following files were used as context for generating this wiki page:
Cyrus is a faithful rebuild of The Elder Scrolls Adventures: Redguard (1998) that requires a legal copy of the original game data to function. The project provides native applications for Windows, Linux, and macOS, alongside a web-based version that runs in modern browsers. Cyrus never modifies the original game files and stores all persistent data, such as settings and caches, in standard user profile folders.
Sources: README.md:5-10, README.md:41-45
Native Installation and Execution
Native builds require the GOG release of Redguard, the Rust toolchain, and the just runner for building from source. You provide the game directory via a command-line flag, environment variable, or a symlink. If Cyrus cannot find a usable installation, it opens a folder picker to let you select the directory manually.
Sources: README.md:21-30, crates/cyrus/README.md:10-15
Requirements and Preparation
- Game Data: Acquire the GOG release of The Elder Scrolls Adventures: Redguard.
- Tools: Install Rust and
just. - Path Resolution: Cyrus searches for game files in the following order:
- The path provided via the
--installCLI flag. - The
REDGUARD_DIRenvironment variable. - A remembered location stored in
install.json. - A
redguardsymlink in the working directory. - Default local or GOG installation folders.
- The path provided via the
Sources: README.md:21-32, crates/cyrus/README.md:12-16
Running the Game
To run the game from source, use the following command:
just run --install /path/to/GOG/extracted/app/Redguard
For prebuilt binaries, extract the archive and run the executable directly:
./cyrus --install /path/to/Redguard
Sources: README.md:25-27, crates/cyrus/README.md:18-20
Web Setup
The web version runs the game in a browser environment using WebAssembly. It accesses game data either through a local folder selection (via the File System Access API) or by connecting to a remote game-file server.
Sources: README.md:37-40, dev/web/install.js:46-60
Browser Installation Options
- Local Folder: Click Choose game folder and select the main GOG folder (containing
DOSBOXand the innerRedguardfolder). - Game-File Server: Use the bundled Python server to host game files locally for the browser client.
python3 viewer-server.py --directory . --page index.html --port 8080 --install "/path/to/Redguard"
Sources: README.md:37-52
Web Installation Logic
The following diagram illustrates how the browser version resolves and validates the installation source.
The browser application verifies the presence of RGFX.EXE, the fxart/ directory, and the maps/ directory before accepting an installation source.
Sources: dev/web/install.js:20-35, dev/web/install.js:63-80, dev/web/loader.js:65-85
Asset Viewer Installation
Cyrus includes a standalone asset viewer for inspecting models, worlds, textures, and other Redguard formats. It can be run as a native application or accessed via a browser.
Sources: README.md:55-60
| Platform | Launch Command / Method |
|---|---|
| Native (Source) | cargo run -p cyrus-viewer -- --install /path/to/Redguard |
| Native (Binary) | Run cyrus-viewer executable with --install flag |
| Browser | Visit the hosted viewer URL and select a local folder |
Sources: README.md:58-62, dev/pages/index.html:150-155
Configuration and Persistence
Cyrus stores configuration and cache data outside of the game installation directory to ensure the original files remain read-only.
Standard Directories
- Linux:
~/.config/cyrus,~/.cache/cyrus, and~/.local/state/cyrus. - Custom: Defined by the
CYRUS_CONFIG_DIRenvironment variable. - Local Override: A
game-config/folder in the launch directory takes precedence.
Sources: README.md:32-35, AGENTS.md:33-38
Configuration Files
| File | Description |
|---|---|
settings.toml | Stores persistent game and fidelity settings. |
install.json | Stores the validated path to the Redguard installation. |
REDGUARD.CHT | Stores local cheat states, overriding the installed file. |
REDGUARD.CPF | Stores console preferences. |
Sources: crates/cyrus/README.md:21-23, crates/cyrus/README.md:52-55, crates/cyrus/README.md:68-70
Startup and Preparation Flow
Upon launch, Cyrus performs a series of preparation steps to export necessary assets and scan the installation.
Native windowed launches perform a focused export of menu and HUD assets, while headless or direct-scene launches perform a full parser-coverage scan of the installation.
Sources: crates/cyrus-startup/src/preparation.rs:45-75, crates/cyrus-startup/README.md:15-25
Summary
Setting up Cyrus requires identifying a valid Redguard installation directory. The software provides flexible launch options for both native and web platforms, utilizing a specialized preparation worker to process game assets while maintaining the integrity of the original installation through read-only access.