Downloads & grouped games
One catalog entry can contain a playlist, several discs and their tracks. Download the files the game needs, not just the first one you see.
Download from the browser
Sign in at the server root, browse a populated platform or search the whole library, then open a game. You can download individual files, or request one server-generated ZIP for a multi-file game.
Downloads use your browser's download manager. Teatro exchanges the authenticated session for a short-lived, single-use ticket; it does not make game files public or buffer the entire download in browser memory.
Keep the dependencies together
.cue- A cue sheet plus the track files it references.
.gdi- A disc descriptor plus its referenced tracks.
.m3u- A supplied or generated playlist and every referenced disc and dependency.
In this fictional two-disc example, the playlist is the launch file. Both CHD files belong to the same logical game:
Passage.m3u
Passage (Disc 1).chd
Passage (Disc 2).chdDownloading only Passage.m3u does not download the discs. Use the package ZIP in the browser, or a dependency-aware client that follows the download plan.
Plan for download space
By default, a temporary game ZIP accepts at most 256 files and 50 GiB of source bytes. Teatro allows one active or retained archive at a time and keeps a 512 MiB free-space margin.
Temporary archives use the data filesystem. They are removed when the response finishes or is dropped, or when an unconsumed download ticket expires. Individual-file downloads remain available if a package exceeds its limits.
Archive-member extraction and split archive volumes such as .7z.001 are outside the normal import path. Integrity jobs hash physical archive files rather than their individual members.
Connect a client
Give each client its own read-only account instead of using the administrator password. For a native source run:
cargo run -- users create --username player --role readonlyFor Docker:
docker compose exec teatro /opt/teatro/teatro \
users create --username player --role readonlyEnter your secured server URL and that account in the client. Same-machine development can use http://127.0.0.1:4440; on another device, 127.0.0.1 points to that device, not your server.
Dependency-aware clients can use Teatro's read-scoped download plan for complete grouped downloads. Generic ROMM clients may only download a selected file. Teatro implements a focused subset, not the entire ROMM API.