Files
Cs2-Mapveto/.env.example
T
mregosar 263c7e7b7c Live-Ergebnisse: Stream-Seite, Anzeige, automatischer Mapwechsel
- Stream-Übersicht unter /stream/<Zuschauercode> (1920x1080, Lobby, Veto, Spielstand)
- Live-Stand, Rundenverlauf und Serienstand auf Match-Seite und Übersicht
- Parser mit echten AMP-Logs geprüft: Game Over mit leerer Map-Gruppe,
  Match_Start vor der Aufwärmphase, veraltete Seitenzuordnung nach der Halbzeit
- Nach Map-Ende automatisch nächste Map bzw. Abschluss der entschiedenen Serie
- LOG_DEBUG zur Fehlersuche, README und .env.example ergänzt
2026-10-25 19:20:10 +01:00

69 lines
2.7 KiB
Bash

# Kopieren nach .env und anpassen. Alle Werte sind optional, außer beim jeweiligen Serveradapter angegeben.
# --- Webanwendung ---
PORT=3000
# Öffentliche Adresse der Webseite, wird für Einladungslinks verwendet.
# Entwicklung mit Vite: http://localhost:5173, Produktion: z. B. https://veto.example.de
PUBLIC_URL=http://localhost:5173
DATABASE_FILE=data/cs2-mapveto.db
MAP_POOL_FILE=server/config/map-pools.json
# Wenn gesetzt, ist dieses Passwort zum Erstellen von Matches nötig.
CREATE_MATCH_PASSWORD=
# false (Standard): ein bereiter Spieler pro Team reicht. true: Teams müssen vollständig sein (2 bzw. 5 Spieler).
REQUIRE_FULL_TEAMS=false
# true, wenn die App hinter einem Reverse-Proxy läuft (für korrekte Client-IP beim Rate-Limit).
TRUST_PROXY=false
# --- Serververwaltung ---
# demo = simuliert, startet KEINE echten Server (Standard)
# docker = startet pro Match einen CS2-Container
# static = nutzt vorhandene, selbst betriebene CS2-Server per RCON
SERVER_ADAPTER=demo
SERVER_IDLE_TIMEOUT_MINUTES=30
SERVER_MAX_LIFETIME_HOURS=8
SERVER_STATUS_POLL_SECONDS=5
SERVER_REAPER_INTERVAL_SECONDS=60
# --- Match-Einstellungen auf dem CS2-Server ---
CS2_TV_ENABLE=true
CS2_TV_DELAY=90
CS2_MAXROUNDS_COMPETITIVE=24
CS2_MAXROUNDS_WINGMAN=16
CS2_OVERTIME=true
# Zusätzliche Konsolenbefehle nach dem Mapwechsel, durch ; getrennt
CS2_EXTRA_COMMANDS=
# --- Demo-Adapter ---
DEMO_START_SECONDS=20
# true: erste Konfiguration schlägt absichtlich fehl (zum Testen von "Erneut versuchen")
DEMO_FAIL_FIRST_CONFIGURE=false
# --- Docker-Adapter (SERVER_ADAPTER=docker) ---
# Pflicht: Game Server Login Token für App-ID 730, https://steamcommunity.com/dev/managegameservers
CS2_GSLT=
# Pflicht: Adresse, unter der Spieler den Docker-Host erreichen (IP oder DNS-Name)
CS2_PUBLIC_HOST=
# Adresse, unter der das Backend die RCON-Ports der Container erreicht
CS2_RCON_HOST=127.0.0.1
CS2_DOCKER_IMAGE=joedwards32/cs2:latest
# Pro Match werden zwei Ports belegt (Spiel TCP+UDP, CSTV UDP)
CS2_PORT_RANGE_START=27015
CS2_PORT_RANGE_END=27115
# Gemeinsames Volume für die Spieldateien (~60 GB), damit nicht jedes Match neu herunterlädt
CS2_DOCKER_VOLUME=cs2-mapveto-gamefiles
CS2_DOCKER_EXTRA_ARGS=
CS2_START_TIMEOUT_MINUTES=20
DOCKER_BIN=docker
# --- Static-Pool-Adapter (SERVER_ADAPTER=static) ---
# host:port:rconPasswort[:tvPort], mehrere durch Komma getrennt
CS2_STATIC_SERVERS=
# --- Live-Ergebnisse ---
# Adresse, unter der der CS2-Server dieses Backend erreicht (Standard: PUBLIC_URL), z. B. http://192.168.178.31:3000
LOG_RECEIVER_URL=
# true: empfangene Logzeilen im Terminal ausgeben (Fehlersuche)
LOG_DEBUG=false
# Sekunden nach Map-Ende bis zur nächsten Map bzw. zum Abschluss der Serie; -1 = nur manuell
SERIES_AUTO_ADVANCE_SECONDS=30