Release alpha 10 with bilingual UI and social co-op
This commit is contained in:
1 parent
7d5cad7277
commit
d53467baf2
22 files changed
+1714
-271
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# Void Bastion: Git- und Serververöffentlichung
|
||||
|
||||
Stand: 9. Oktober 2026. Diese Anleitung enthält bewusst keine Passwörter, privaten Schlüssel oder API-Tokens.
|
||||
Stand: 10. Oktober 2026. Diese Anleitung enthält bewusst keine Passwörter, privaten Schlüssel, Webhook-Adressen oder API-Tokens.
|
||||
|
||||
## Zuständigkeiten
|
||||
|
||||
@@ -28,7 +28,9 @@ git push origin main
|
||||
|
||||
Vor jedem Push `git status` und `git diff --cached` prüfen. Keine Zugangsdaten committen. `intern/statistik/stats-config.local.php` bleibt ausschließlich auf dem Webhosting und ist in `.gitignore` ausgeschlossen.
|
||||
|
||||
Netcup-Plesk ist bereits mit dem Gitea-Repository `Emporex/Void-Bastion-Website`, Branch `main`, und dem Ziel `gergames.de/void-bastion` verbunden; der Plesk-Modus ist **manuell**. Am 9. Oktober fehlte die neue Code-Listenfunktion auf der eingeloggten Live-Seite, obwohl Gitea-Commit `3e6132e` sie enthielt und Nakama fünf Codes zurückgab. Im Gitea-Repository war kein Webhook eingerichtet. Der Stand wurde daraufhin im Netcup-Git-Bereich für genau diese Domain per „Jetzt Pull ausführen“ und „Jetzt bereitstellen“ aktualisiert. Die bereitgestellte `intern/statistik/index.php` hatte danach den neuen Zeitstempel und enthielt „Code-Übersicht“ sowie das Bemerkungsfeld; die öffentliche Login-Seite antwortete ohne Serverfehler. Die Alpha-9-Anzeige auf der Homepage kommt separat über `latest-release.php` aus der Releases-API und beweist keine PHP-Bereitstellung. Bis ein automatischer Deploy-Endpunkt verifiziert und eingerichtet ist, nach Website-Push beide Plesk-Schritte ausführen und die Live-Seite prüfen. Andere Domains oder das webhostingweite FTP/SSH-Konto nicht für automatische Uploads benutzen.
|
||||
Netcup-Plesk ist mit dem Gitea-Repository `Emporex/Void-Bastion-Website`, Branch `main`, und dem Ziel `/gergames.de/void-bastion` verbunden. Seit dem 10. Oktober steht der Plesk-Bereitstellungsmodus auf **Automatisch**. Im Gitea-Repository ist der aktive Webhook „Plesk – Void Bastion Website“ eingerichtet: nur Push-Events, Branch-Filter `main`, POST mit `application/json`. Seine Plesk-Zieladresse enthält einen Zugriffswert und darf weder in Git noch in diese Doku kopiert werden. Ein Test-Event und der echte Push von Commit `3502e04` erhielten jeweils HTTP 204. Der harmlose HTML-Kommentar dieses Commits war danach auf der öffentlichen Homepage sichtbar, ohne manuelle Plesk-Aktion. Damit reicht künftig für Website-Änderungen der geprüfte `git push origin main`; anschließend die betroffene Live-Seite prüfen. Die Windows-Versionsanzeige kommt separat über `latest-release.php` aus der Releases-API und beweist keine PHP-Bereitstellung.
|
||||
|
||||
Falls eine Änderung nicht live erscheint: In **diesem** Gitea-Repository unter Einstellungen → Webhooks die jüngste Zustellung und Antwort prüfen. In Plesk nur bei `void-bastion.gergames.de` den Git-Stand und das Bereitstellungsziel prüfen; notfalls dort „Jetzt Pull ausführen“ und „Jetzt bereitstellen“ manuell nutzen. Andere Domains oder das webhostingweite FTP/SSH-Konto nicht für automatische Uploads benutzen. Ein unerwünschtes Website-Update durch einen gezielten Git-Revert und erneuten Push zurücknehmen, nicht durch Änderungen an fremden Domains.
|
||||
|
||||
Ein künftiger Wechsel des PCs benötigt den lokalen privaten Schlüssel aus einem sicheren Backup **oder** einen neu ausgestellten Deploy-Key auf Gitea. Vor der ersten Verbindung den Gitea-SSH-Host-Key erneut mit dem am Server veröffentlichten Schlüssel vergleichen (derzeit ED25519-Fingerabdruck `SHA256:WFM5G2yjTwTlJqF8OmBqx4N2O4/8L35vJ4Qu4zrC/J0` für `[192.168.178.20]:2202`). Die vollständige Verzeichnisstruktur und lokale `.git/config` lassen sich nicht allein aus einem Quellcode-ZIP wiederherstellen.
|
||||
|
||||
@@ -43,7 +45,15 @@ Im Godot-Projektordner:
|
||||
|
||||
Ohne `-Apply` läuft zuerst der Server-Simulationstest und dann ein SHA-256-Vergleich; es wird nichts hochgeladen. Mit `-Apply` lädt das Skript nur bei einer Änderung hoch, prüft den Hash, sichert die bisherige Serverdatei mit Zeitstempel, ersetzt sie, startet **nur** den Nakama-Container neu und wartet auf dessen `healthy`-Status. Bei einem Fehler nach der Aktivierung nicht blind erneut starten; zuerst Logs prüfen und bei Bedarf die gemeldete Sicherungsdatei wiederherstellen. Der Unraid-SSH-Zugang ist serverweit mächtig: Pfade und Containername im Skript nicht ohne Prüfung ändern.
|
||||
|
||||
Am 9. Oktober 2026 stimmten lokaler und aktiver Server-Bundle-Hash `2f76ec101b672912d102b607c651b105afa366e1c488e9da7fdc0187378742dc` überein. Die RPCs `create_unlock_code` und `list_unlock_codes` waren im Nakama-Startlog registriert. Die PHP-Codeverwaltung liegt bereits in Gitea-Commit `3e6132e` auf `main`; ihr Netcup-Deployment ist noch separat zu bestätigen.
|
||||
Am 10. Oktober 2026 wurde für Alpha 10 das Server-Bundle mit SHA-256 `1b0a0922a1a289d7bb1ccf12269732ea57853eab9f60353757656a7c0fdd0917` aktiviert; Nakama meldete `healthy` und der Zwei-Konten-Test für Freundschaft, Status und Einladung bestand. Die RPCs `create_unlock_code`, `list_unlock_codes` und `invite_friend` sind registriert. Die PHP-Codeverwaltung aus Gitea-Commit `3e6132e` wurde am 9. Oktober manuell auf Netcup bereitgestellt; danach wurde die automatische Website-Bereitstellung eingerichtet und getestet.
|
||||
|
||||
## Windows-Release und Homepage
|
||||
|
||||
Den Windows-Export mit `packaging/windows/build.ps1` erstellen und die exportierte EXE vor dem Upload mit `--headless --quit` starten. Das Skript benötigt den Godot-Konsolenpfad und optional `-MakeNsisExe` mit der **echten** NSIS-Binärdatei (auf diesem PC `C:\Users\Domin\AppData\Local\Programs\NSIS-3.13\Bin\makensis.exe`; die gleichnamige Datei eine Ebene höher ist nur ein Starter). Produkt-, Installer- und Projektversion gemeinsam erhöhen. Das Skript gibt Größe und SHA-256 des Setups aus.
|
||||
|
||||
Im öffentlichen Gitea-Repository `Emporex/Void-Bastion-Releases` zuerst einen **Entwurf** für den neuen Tag erstellen, dann `Void-Bastion-Setup-x64.exe` anhängen. Den hochgeladenen Entwurf mit den über Git Credential Manager gespeicherten Zugangsdaten erneut herunterladen und SHA-256 vergleichen. Erst danach den Entwurf veröffentlichen. Keine Zugangsdaten oder Token in Skripte, Dateien oder Chat kopieren. Der vorhandene Gitea-Token hat `write:repository`, aber kein `read:user`; ein `GET /api/v1/user` kann deshalb trotz funktionierendem Release-Zugriff 403 liefern.
|
||||
|
||||
Die Website liest den neuesten **veröffentlichten** Release mit passendem EXE-Asset automatisch über `https://void-bastion.gergames.de/latest-release.php`; der Ingame-Updater liest die Release-Liste. `.../releases/latest` ist zur Alpha-Prüfung ungeeignet, da Gitea Vorabversionen dort nicht berücksichtigt. Nach jeder Veröffentlichung beide tatsächlichen Endpunkte und den öffentlichen Download testen. Alpha 10: `v0.1.0-alpha.10`, Setup SHA-256 `8B86ABC1EBF95252BD5C3C08156B9DD92BE6585A47E9DA323043D6483FED7287`.
|
||||
|
||||
## Absicherung und Wiederherstellung
|
||||
|
||||
|
||||
Reference in new issue
Block a user