Wiki: Maxlan, Einstellungen mit Seitenleiste, Docker-Hosts und Messer-Server in den Einstellungen

mregosar committed 2026-10-29 22:04:40 +01:00
1 parent dbad580b11
commit 930e2efa21
6 files changed
+15 -15

No files matched your search

+8 -8
@@ -8,14 +8,6 @@ Der Admin-Bereich hat zwei Reiter: **Matches** und **Einstellungen**.
## Reiter „Matches“ ## Reiter „Matches“
### Docker-Hosts
Pro Host: belegte und freie Plätze, ein Balken für die Auslastung, der freie Speicher dort, wo das Gameserver-Volume liegt (auch wenn es auf einer anderen Platte liegt), und die Matches und Messer-Server auf dem Host.
### Messer-Server
Messer-Server für die Seitenwahl starten und verwalten (5v5 oder 2v2). Siehe [Messer-Server](Messer-Server).
### Suche und Filter ### Suche und Filter
- **Suche** nach Teamnamen, Spielern und Match-ID. - **Suche** nach Teamnamen, Spielern und Match-ID.
@@ -52,6 +44,8 @@ Unter **Details**: Einladungslinks und Codes (erneuerbar), Verbindungsbefehle f
## Reiter „Einstellungen“ ## Reiter „Einstellungen“
Die Einstellungen sind in eine Seitenleiste gegliedert: **Veto** (Map-Pools), **Gameserver** (Match-Regeln, CSTV, Zeiten, Messer-Server), **Server-Betrieb** (Docker-Hosts und Image-Update) und **Benachrichtigungen** (Discord). Am Handy stehen die Menüpunkte als Knöpfe über dem Inhalt. Der zuletzt gewählte Punkt bleibt im Browser gespeichert.
### Map-Pools ### Map-Pools
Pro Modus die Maps an- und abwählen (mindestens 2) und speichern. Darunter steht für jedes Format der Veto-Ablauf, der sich der Anzahl anpasst. Gilt für neue Matches. Siehe [Map-Pools und Veto](Map-Pools-und-Veto). Pro Modus die Maps an- und abwählen (mindestens 2) und speichern. Darunter steht für jedes Format der Veto-Ablauf, der sich der Anzahl anpasst. Gilt für neue Matches. Siehe [Map-Pools und Veto](Map-Pools-und-Veto).
@@ -68,8 +62,14 @@ Pro Modus die Maps an- und abwählen (mindestens 2) und speichern. Darunter steh
- Mit **live** markierte Werte gehen beim Speichern sofort per RCON an alle laufenden Server. Die anderen gelten für neue Server und Vetos. - Mit **live** markierte Werte gehen beim Speichern sofort per RCON an alle laufenden Server. Die anderen gelten für neue Server und Vetos.
- Befehle, die Passwörter ändern oder den Server beenden, nimmt die Anwendung nicht an. - Befehle, die Passwörter ändern oder den Server beenden, nimmt die Anwendung nicht an.
### Messer-Server
Unter Gameserver → **Messer-Server**: Messer-Server für die Seitenwahl starten und verwalten (5v5 oder 2v2). Siehe [Messer-Server](Messer-Server).
### Docker-Hosts ### Docker-Hosts
Oben die **Auslastung** pro Host: belegte und freie Plätze, ein Balken für die Auslastung, der freie Speicher dort, wo das Gameserver-Volume liegt (auch wenn es auf einer anderen Platte liegt), und die Matches und Messer-Server auf dem Host. Sie aktualisiert sich alle 3 Sekunden.
- Hosts hinzufügen, entfernen und bearbeiten: Name, Docker-Ziel, Adresse für Spieler, Portbereich, LAN-Ports, Volume. - Hosts hinzufügen, entfernen und bearbeiten: Name, Docker-Ziel, Adresse für Spieler, Portbereich, LAN-Ports, Volume.
- Die Liste ersetzt `CS2_DOCKER_HOSTS` aus der `.env`. **Liste aus .env verwenden** schaltet zurück. - Die Liste ersetzt `CS2_DOCKER_HOSTS` aus der `.env`. **Liste aus .env verwenden** schaltet zurück.
- Ein Host mit laufendem Server lässt sich nicht entfernen, und seine Adresse lässt sich nicht ändern. - Ein Host mit laufendem Server lässt sich nicht entfernen, und seine Adresse lässt sich nicht ändern.
+1 -1
@@ -7,7 +7,7 @@ Mit `SERVER_ADAPTER=docker` startet die Anwendung pro Match einen Container mit
- **Container:** Namen `cs2mv-<matchId>` (Messer-Server `cs2mv-knife1` usw.), Label `cs2-mapveto=1`. - **Container:** Namen `cs2mv-<matchId>` (Messer-Server `cs2mv-knife1` usw.), Label `cs2-mapveto=1`.
- **Ports:** Der Spielport kommt zuerst aus den LAN-Ports 27015–27020, danach aus `CS2_PORT_RANGE_START` bis `CS2_PORT_RANGE_END`. Der CSTV-Port liegt immer 100 darüber (`CS2_TV_PORT_OFFSET`). Details unter [Steam-LAN-Browser](Steam-LAN-Browser). - **Ports:** Der Spielport kommt zuerst aus den LAN-Ports 27015–27020, danach aus `CS2_PORT_RANGE_START` bis `CS2_PORT_RANGE_END`. Der CSTV-Port liegt immer 100 darüber (`CS2_TV_PORT_OFFSET`). Details unter [Steam-LAN-Browser](Steam-LAN-Browser).
- **Netz:** Server auf LAN-Ports laufen im Netz des Hosts (`--network host`), alle anderen mit Port-Weiterleitung. Ist ein Port von einem fremden Dienst belegt, nimmt die Anwendung den nächsten. - **Netz:** Server auf LAN-Ports laufen im Netz des Hosts (`--network host`), alle anderen mit Port-Weiterleitung. Ist ein Port von einem fremden Dienst belegt, nimmt die Anwendung den nächsten.
- **Servername:** `MaxLAN | Team A vs. Team B` (Anfang über `CS2_SERVERNAME_PREFIX`). - **Servername:** `Maxlan | Team A vs. Team B` (Anfang über `CS2_SERVERNAME_PREFIX`).
- **Spieleranzahl:** `CS2_MAXPLAYERS` ist 6 bei Wingman und 12 bei Competitive. CSTV belegt einen Slot. - **Spieleranzahl:** `CS2_MAXPLAYERS` ist 6 bei Wingman und 12 bei Competitive. CSTV belegt einen Slot.
- **Volume:** `CS2_DOCKER_VOLUME` (Standard `cs2-mapveto-gamefiles`), rund 60 bis 73 GB. So lädt nicht jeder Container neu. - **Volume:** `CS2_DOCKER_VOLUME` (Standard `cs2-mapveto-gamefiles`), rund 60 bis 73 GB. So lädt nicht jeder Container neu.
- **Start-Warteschlange:** Die Container starten nacheinander, damit SteamCMD nicht parallel auf das Volume schreibt. Ein Container gilt als bereit, sobald der Update-Check beendet ist oder RCON antwortet. - **Start-Warteschlange:** Die Container starten nacheinander, damit SteamCMD nicht parallel auf das Volume schreibt. Ein Container gilt als bereit, sobald der Update-Check beendet ist oder RCON antwortet.
+1 -1
@@ -28,7 +28,7 @@ Alle Variablen mit Standardwerten stehen in `.env.example` im Repository. Hier d
| `CS2_PORT_RANGE_START`, `CS2_PORT_RANGE_END` | `27015`, `27115` | Bereich der Spielports | | `CS2_PORT_RANGE_START`, `CS2_PORT_RANGE_END` | `27015`, `27115` | Bereich der Spielports |
| `CS2_LAN_PORTS` | `27015-27020` | Spielports für den LAN-Reiter von Steam, werden zuerst vergeben; leer = aus | | `CS2_LAN_PORTS` | `27015-27020` | Spielports für den LAN-Reiter von Steam, werden zuerst vergeben; leer = aus |
| `CS2_TV_PORT_OFFSET` | `100` | CSTV-Port = Spielport + Abstand (27015 → 27115) | | `CS2_TV_PORT_OFFSET` | `100` | CSTV-Port = Spielport + Abstand (27015 → 27115) |
| `CS2_SERVERNAME_PREFIX` | `MaxLAN` | Anfang des Servernamens im Serverbrowser | | `CS2_SERVERNAME_PREFIX` | `Maxlan` | Anfang des Servernamens im Serverbrowser |
| `CS2_START_TIMEOUT_MINUTES` | `20` | Startzeit eines Servers inklusive Download der Spieldateien | | `CS2_START_TIMEOUT_MINUTES` | `20` | Startzeit eines Servers inklusive Download der Spieldateien |
| `KNIFE_MAP` | `de_mirage` | Standard-Map für [Messer-Server](Messer-Server) | | `KNIFE_MAP` | `de_mirage` | Standard-Map für [Messer-Server](Messer-Server) |
| `KNIFE_WARMUP_SECONDS` | `90` | Zeit zum Verbinden vor der Messerrunde | | `KNIFE_WARMUP_SECONDS` | `90` | Zeit zum Verbinden vor der Messerrunde |
+2 -2
@@ -100,7 +100,7 @@ Die Anwendung liest die `.env` nur beim Start. Also: Anwendung stoppen und wiede
## 6. Prüfen ## 6. Prüfen
1. Im Admin-Bereich (`/admin`) erscheint oben die Karte **Docker-Hosts**. Pro Host stehen dort der Name, die Adresse, die belegten und freien Plätze (bis zu 40 pro Host), der freie Speicher und die laufenden Matches und Messer-Server. 1. Im Admin-Bereich (`/admin`) unter Einstellungen → **Docker-Hosts** steht oben die Auslastung. Pro Host stehen dort der Name, die Adresse, die belegten und freien Plätze (bis zu 40 pro Host), der freie Speicher und die laufenden Matches und Messer-Server.
2. Ein Testmatch anlegen, Veto spielen. Die Karte zeigt danach einen Gameserver beim Host mit den meisten freien Plätzen. 2. Ein Testmatch anlegen, Veto spielen. Die Karte zeigt danach einen Gameserver beim Host mit den meisten freien Plätzen.
3. Im Serverpanel des Matches steht die Adresse des Hosts (`Server <Host>:<Port>`). 3. Im Serverpanel des Matches steht die Adresse des Hosts (`Server <Host>:<Port>`).
@@ -111,7 +111,7 @@ Die Anwendung liest die `.env` nur beim Start. Also: Anwendung stoppen und wiede
| `Permission denied (publickey)` | Der Schlüssel fehlt auf dem Rechner. `ssh-copy-id` erneut ausführen. | | `Permission denied (publickey)` | Der Schlüssel fehlt auf dem Rechner. `ssh-copy-id` erneut ausführen. |
| `docker: permission denied` | Der Benutzer ist nicht in der Gruppe `docker`. Auf dem Rechner: `sudo usermod -aG docker cs2`, danach neu anmelden. | | `docker: permission denied` | Der Benutzer ist nicht in der Gruppe `docker`. Auf dem Rechner: `sudo usermod -aG docker cs2`, danach neu anmelden. |
| Das Skript meldet wenig freien Platz | Speicher freimachen oder `/var/lib/docker` auf eine größere Platte verlegen. CS2 braucht rund 90 GB. | | Das Skript meldet wenig freien Platz | Speicher freimachen oder `/var/lib/docker` auf eine größere Platte verlegen. CS2 braucht rund 90 GB. |
| `Kein Docker-Host mit freien Ports` | Alle Hosts sind voll, oder die Ports sind belegt. Die Karte „Docker-Hosts“ zeigt, wo es hakt. | | `Kein Docker-Host mit freien Ports` | Alle Hosts sind voll, oder die Ports sind belegt. Einstellungen → Docker-Hosts zeigt, wo es hakt. |
| Ein Host fehlt in der Karte | Der Eintrag in `CS2_DOCKER_HOSTS` ist fehlerhaft. Die Anwendung meldet beim Start den Fehler, z. B. `CS2_DOCKER_HOSTS ist kein gültiges JSON`. | | Ein Host fehlt in der Karte | Der Eintrag in `CS2_DOCKER_HOSTS` ist fehlerhaft. Die Anwendung meldet beim Start den Fehler, z. B. `CS2_DOCKER_HOSTS ist kein gültiges JSON`. |
| Der erste Start dauert sehr lange | Das ist normal. Der Host lädt die CS2-Spieldateien (60 bis 90 GB). Spätere Starts sind schneller. Läuft die Startzeit ab, die Startzeit im Admin-Bereich erhöhen oder „Server neu starten / wiederholen“, der Download macht weiter. | | Der erste Start dauert sehr lange | Das ist normal. Der Host lädt die CS2-Spieldateien (60 bis 90 GB). Spätere Starts sind schneller. Läuft die Startzeit ab, die Startzeit im Admin-Bereich erhöhen oder „Server neu starten / wiederholen“, der Download macht weiter. |
| `port is already allocated` | Ein anderer Dienst belegt einen Port. Die Anwendung nimmt dann den nächsten freien. Dauerhaft belegte LAN-Ports per `lanPorts` ausnehmen. | | `port is already allocated` | Ein anderer Dienst belegt einen Port. Die Anwendung nimmt dann den nächsten freien. Dauerhaft belegte LAN-Ports per `lanPorts` ausnehmen. |
+2 -2
@@ -4,7 +4,7 @@ Messer-Server sind Gameserver, die keinem Match gehören und dauerhaft laufen. T
## Starten ## Starten
Im Admin-Bereich, Reiter **Matches**, Karte **Messer-Server (Seitenwahl)**: Im Admin-Bereich unter **Einstellungen → Gameserver → Messer-Server**:
1. Modus wählen: **Competitive 5 gegen 5** oder **Wingman 2 gegen 2**. 1. Modus wählen: **Competitive 5 gegen 5** oder **Wingman 2 gegen 2**.
2. Map wählen. Angeboten werden die Maps aus dem Map-Pool des Modus. 2. Map wählen. Angeboten werden die Maps aus dem Map-Pool des Modus.
@@ -19,7 +19,7 @@ Der Server braucht ein bis zwei Minuten, bis er „bereit“ ist. Es gibt höchs
## Für die Spieler ## Für die Spieler
- **Ohne Passwort.** Die Server stehen im LAN-Reiter von Steam, z. B. `MaxLAN | Messer 1 5v5 (Seitenwahl)`. - **Ohne Passwort.** Die Server stehen im LAN-Reiter von Steam, z. B. `Maxlan | Messer 1 5v5 (Seitenwahl)`.
- Auf der **Startseite** gibt es den Abschnitt „Messer-Server für die Seitenwahl“ mit Adresse und Knopf **Verbinden**. - Auf der **Startseite** gibt es den Abschnitt „Messer-Server für die Seitenwahl“ mit Adresse und Knopf **Verbinden**.
- Ablauf auf dem Server: Aufwärmphase zum Verbinden (`KNIFE_WARMUP_SECONDS`, Standard 90 Sekunden), dann eine Runde nur mit Messer, ohne Geld und ohne Kaufen. Danach startet das Spiel von selbst neu. - Ablauf auf dem Server: Aufwärmphase zum Verbinden (`KNIFE_WARMUP_SECONDS`, Standard 90 Sekunden), dann eine Runde nur mit Messer, ohne Geld und ohne Kaufen. Danach startet das Spiel von selbst neu.
+1 -1
@@ -39,7 +39,7 @@ Läuft auf einem Host schon etwas auf einem der Ports 27015–27020, schränkt m
## Servername ## Servername
Im Browser heißen die Server `MaxLAN | Team A vs. Team B`, Messer-Server `MaxLAN | Messer 1 5v5 (Seitenwahl)`. Den Anfang ändert `CS2_SERVERNAME_PREFIX`. Im Browser heißen die Server `Maxlan | Team A vs. Team B`, Messer-Server `Maxlan | Messer 1 5v5 (Seitenwahl)`. Den Anfang ändert `CS2_SERVERNAME_PREFIX`.
## Prüfen ## Prüfen