6.0 KiB
BLOCKLINE – Windows Dedicated Server
Auf den Server kopieren und starten
- Das komplette ZIP in einen beschreibbaren Ordner entpacken, zum Beispiel
C:\Games\BLOCKLINE-Server. Die EXE benötigt die übrigen Dateien im Paket. server.jsonmit einem Texteditor anpassen und speichern.Start-Server.exedoppelklicken oder im Terminal ausführen.Start-Server.cmdhält Fehlermeldungen beim Doppelklick offen.- Auf
SERVER READYwarten. Beim ersten Start werden die Ressourcen importiert. Danach läuft der Server ohne Spielfenster; die Konsole zeigt Beitritte, Status und Rundenwechsel. - Im Spiel MULTIPLAYER → DIRECT CONNECT öffnen und die IPv4-Adresse des Servers eingeben, beispielsweise
192.168.178.50:27840. Auf demselben Rechner:127.0.0.1:27840. Im selben LAN wird der Server außerdem in JOIN GAME angekündigt, soferndiscoveryaktiv ist und Broadcasts durchkommen.
Die Engine ist enthalten; Git, ein GitHub-Konto und eine separate Godot-Installation sind nicht erforderlich. Zielsystem: Windows x64 mit .NET Framework 4.x (4.8 empfohlen). Der Start erfolgt ohne Grafikoberfläche und ohne GPU-Anforderung. Der Ordner muss für Konfiguration, Importcache und Logs beschreibbar sein.
Einstellungen
| Schlüssel | Bedeutung | Standard / Bereich |
|---|---|---|
server_name |
Anzeigename | BLOCKLINE Dedicated; 1–40 Zeichen |
bind |
Lokale Netzwerkschnittstelle | 0.0.0.0 = alle IPv4-Schnittstellen |
port |
UDP-Spielport | 27840; 1024–65535, außer 27841 |
mode |
Spielmodus | TDM oder FFA |
max_players |
Gesamtzahl der Spielerplätze | 8; 2–8 |
bots |
Bots füllen bis zu dieser Gesamtzahl an Teilnehmern auf | 8; 0–max_players |
difficulty |
Bot-Schwierigkeit | 1; 0 Rekrut, 1 Soldat, 2 Veteran, 3 Elite |
score_limit |
Punktelimit pro Runde | 50; 1–200 |
time_limit |
Rundenlänge in Sekunden | 600; 60–1800 |
round_delay |
Ergebnisanzeige vor der Folgerunde, Sekunden | 10; 3–120 |
discovery |
Server im LAN per Broadcast ankündigen | true oder false |
Der Server selbst belegt keinen Spielerplatz. Bei bots: 8 und max_players: 8 starten acht Bots; Menschen ersetzen sie beim Beitritt. Geht ein Mensch, füllt ein Bot den freien Platz wieder. Bei bots: 0 wartet der Server ohne Bots auf Menschen. Nach Rundenende bleiben die Clients verbunden, Punkte und Spielerzustand werden zurückgesetzt und die nächste Runde auf Relay District beginnt automatisch.
Einstellungen werden beim Start gelesen. Zum Ändern den Server mit stop + Enter oder Strg+C beenden, JSON bearbeiten und neu starten. Das Beenden schließt die Verbindungen; auch beim Schließen des Konsolenfensters bleibt kein Engine-Prozess absichtlich im Hintergrund zurück.
Kommandozeile
Optionen überschreiben die JSON-Einstellungen nur für diesen Start. Für Werte mit Leerzeichen das gesamte Argument in Anführungszeichen setzen.
.\Start-Server.exe --help
.\Start-Server.exe --port=27840 --mode=FFA --max-players=8 --bots=4 --difficulty=2
.\Start-Server.exe "--name=Freunde LAN" --score-limit=75 --time-limit=900 --round-delay=10
.\Start-Server.exe "--config=C:\Games\Server Settings\server.json"
.\Start-Server.exe --bots=0 --discovery=false --run-for=20
--run-for beendet einen Testlauf nach der angegebenen Zahl an Sekunden ab Serverbereitschaft. Ohne diese Option läuft der Server weiter. stop + Enter oder Strg+C beendet ihn jederzeit. Rückgabecodes: 0 regulär beendet, 1 Start-/Enginefehler, 2 ungültige Serverkonfiguration. Protokolle liegen in logs/server-*.log; Importprotokolle in logs/server-import-*.log.
Netzwerk auf dem Windows-Server
Der Server verwendet UDP, kein TCP. Der konfigurierte Spielport muss in der Windows-Firewall und gegebenenfalls in der Firewall des Serveranbieters erreichbar sein. Für die automatische LAN-Suche wird zusätzlich UDP 27841 für Broadcasts verwendet; Direct Connect benötigt diese Suche nicht.
Beispiel einer selbst ausführbaren Firewallfreigabe in einer PowerShell als Administrator auf dem Zielserver:
New-NetFirewallRule -DisplayName "BLOCKLINE Spielserver UDP" -Direction Inbound -Action Allow -Protocol UDP -LocalPort 27840
Bei anderem Spielport den Wert anpassen. Das Paket verändert Firewall oder Router nicht selbst. Hinter einem Router muss für Verbindungen von außen derselbe UDP-Port an den Server weitergeleitet werden; bei gemieteten Servern die Anbieter-Firewall berücksichtigen. Öffentliche IP-Adressen funktionieren über Direct Connect. Die automatische Suche bleibt auf das LAN beschränkt.
Für automatischen Start nach Windows-Neustart kann Start-Server.exe über die Windows-Aufgabenplanung mit einem passenden Benutzer und dem entpackten Ordner als Arbeitsverzeichnis gestartet werden. Die EXE ist ein Konsolenprogramm, kein Windows-Dienst; sie registriert keine Dienste oder Autostarts.
Versionen und Updates
Das Serverpaket startet seinen enthaltenen, festen Spielstand und aktualisiert sich nicht während des Betriebs. Für ein Serverupdate beenden, ein neu gebautes Paket entpacken, eigene Einstellungen aus server.json übernehmen und neu starten. Clients sollten denselben Spielstand verwenden. Der Client-Auto-Updater bezieht seinen Stand weiterhin von GitHub main; lokal neue Serverfunktionen werden erst nach Veröffentlichung der Spielquellen auf GitHub an diese Clients verteilt.
Paket erneut erstellen
Im Projekt launcher/Build-Server.ps1 kompiliert die Server-EXE. server/Build-Package.ps1 -OutputDirectory <Zielordner> erstellt das portable Verzeichnis und ZIP samt Engine. Beide Werkzeuge benötigen die vorhandene Engine unter tools/godot/. Godot-Lizenzhinweise sind in third-party/, Quellen der Spieltexturen in assets/CREDITS.md enthalten.
Aktuelle Spielmodi
--mode=TDM, --mode=FFA, --mode=DOM (Domination) und --mode=KC (Kill Confirmed) werden unterstützt. In server.json entsprechend mode setzen. Server und Clients müssen denselben Projektstand verwenden. Lokale Clientänderungen mit Start-Local.cmd starten.