Files
Cs2-Mapveto/.env.example
T

86 lines
3.7 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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=
# Optional: mehrere Docker-Hosts als JSON-Liste (eine Zeile). Leer = nur CS2_PUBLIC_HOST/DOCKER_HOST.
# Einrichtung pro Host: bash deploy/docker-host-einrichten.sh <ssh-ziel>
# CS2_DOCKER_HOSTS=[{"name":"host1","dockerHost":"ssh://cs2@192.168.178.111","publicHost":"192.168.178.111","portStart":27100,"portEnd":27139}]
CS2_START_TIMEOUT_MINUTES=20
# Spielports für den LAN-Reiter des Steam-Serverbrowsers (Steam sucht nur 27015–27020). Leer = aus.
CS2_LAN_PORTS=27015-27020
# CSTV-Port = Spielport + dieser Abstand (z. B. 27015 -> 27115)
CS2_TV_PORT_OFFSET=100
# Messer-Server für die Seitenwahl (im Admin-Bereich startbar)
KNIFE_MAP=de_mirage
KNIFE_WARMUP_SECONDS=90
KNIFE_MAX_SERVERS=4
# Anfang des Servernamens im Serverbrowser, danach folgen die Teamnamen
CS2_SERVERNAME_PREFIX=Maxlan
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=
# Discord-Webhook für Meldungen (Veto, Match-Start, Map- und Serienende, Fehler). Leer = aus
DISCORD_WEBHOOK_URL=