Eine Anleitung, wie man einen Left 4 Dead 2 Server mit Mods sowohl auf Windows als auch auf Linux erstellt und betreibt!
Left 4 Dead 2 ist ein beliebter Ego-Shooter und Zombie-Horror-Titel, der in einer post-apokalyptischen Welt spielt, die von Zombies überrannt wurde. Dieses Spiel bietet großartige Modding-Unterstützung, und viele Mods sind über den Steam Workshop oder über SourceMod Plugins verfügbar.
Das Betreiben eines Servers mit Mods ermöglicht es Spielern, sich zu verbinden und ein gemeinsames, angepasstes Erlebnis mit den auf dem Server installierten Mods zu genießen.
Die beiden Betriebssysteme, auf die wir uns in diesem Guide speziell konzentrieren, sind Windows 11 und Debian 12 (Linux).
Ich wollte ein paar Dinge anmerken, bevor wir mit diesem Guide fortfahren.
- Die Begriffe
directory(bekannt unter Linux) undfolder(bekannt unter Windows) werden austauschbar verwendet. Um es einfach zu halten, verwenden wir in den meisten Fällen directory. - Ebenso verwenden wir im gesamten Guide Dateipfade, die wie
/so/hieraufgebaut sind. Dieses Format wird unter Linux verwendet, aber unter Windows müssen Sie den Dateipfad stattdessen wie\so\hieraufbauen.
Requirements
Hardware & Netzwerk
Left 4 Dead 2 Server sind im Vergleich zu Servern in anderen Spielen wie Minecraft und Rust ziemlich leicht in Bezug auf den RAM-Verbrauch. Standardmäßig können bis zu vier Spieler gleichzeitig spielen, wenn Spielmodi wie COOP, Scavenge und mehr laufen, während Versus bis zu acht Spieler gleichzeitig unterstützen kann. Es gibt SourceMod-Plugins, die die maxplayers des Servers auf bis zu 32 erhöhen können!
Für Informationen zu den Hardware- und Netzwerkanforderungen empfehle ich, den folgenden Beitrag zu lesen.
https://moddingcommunity.com/blog/hardware-network-requirements-for-source-engine-servers/
Port Forwarding
Wenn Sie planen, Ihren Server über das Internet zugänglich zu machen, müssen Sie möglicherweise sowohl UDP- als auch TCP-Ports 27015 über Ihren Router weiterleiten. Dieser Guide behandelt Port Forwarding nicht im Detail. Ich wollte jedoch andere hilfreiche Anleitungen bereitstellen, wie man die eben genannten Ports weiterleitet.
- NordVPN - How to open ports on your router
- No-IP - How to Port Forward – General Guide to Multiple Router Brands
- PortForward - How To Forward a Port
Wenn Ihr LAN-Netzwerk als NAT-Netzwerk betrieben wird, müssen Sie möglicherweise auch eine NAT-Regel erstellen.
Herunterladen der Serverdateien
Der nächste Schritt ist das Herunterladen der Serverdateien mit SteamCMD. Lesen Sie den folgenden Beitrag und denken Sie daran, dass die Anwendungs-ID des Left 4 Dead 2 Servers 222860 ist.
https://moddingcommunity.com/blog/how-to-download-run-steamcmd/
Den Left 4 Dead 2 Server ausführen
Um Zeit zu sparen, werden wir Start-Skripte für den Left 4 Dead 2 Server erstellen. Wir erstellen Skripte für sowohl Linux als auch Windows, die den Server mit der Karte c8m1_apartment starten, welche das erste Level der No Mercy Kampagne ist. Der Server wird an alle IP-Adressen und Schnittstellen (0.0.0.0) auf UDP-Port 27015 gebunden.
Windows
Beim Betrachten der neuen Serverdateien über den Datei-Explorer sollten Sie eine Datei namens srcds.exe sehen.
Wir werden eine Batch-Datei/Skript mit dem Namen start-server.bat erstellen, um den Server zu starten. Bevor Sie diese Datei erstellen, müssen Sie sicherstellen, dass Sie die Dateierweiterung setzen können, indem Sie sicherstellen, dass Sie Erweiterungen in Dateinamen anzeigen können. Wenn Sie Dateierweiterungen nicht anzeigen können, lesen Sie hier.
Nachdem Sie die Batch-Datei erstellt haben, fügen Sie den folgenden Inhalt hinzu.
@echo off
.\srcds.exe -game left4dead2 -console -ip 0.0.0.0 -port 27015 +maxplayers 4 +map c8m1_apartment
Sie sollten jetzt in der Lage sein, die neu erstellte Batch-Datei zu doppelklicken, um den Server zu starten!
Linux
Nachdem Sie durch Ausführen von cd ~/l4d2 oder ähnlichem zum Verzeichnis der Serverdateien navigiert sind, sollten Sie die Dateien srcds_run und srcds_linux im Verzeichnis sehen. Wir werden ein einfaches Bash-Skript erstellen, um den Server zu starten.
Es gibt viele verschiedene Arten von Texteditoren, mit denen Sie das Skript erstellen können, wie Nano und Vim, in diesem Tutorial verwenden wir Nano. Wir werden das Skript start-server.sh nennen.
Verwenden Sie zunächst den folgenden Befehl, um mit der Bearbeitung der neuen Datei zu beginnen.
nano start-server.sh
Fügen Sie anschließend den folgenden Inhalt in die Datei ein.
#!/bin/bash
./srcds_run -game left4dead2 -console -ip 0.0.0.0 -port 27015 +maxplayers 4 +map c8m1_apartment
Wenn Sie fertig sind, drücken Sie CTRL + X und Enter, um die Datei zu speichern. Wenn Sie den Inhalt der Datei sehen möchten, können Sie cat start-server.sh ausführen.
Sobald Sie die Datei gespeichert haben, möchten Sie dem Benutzer auch die Berechtigung geben, die Datei auszuführen, was mit dem folgenden Befehl erfolgen kann.
chmod u+x start-server.sh

Schließlich können Sie den Server mit dem folgenden Befehl starten.
./start-server.sh

HINWEIS - Sie sollten eine Meldung VAC secure mode is activated sehen, sofern Sie VAC nicht ausdrücklich deaktiviert haben. Wenn Sie möchten, dass der Server über das Internet zugänglich ist, sollten Sie außerdem eine Meldung Public IP is <your WAN IP> sehen, die im obigen Screenshot entfernt wurde.
Um den Server zu stoppen, können Sie den Befehl quit über die Serverkonsole ausführen oder CTRL + C drücken, was ein Signal zum Beenden des Serverprozesses sendet.
Screen verwenden
Sobald installiert, kannst du auch den Befehl screen verwenden, um den Server laufen zu lassen, ohne das Linux-Terminal offen halten zu müssen (im Hintergrund). Ich empfehle, dich über den Befehl screen hier einzulesen.
Lass uns zuerst das screen-Paket installieren. Möglicherweise musst du dich vom aktuellen servers-Benutzer über den Befehl exit abmelden, da der Befehl als root oder über sudo ausgeführt werden muss.
Debian/Ubuntu
sudo apt install -y screen

Kopiere als Nächstes den Server-Startbefehl und füge screen -S <name> davor ein. Hier ist ein Beispiel.
screen -S l4d2 ./srcds_run -game left4dead2 -console -ip 0.0.0.0 -port 27015 +maxplayers 4 +map c8m1_apartment
Dadurch wird der Server innerhalb eines Screens gestartet. Du kannst dich standardmäßig mit CTRL + A + D vom Screen trennen.
Um dich mit dem Screen zu verbinden, kannst du entweder screen -r ausführen (wenn nur ein Screen geöffnet ist, wird automatisch zu diesem einen Screen verbunden) oder screen -r <name>. Im obigen Befehl haben wir einen Screen namens l4d2 erstellt. Daher können wir den folgenden Befehl verwenden, um uns per Namen mit dem Screen zu verbinden.
screen -r l4d2
Du kannst auch das Start-Skript des Servers ändern und screen -S <name> ähnlich wie oben davor einfügen, damit das Skript den Server automatisch in einem Screen startet.
Server-Konfigurationsdateien erstellen
Der nächste Schritt ist, den Server zu konfigurieren, indem zwei Dateien erstellt werden; autoexec.cfg und server.cfg. Die autoexec.cfg wird verwendet, um den Spieltyp des Servers festzulegen (z. B. COOP, Versus usw.) und wird nur einmal beim Serverstart ausgeführt, während die Datei server.cfg allgemeine Informationen wie den Hostnamen (der Anzeigename im Server-Browser) enthält und bei jedem Mapstart ausgeführt wird. Beide Dateien befinden sich im Verzeichnis left4dead2/cfg.
Das Konfigurationsformat, das Left 4 Dead 2 in diesen Dateien verwendet, ist <ConVar> "<Value>".
Füge den folgenden Inhalt in die Datei autoexec.cfg ein.
sv_gametypes "coop,survival"
Die ConVar sv_gametypes steuert, welche Spieltypen der Server ausführt. Du kannst aus den Werten coop, realism, survival, versus, scavenge, dash, holdout und shootzone wählen. Du kannst auch mehrere angeben, indem du die Werte mit Kommas (,) trennst. Beispiel: coop,versus,survival.
HINWEIS - Du kannst den Wert der ConVar sv_gametypes auch über den Start-Befehl des Servers setzen, indem du +sv_gametypes <...> hinzufügst. Ich persönlich bevorzuge jedoch die Verwendung der Datei autoexec.cfg, da es Fälle gibt, in denen du den Zugriff auf die Befehlszeile für bestimmte Benutzer einschränken möchtest, denen du dennoch die Möglichkeit geben willst, die Spieltypen des Servers und Ähnliches zu ändern.
Füge als Nächstes den folgenden Inhalt in die Datei server.cfg ein und passe die Werte der ConVars nach deinen Bedürfnissen an.
hostname "My Server Name"
sv_password ""
rcon_password "CHANGEME"
- Der
hostnameist der Name des Servers, der im Server-Browser oder auf externen Websites zu sehen ist (alles, was den Server über A2S-Abfragen abfragt). - Das
sv_passwordist das Passwort, das Spieler eingeben müssen, bevor sie dem Server beitreten. Wenn es leer gelassen wird, erscheint beim Beitreten zum Server keine Passwortabfrage. - Das
rcon_passwordist das Passwort, das für den RCON-Zugriff erforderlich ist. Dieses Passwort sollte nur vertrauenswürdigen Personen/Mitarbeitern bekannt sein, da Benutzer mit diesem Passwort Serverbefehle ausführen können, sofern sie remote auf den TCP-Port zugreifen können, auf dem RCON läuft.
Es gibt auch viele weitere ConVars, die dir in Left 4 Dead 2 gefallen könnten und die du über die Datei server.cfg setzen kannst! Hier ist eine gute Liste der ConVars in Left 4 Dead 2.
Performance-ConVars
Es gibt einige ConVars, die du setzen kannst, um die Performance des Servers zu verbessern, abhängig von deiner Netzwerkgeschwindigkeit, verfügbaren Bandbreite und Server-Hardware.
Lies dir den folgenden Abschnitt des zuvor verlinkten Guides durch!
https://moddingcommunity.com/blog/how-to-install-update-sourcemod-metamod/
Wie man den Left 4 Dead 2 Server moddet
Es gibt zwei Methoden, um einen Left 4 Dead 2 Server zu modden.
Die gängigste Methode ist, SourceMod und MetaMod auf dem Server zu installieren und SourceMod-Plugins zu installieren.
Die weniger gängige Methode ist, Items über den Left 4 Dead 2 Workshop zu abonnieren und ein Tool wie dieses zu verwenden, um die Dateien des Addons zu extrahieren und diese dann dem Server hinzuzufügen.
Es wird empfohlen, SourceMod und MetaMod zu verwenden, um deinen Left 4 Dead 2 Server zu modden, da dabei deutlich mehr Plugins und Funktionalität zur Verfügung stehen.
SourceMod- & MetaMod-Plugins installieren
Zuerst musst du SourceMod herunterladen und auf deinem Left 4 Dead 2 Server installieren. Ich empfehle, den folgenden Guide zu lesen, den ich vor einiger Zeit dazu erstellt habe!
https://moddingcommunity.com/blog/how-to-install-update-sourcemod-metamod/
Als Nächstes möchtest du Plugins hier finden. Normalerweise enthält die Beschreibung des Plugins Details zur Installation des Plugins. Die folgenden Punkte sind jedoch eine gute Faustregel.
- Dateien mit der Dateierweiterung
.spenthalten den Quellcode des Plugins, geschrieben in SourcePawn. - Dateien mit der Dateierweiterung
.smxsind der kompilierte Quellcode und sollten im Verzeichnisaddons/sourcemod/pluginsabgelegt werden. - Dateien, die
games.txt(oder etwas wiel4d2.txt) im Dateinamen enthalten, sind normalerweise Gamedata-Dateien und sollten im Verzeichnisaddons/sourcemod/gamedataabgelegt werden. - Dateien, die
phrases.txtim Dateinamen enthalten, sind Übersetzungsdateien und sollten im Verzeichnisaddons/sourcemod/translationsabgelegt werden. - Dateien mit den Dateierweiterungen
.sooder.dllsind meist SourceMod-Erweiterungen und sollten im Verzeichnisaddons/sourcemod/extensionsabgelegt werden.
In manchen Fällen musst du eventuell den Quellcode der Plugins kompilieren. Lies das folgende Thema für Anweisungen, wie man das macht!
https://moddingcommunity.com/blog/how-to-compile-sourcemod-plugins/
Verwendung des Steam Workshops
In manchen Fällen ist ein gewünschter Mod nur über den Steam Workshop verfügbar. Das ist häufig bei benutzerdefinierten Kampagnen der Fall. Leider unterstützen Left 4 Dead 2 Server den Steam Workshop nicht nativ, im Gegensatz zu anderen Spielen wie Garry's Mod.
Daher müssen wir die Dateien aus dem/den Workshop-Item(s) extrahieren und sie den Serverdateien hinzufügen.
Eine Collection erstellen
Das Erste, was wir tun wollen, ist eine Collection zu erstellen. Das kannst du entweder direkt in der Steam-Anwendung oder über die Steam-Website machen. In dieser Anleitung verwenden wir die Steam-Anwendung (beide haben im Allgemeinen die gleiche Oberfläche).
Navigiere zunächst zu Community -> Workshop.

Als Nächstes gibst du Left 4 Dead 2 dort ein, wo "Search for a Workshop" steht. Du kannst das Item aus dem Dropdown-Menü anklicken.

Klicke nun auf das Browse-Dropdown-Menü in der linken Bildschirmmitte und wähle Collections.

Klicke anschließend auf Create Collection.

Du solltest nun alle Felder auf der Seite ausfüllen. In dieser Anleitung wird der Titel einfach "Test Collection" lauten.

Klicke abschließend auf die Schaltfläche Save and continue unten rechts, um die Collection zu erstellen.

Notiere dir von hier aus die numerische Collection-ID, die in der Steam-URL-Leiste nach ?id= zu finden ist. Wir werden sie später benötigen.

Zum Beispiel ist die Collection-ID der folgenden URL 3386575566.
https://steamcommunity.com/sharedfiles/managecollection/?id=3386575566
HINWEIS - Wenn die Collection veröffentlicht und für andere sichtbar ist, können Benutzer alle Mods/Addons der Collection mit einem Klick abonnieren.
Items zur neuen Collection hinzufügen
Finde entweder ein Workshop-Item, das du der Collection hinzufügen möchtest, indem du den Left 4 Dead 2 Workshop hier durchsuchst, oder verwende einen direkten Link zu dem Item.
Klicke von hier aus auf die Schaltfläche Add to Collection.

Dadurch erscheint eine Checkbox-Liste aller Collections, die dir gehören. Achte darauf, die Collection anzuhaken, der das Item hinzugefügt werden soll, und klicke auf Ok.

Collection veröffentlichen
Gehe nun zurück zu der Collection, die du erstellt hast, und veröffentliche sie, indem du auf die Schaltfläche Publish klickst.

Die Dateien des Addons extrahieren
Es wird empfohlen, dieses Tool zu verwenden, um die Dateien jedes Addons innerhalb einer Collection zu extrahieren.
Dieses Tool wurde mit Python erstellt und ich empfehle, diesen Artikel für die Installation von Python auf Windows und diesen für die Installation von Python auf Linux zu lesen.
Du kannst das Tool entweder direkt von GitHubs Website hier herunterladen oder git clone https://github.com/Geam/steam_workshop_downloader verwenden, wenn Git auf deinem System installiert ist.
Nachdem du Python installiert und das Tool herunterladen hast, führe den folgenden Befehl aus.
./workshop.py <Collection ID>
Wobei <Collection ID> die ID ist, die wir oben ermittelt haben. Zum Beispiel:
./workshop.py 3386575566
Auf Windows musst du dem obigen Befehl möglicherweise python vorausstellen, so wie hier.
python .\workshop.py <Collection ID>
Nachdem das erledigt ist, solltest du *.vpk-Dateien sehen.

Lade/kopiere diese Dateien nun in das addons/-Verzeichnis deines Servers und starte den Server neu!
Wenn der Server neu gestartet wird, sollten die VPK-Dateien, die du dem addons/-Verzeichnis hinzugefügt hast, automatisch gemountet werden. Wenn benutzerdefinierte Kampagnen hinzugefügt wurden, musst du die Dateinamen der Maps kennen, die mit der Dateiendung bsp enden, um Maps laden zu können. Falls du diese Information nicht findest, kannst du ein Tool wie GCFScape verwenden, um Dateien aus den VPK-Dateien zu extrahieren. Von dort aus kannst du die Namen der Map-Dateien finden.
Zusätzlich kannst du den Befehl show_addon_metadata verwenden, um Informationen über gemountete Addons anzuzeigen. Nachdem ich zum Beispiel die benutzerdefinierte Kampagne Resident Evil: Side A zu meinem Linux L4D2 Server hinzugefügt habe, sehe ich Folgendes, wenn ich den Befehl auf meinem Server ausführe.
show_addon_metadata
MISSION: re2birkina (/home/servers/l4d2/left4dead2/addons/762591677.vpk)
Mit dem Server verbinden
Lass uns nun mit dem Server verbinden! Du kannst dich entweder über den Server Browser mit dem Server verbinden, indem du openserverbrowser in der Developer Console ausführst, oder dich direkt mit deinem Server verbinden.
Um deine Entwicklerkonsole zu öffnen, drücke die ` oder ~-Taste auf deiner Tastatur. Falls deine Entwicklerkonsole nicht funktioniert, ist sie wahrscheinlich deaktiviert und du musst hier nachlesen, wie man sie aktiviert!
Wenn du dich direkt mit dem Server verbinden möchtest, benötigst du die IPv4-Adresse oder den Hostnamen, mit dem du dich verbinden willst. Wenn dein Server über einen dedizierten Hosting-Anbieter läuft, solltest du die benötigte IPv4-Adresse/den Hostnamen an mehreren Stellen finden können, unter anderem den folgenden.
- Über das Webpanel deines Hosting-Anbieters.
- Über die öffentliche IP, die beim Start des Servers angezeigt wird.
HINWEIS - Eine IPv4-Adresse hat das Format xxx.xxx.xxx.xxx, während ein Hostname entweder ein Name oder eine Domain ist (z.B. myserver oder myserver.mydomain.com).
Wenn du dich direkt auf dem Server befindest oder der Server lokal gehostet wird, kannst du die IP des Servers auch ermitteln, indem du dir deine Netzwerkschnittstellen + IPs mit den Befehlen ip a oder ifconfig unter Linux bzw. ipconfig /all unter Windows (Eingabeaufforderung oder PowerShell verwenden) anzeigen lässt.
Nachdem du die IP gefunden hast, starte Left 4 Dead 2 und drücke die Taste \ (oder ~) auf deiner Tastatur, um die Entwicklerkonsole zu öffnen.
Wenn die Entwicklerkonsole angezeigt wird, gibst du connect <ip/hostname> oder connect <ip/hostname>:<port> ein. Da wir den Server an den Standard-Port von Left 4 Dead 2, 27015, gebunden haben, müssen wir in diesem Fall keinen Port angeben.
Ich werde den internen Hostnamen meines Servers verwenden, der in meinem Heimnetzwerk einfach x-gs01 lautet.
connect x-gs01

Du solltest nun mit deinem Left 4 Dead 2 Server verbunden sein! Du kannst status in deiner Entwicklerkonsole eingeben, um dies zu bestätigen.

Häufig gestellte Fragen
Ich erhalte einen "Invalid Platform"-Fehler beim Herunterladen über SteamCMD.
Wenn du diesen Fehler unter Linux beim Herunterladen der Left 4 Dead 2 Serverdateien erhältst, bist du wahrscheinlich auf dieses Problem gestoßen, das Ende 2024 aufgrund einer Änderung von Steam auftrat.
Soweit ich herausgefunden habe, gibt es zwei Lösungen für dieses Problem.
-
Verwende deine Steam-Zugangsdaten beim Einloggen über SteamCMD. Wenn du den Befehl
loginin dieser Anleitung ausführst, gib deinen Steam-Benutzernamen, gefolgt von einem Leerzeichen und dann deinem Passwort ein. Z.B.login whoz MEINPASSWORT. -
Führe SteamCMD zweimal über einen einzigen Befehl aus, zunächst mit Windows und schließlich mit Linux, was das Problem löst.
# Use Windows as platform path really quick.
./steamcmd.sh +force_install_dir ../l4d2 +@sSteamCmdForcePlatformType windows +quit
# Finally use Linux which should then start the download successfully.
./steamcmd.sh +force_install_dir ../l4d2 +@sSteamCmdForcePlatformType linux +app_update 222860 +quit
Wie füge ich mich selbst oder andere als Admin auf dem Server hinzu?
Wenn du SourceMod und MetaMod auf deinem Left 4 Dead 2 Server installiert hast, kannst du dich selbst oder andere als Admin hinzufügen.
Für die Schritte, wie das geht, lies bitte das folgende Thema!
https://moddingcommunity.com/blog/how-to-manage-user-permissions-in-sourcemod/
Wie zeige und bearbeite ich Dateierweiterungen in Windows?
Um versteckte Dateierweiterungen in Windows 11 anzuzeigen, klicke im Explorer auf Ansicht -> Anzeigen und stelle sicher, dass die Option Dateinamenerweiterungen aktiviert ist.
Dieser Vorgang ist bei anderen Windows-Versionen sehr ähnlich.
Um Dateinamenerweiterungen bei anderen Windows-Versionen anzuzeigen, empfehle ich, diese Anleitung anzusehen!
Kann ich ein Skript erstellen, um die Serverdateien automatisch zu aktualisieren?
Ja, das ist möglich!
Lies den folgenden Abschnitt der zuvor verlinkten Anleitung! Denke daran, dass die App-ID des Left 4 Dead 2 Servers 222860 ist!
https://moddingcommunity.com/blog/how-to-download-run-steamcmd/#automation-with-script-files
Wie aktiviere ich die Entwicklerkonsole?
Standardmäßig ist die Entwicklerkonsole in Left 4 Dead 2 nicht aktiviert.
Um sie zu aktivieren, starte Left 4 Dead 2 und klicke auf den Menüpunkt Optionen. Klicke dann im Dropdown-Menü auf den Punkt Tastatur & Maus.

Aktiviere dann die Option Entwicklerkonsole zulassen, indem du sie von Deaktiviert auf Aktiviert umschaltest.
Klicke abschließend auf den Button Fertig!
Du solltest nun in der Lage sein, die Konsole durch Drücken oder Halten der ` oder ~-Taste auf deiner Tastatur zu öffnen.

Siehe auch
Ich wollte einfach noch ein paar hilfreiche Ressourcen und Tools für Serverbetreiber bereitstellen, die ihre Verwaltungserfahrung in Left 4 Dead 2 verbessern möchten.
- Pterodactyl - Ein sehr populäres Open-Source-Gameserver-Panel für Linux, das Tools bereitstellt, um Server in Spielen wie Left 4 Dead 2, Counter-Strike, Rust, Minecraft, FiveM und mehr einfach zu erstellen und zu verwalten.
Fazit
Damit wäre diese Anleitung abgeschlossen, aber ich hoffe, in Zukunft noch viele weitere Anleitungen zu erstellen! An diesem Punkt sollte dein Left 4 Dead 2 Server mit einem oder mehreren installierten Mods/Addons funktionieren.
Falls du Fragen oder Feedback zu dieser Anleitung hast, antworte bitte auf das dazugehörige Forumsthema hier! Diese Anleitung wird im Laufe der Zeit weiter bearbeitet und verbessert.
Tritt unserem Discord-Server bei!

