96 lines
2.1 KiB
Markdown
96 lines
2.1 KiB
Markdown
# Elsword Proton-GE Builder
|
|
|
|
Dieses Repo baut per Gitea Actions versionierte Proton-GE-Kompatibilitätstools
|
|
für Elsword mit `dxvk-git` und Steam Linux Runtime 3.0 (`sniper`).
|
|
|
|
## Was gebaut wird
|
|
|
|
- Tool-Name: `Elsword-GE-(Version)`
|
|
- Beispiel: `Elsword-GE-11-1`
|
|
- Runtime: `1628350` (`Steam Linux Runtime 3.0`)
|
|
- DXVK: standardmäßig `dxvk-git`
|
|
- Ausgabe: versionierte `.tar.xz`-Archive in `dist/`
|
|
|
|
Ältere lokal installierte Versionen wie `Elsword-GE-10-30` bleiben bestehen,
|
|
weil jede Build ihren eigenen Tool-Namen bekommt.
|
|
|
|
## Ablauf
|
|
|
|
1. Das Repo nutzt standardmäßig `GE-Proton10-34`.
|
|
2. DXVK wird aus Upstream gebaut, standardmäßig als `dxvk-git`.
|
|
3. Die GE-Basis wird auf `sniper` umgestellt.
|
|
4. Die DXVK-DLLs in Proton-GE werden ersetzt.
|
|
5. Das Ergebnis wird als eigenes Steam-Compatibility-Tool paketiert.
|
|
6. Die Gitea Action erstellt oder aktualisiert ein Release und lädt das Archiv hoch.
|
|
|
|
## Standardverhalten
|
|
|
|
Ohne Parameter baut `build.sh`:
|
|
|
|
- `GE-Proton10-34`
|
|
- mit `dxvk-git`
|
|
- als Tool `Elsword-GE-(Version)`
|
|
- mit `sniper`
|
|
|
|
## Lokaler Build
|
|
|
|
```bash
|
|
nix develop -c ./build.sh
|
|
```
|
|
|
|
Nur Archiv bauen, nicht lokal installieren:
|
|
|
|
```bash
|
|
nix develop -c ./build.sh --no-install
|
|
```
|
|
|
|
Einen bestimmten GE-Tag bauen:
|
|
|
|
```bash
|
|
nix develop -c ./build.sh --proton-tag GE-Proton11-1
|
|
```
|
|
|
|
Eigenen Tool-Namen setzen:
|
|
|
|
```bash
|
|
nix develop -c ./build.sh --tool-name Elsword-GE-test
|
|
```
|
|
|
|
## Wichtige Optionen
|
|
|
|
- `--proton-tag TAG`
|
|
- `--proton-asset x86_64|aarch64`
|
|
- `--dxvk-channel git|stable`
|
|
- `--dxvk-tag TAG`
|
|
- `--tool-prefix PREFIX`
|
|
- `--tool-name NAME`
|
|
- `--runtime-appid APPID`
|
|
- `--no-install`
|
|
|
|
## Gitea Actions
|
|
|
|
Der Workflow liegt unter:
|
|
|
|
- `.gitea/workflows/build.yml`
|
|
|
|
Er läuft bei:
|
|
|
|
- manuellem Start per `workflow_dispatch`
|
|
- automatischem Zeitplan täglich
|
|
|
|
Für Release-Uploads braucht der Workflow ein Secret:
|
|
|
|
- `GITEA_TOKEN`
|
|
|
|
Dieses Token muss Release-Schreibrechte auf das Repo haben.
|
|
|
|
## Release-Ausgabe
|
|
|
|
Nach einem Build schreibt das Skript nach `dist/`:
|
|
|
|
- das fertige `.tar.xz`-Archiv
|
|
- `package-info.env`
|
|
- `release-notes.md`
|
|
|
|
Die Gitea Action nutzt diese Dateien direkt für das Release.
|