59 lines
1.5 KiB
Markdown
59 lines
1.5 KiB
Markdown
|
|
# 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
|