# HELLDIVERS 2 – Stratagem Trainer Trainings- und Wettkampf-App für Helldivers 2 Stratagems. Erkennt Arrow-Key-Eingaben, bewertet Geschwindigkeit und Genauigkeit, ermöglicht 1v1-Matches in Echtzeit. ## Features - **Practice Mode** – 97 Stratagems aus 15 Kategorien, 30s Timer, Streak-Multiplikator - **1v1 Arena** – Echtzeit-Matches via WebSocket, Best-of-10 Runden (first to 5) - **Dashboard** – eigene Stats, Tages-Challenge, Online-Status anderer Spieler - **Leaderboard** – Top-20 nach Gesamtpunktzahl - **Admin Panel** – User anlegen/löschen, Temp-Passwörter vergeben ## Stack - Node.js / Express 5 - SQLite (`better-sqlite3`, WAL-Modus) - WebSocket (`ws`) - Session-Auth (`express-session` + `bcryptjs`) - Vanilla JS, kein Frontend-Framework ## Setup ```bash npm install node server.js ``` Beim ersten Start werden `admin` und `jeremy` mit zufälligen Temp-Passwörtern angelegt (Ausgabe in der Konsole). ## Port `3012` — konfigurierbar via `PORT`-Umgebungsvariable ## PM2 ```bash pm2 start ecosystem.config.js ``` ## Datenbankschema Drei Tabellen in `data/helldivers.db`: | Tabelle | Inhalt | |---|---| | `users` | Username, Passwort-Hash, Rolle, mustChange-Flag | | `practice_sessions` | Stratagem, Kategorie, Zeit, Score, Timestamp | | `matches` | Gewinner, Verlierer, Rundenstand, Timestamp | ## Scoring ``` score = round((100 + (30 - elapsedSecs) × 3) × (1 + streak × 0.1)) ``` - Basis: 100 Punkte - Zeitbonus: bis zu 90 Punkte (bei < 1s) - Streak-Multiplikator: +10 % pro korrektem Stratagem in Folge