Ein kleines Tool / App, die kontaktloses spielleiten von Werwolf ermöglicht.
https://werwolf-berlin.de/app/
Die App wurde per KI um zusätzliche Funktionen ergänzt.
Ergänzte Funktionen:
- Nacht-/Tag-Phasensteuerung mit Zählern für Tag und Nacht sowie Schaltfläche zum Phasenwechsel.
- Rollen-Aufwachlogik mit Nachtmodi: Nacht 0, jede Nacht, gerade Nächte, ungerade Nächte.
- Fraktionsbasierte Nachtrollen (z. B. böse Fraktionen) inklusive eigener Fraktionsverwaltung.
- Option
Zusätzlich als Rolle aufwachenfür Rollen, die sowohl mit Fraktion als auch eigenständig aufwachen. - Zusätzlicher Hinweis
Aktivnebenwach, wenn in einer Nacht beides gleichzeitig zutrifft (Fraktion + eigenständiges Aufwachen). - Visuelle Markierung aufwachender Rollen in der Spielansicht.
- Erweiterte Effektverwaltung pro Spieler mit Dauer
permanent,night,next_daysowie Erstellen/Löschen eigener Effekte. - Spielername pro Sitzplatz im Spiel setzen/bearbeiten.
- Deck-Verwaltung: Speichern, Überschreiben, Laden, Löschen und Importieren von Decks.
- Backup/Restore für Rollen sowie Deck-Export/-Import als JSON.
- Theme-Umschaltung in der Toolbar (
system,light,dark). - Fehlergrenze (
AppErrorBoundary) für robustere Laufzeitfehler-Behandlung.
- Node.js und npm (lokal)
- Linux/Unix-Shell für den aktuellen Build-Workflow (
ln -sfnim Build-Script) - Für Deployment zusätzlich:
rsync, SSH-Zugang und Host-Aliasgobi
npm install
npm startnpm run build
npm run test
npm run lint
npm run typecheckHinweis: npm run build erstellt zusätzlich den Symlink build/app, damit die App unter /app/ ausgeliefert werden kann.
Die Service-Worker-Registrierung wird über REACT_APP_ENABLE_SW gesteuert.
Die Variable wird bei Create-React-App zur Build-Zeit in das Bundle eingebettet.
REACT_APP_ENABLE_SW=true npm run build: Service Worker registrieren (Offline/PWA aktiv)- jeder andere Wert oder nicht gesetzt: Service Worker wird deaktiviert
Siehe Beispielwerte in .env.example.
npm run deployDas Script ist aktuell auf die Zielumgebung gobi:/srv/http/werwolf-berlin.de/web/ zugeschnitten und synchronisiert:
build/nach/srv/http/werwolf-berlin.de/web/app/build/.well-known/nach/srv/http/werwolf-berlin.de/web/.well-known/
- Install bubblewrap
- Set correct path to keystore in
twa-manifest.json - Run
bubblewrap updateto create app files - Run
bubblewrap buildto build the apk
Somehow this assetlinks.json is needed to make the browser bar go away. Doesn't work so far. Maybe it takes some time? Couldn't figure it out yet. Caching problem?