87 lines
4.4 KiB
Markdown
87 lines
4.4 KiB
Markdown
# Downloadable releases
|
|
|
|
The GitHub release provides playable Linux x86_64 and Windows x86_64 packages.
|
|
Cargo, Python, the old engine and a Git checkout are unnecessary for play.
|
|
|
|
The approved HD artwork makes the shared data larger than GitHub's
|
|
[2 GiB limit per release asset](https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases).
|
|
Each platform ZIP therefore contains the executable, platform libraries, all
|
|
45 mods with SD/HD artwork and audio, and the source/docs. Shared data ZIPs
|
|
contain the complete unchanged original catalog, approved HD pack, briefings
|
|
and the runtime manifest's other data files. Extracting them together produces
|
|
one self-contained `RustRaptor` folder. A single ZIP is only part of the download.
|
|
|
|
## Install
|
|
|
|
Download `Install-Windows.ps1` or `Install-Linux.sh` from the release. Review it,
|
|
then run it in a directory without an existing `RustRaptor` folder. It downloads
|
|
your platform ZIP and every shared data ZIP, checks each archive and every extracted payload against the versioned
|
|
`release-manifest.json` (and publishes `SHA256SUMS` for manual verification),
|
|
and extracts them into the same destination. Downloads are processed one at a
|
|
time. Linux needs Bash and Python 3.8 or later for this optional installer; Windows uses
|
|
built-in Windows PowerShell 5.1 and .NET. The Windows helper uses explicit extended
|
|
paths to retain long accepted proof filenames without an admin policy change.
|
|
A failed install preserves its partial folder for inspection; move or remove that
|
|
folder before retrying. All archives reject unexpected paths, links and file collisions.
|
|
|
|
```powershell
|
|
powershell -NoProfile -ExecutionPolicy Bypass -File .\Install-Windows.ps1
|
|
```
|
|
|
|
```sh
|
|
bash ./Install-Linux.sh
|
|
```
|
|
|
|
For manual installation:
|
|
|
|
1. Download **one** platform ZIP: `RustRaptor-windows-x86_64.zip` or
|
|
`RustRaptor-linux-x86_64.zip`.
|
|
2. Download **every** `RustRaptor-data-NN-of-TT.zip` and `SHA256SUMS` from
|
|
the **same release**. Do not mix snapshots.
|
|
3. Verify the downloaded hashes. On Windows use `Get-FileHash -Algorithm SHA256`;
|
|
on Linux use `sha256sum`. Compare them with `SHA256SUMS`.
|
|
4. Extract every downloaded ZIP into the **same parent directory**. Every ZIP
|
|
starts with `RustRaptor/`; do not make a different subfolder for each ZIP.
|
|
5. Start `RustRaptor/run.cmd` on Windows or `RustRaptor/run.sh` on Linux.
|
|
|
|
Keep enough storage for the installed folder plus one data ZIP during install.
|
|
The release notes state the exact installed/download sizes. Your pilots and
|
|
settings stay in the separate `RaptorReplica` user profile directories.
|
|
|
|
## Maintainer export
|
|
|
|
Export only a clean, fully committed final tested commit with current Linux and Windows manifests.
|
|
The exporter does not build, refresh the runtime, change manifests or upload.
|
|
|
|
```sh
|
|
python3 tools/export_release.py plan --package . \
|
|
--expected-commit FULL_TESTED_COMMIT --output /tmp/release-plan.json
|
|
python3 tools/export_release.py archive --plan /tmp/release-plan.json \
|
|
--asset RustRaptor-data-01-of-07.zip \
|
|
--output /tmp/RustRaptor-data-01-of-07.zip \
|
|
--receipt /path/to/receipts/RustRaptor-data-01-of-07.zip.json
|
|
```
|
|
|
|
Use the actual volume count in the plan. Each asset is under 1.5 GB before ZIP
|
|
overhead, is checked against every planned source SHA-256 while writing, and
|
|
passes whole-archive CRC validation before a receipt is produced. The exporter
|
|
retains Linux execute permissions. The exporter inventories selected source files without following symlinks and
|
|
rejects non-regular members. It preserves every physical runtime-data file,
|
|
including directories named `derived`; proof/lineage files already present in
|
|
the runtime manifest remain included.
|
|
|
|
Create a draft release at the exact tested tag. Write, verify and upload one
|
|
archive at a time, record its remote size/digest, then remove only that disposable
|
|
export copy before producing the next. Keep receipts. After all assets exist:
|
|
|
|
```sh
|
|
python3 tools/export_release.py checksums --plan /tmp/release-plan.json \
|
|
--receipts /path/to/receipts --output /tmp/SHA256SUMS \
|
|
--manifest-output /tmp/release-manifest.json --tag v0.1.0-preview.20261020
|
|
```
|
|
|
|
Upload the versioned release manifest, checksum list and installers, check complete remote membership, and
|
|
publish the draft only after all checks pass. Native Windows CI and local
|
|
representative rendering/audio evidence retain their actual commit and scope;
|
|
archive integrity checks do not imply a fresh full playthrough.
|