feat: initial Elsword-GE builder

This commit is contained in:
magges
2026-06-27 10:26:21 +02:00
commit f3817f7c82
6 changed files with 822 additions and 0 deletions
+95
View File
@@ -0,0 +1,95 @@
# 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.