feat: initial Elsword-GE builder
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user