Files

6.0 KiB
Raw Permalink Blame History

BLOCKLINE Windows Dedicated Server

Auf den Server kopieren und starten

  1. Das komplette ZIP in einen beschreibbaren Ordner entpacken, zum Beispiel C:\Games\BLOCKLINE-Server. Die EXE benötigt die übrigen Dateien im Paket.
  2. server.json mit einem Texteditor anpassen und speichern.
  3. Start-Server.exe doppelklicken oder im Terminal ausführen. Start-Server.cmd hält Fehlermeldungen beim Doppelklick offen.
  4. Auf SERVER READY warten. Beim ersten Start werden die Ressourcen importiert. Danach läuft der Server ohne Spielfenster; die Konsole zeigt Beitritte, Status und Rundenwechsel.
  5. 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, sofern discovery aktiv 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; 140 Zeichen
bind Lokale Netzwerkschnittstelle 0.0.0.0 = alle IPv4-Schnittstellen
port UDP-Spielport 27840; 102465535, außer 27841
mode Spielmodus TDM oder FFA
max_players Gesamtzahl der Spielerplätze 8; 28
bots Bots füllen bis zu dieser Gesamtzahl an Teilnehmern auf 8; 0max_players
difficulty Bot-Schwierigkeit 1; 0 Rekrut, 1 Soldat, 2 Veteran, 3 Elite
score_limit Punktelimit pro Runde 50; 1200
time_limit Rundenlänge in Sekunden 600; 601800
round_delay Ergebnisanzeige vor der Folgerunde, Sekunden 10; 3120
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.