Files

59 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

2026-03-30 14:11:58 +02:00
# 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