# 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) --- # Game Server Login Token für App-ID 730 (https://steamcommunity.com/dev/managegameservers); leer = LAN-Modus (sv_lan 1) 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 # Schlüssel für die Stream-Übersicht aller Matches (/stream?key=...); leer = offen STREAM_KEY=