Der Counter-Strike-1.6-Server ist ein HLDS (Half-Life Dedicated Server, SteamCMD-App 90) mit dem Mod cstrike. Er ist schlank: Ein kleiner VPS genügt. Quellen: Vultr- und Gentoo-Anleitungen, Hoster-Guides und Pterodactyl-Eggs; das Valve-Wiki war nicht erreichbar, bitte gegenprüfen.
Installation Schritt für Schritt
Bereiten Sie eine Linux- (Ubuntu/Debian) oder Windows-Maschine vor; der Server ist sehr schlank.
Legen Sie einen Nicht-root-Benutzer (steam) an und installieren Sie SteamCMD mit den 32-Bit-Bibliotheken.
Installieren Sie HLDS mit app_set_config 90 mod cstrike und anschließend app_update 90 validate.
Führen Sie app_update 90 validate mehrfach aus, bis nichts mehr geladen wird (bekannte HLDS-Eigenheit).
Bearbeiten Sie cstrike/server.cfg (Tool „CS 1.6 server.cfg-Generator“) und cstrike/mapcycle.txt (Tool „mapcycle.txt-Editor“).
Starten Sie hlds_run -game cstrike (oder hlds.exe unter Windows) mit gewünschter Karte und Slots.
Öffnen Sie 27015 UDP und TCP (und 27020 UDP für HLTV) in ufw, beim Provider und im Router.
Testen Sie lokal (connect 127.0.0.1 in der Spielkonsole), dann von einer anderen Verbindung.
Erstellen Sie einen systemd-Dienst und planen Sie Updates und Backups.
Voraussetzungen
- System: Linux (Ubuntu/Debian) oder Windows. HLDS ist ein 32-Bit-Programm.
- Ressourcen: in den geprüften Quellen nicht offiziell festgelegt. Eine Maschine mit 1 vCPU und 1 GB RAM genügt meist für 16 bis 32 Slots ohne schwere Plugins (Schätzung, zu validieren).
- Konten: anonyme Installation. In den geprüften Quellen wird für HLDS kein GSLT-Token erwähnt.
- Community-Variante: ReHLDS (inoffiziell) ist eine weit verbreitete Alternative; diese Anleitung behandelt Valves HLDS.
Lokale Installation unter Windows
Entpacken Sie SteamCMD nach C:\steamcmd, installieren Sie HLDS (Update wiederholen, bis nichts mehr geladen wird) und starten Sie hlds.exe. Testen Sie mit connect 127.0.0.1 in der Counter-Strike-1.6-Konsole.
cd C:\steamcmd
steamcmd +force_install_dir C:\hlds +login anonymous +app_set_config 90 mod cstrike +app_update 90 validate +quit
steamcmd +force_install_dir C:\hlds +login anonymous +app_update 90 validate +quit
cd C:\hlds
hlds.exe -console -game cstrike +maxplayers 32 +map de_dust2Linux-VPS: Benutzer und Abhängigkeiten
sudo adduser steam
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 steamcmd
su - steamLinux-VPS: HLDS installieren
Mehrere Anleitungen (Vultr, Gentoo, Hoster) nennen mehrfaches Aktualisieren von HLDS: Der zweite und dritte Befehl wiederholen app_update 90 validate. Der Mod wird mit app_set_config 90 mod cstrike gewählt.
steamcmd +force_install_dir /home/steam/hlds +login anonymous +app_set_config 90 mod cstrike +app_update 90 validate +quit
steamcmd +force_install_dir /home/steam/hlds +login anonymous +app_update 90 validate +quit
steamcmd +force_install_dir /home/steam/hlds +login anonymous +app_update 90 validate +quitLinux-VPS: erster Start
Starten Sie hlds_run im Installationsordner. Der Server liest cstrike/server.cfg bei jedem Kartenwechsel und cstrike/mapcycle.txt für die Rotation; cstrike/liblist.gam beschreibt den Mod (zum Laden von Metamod siehe das Tool „liblist.gam-Editor“).
cd /home/steam/hlds
./hlds_run -console -game cstrike +ip 0.0.0.0 +port 27015 +maxplayers 32 +map de_dust2Zu öffnende Ports und Linux-Firewall (ufw)
Dies sind die üblichen HLDS-Werte (auf keiner geprüften offiziellen Seite bestätigt). Zum Ändern des Ports nutzen Sie +port N im Startbefehl und öffnen ihn statt 27015.
Öffnen Sie nur das Nötige und testen Sie von einer anderen Verbindung (nicht vom Server selbst).
- 27015/udp: Spiel (HLDS-Standardport)
- 27015/tcp: RCON
- 27020/udp: HLTV (optional)
sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw allow 27020/udp
sudo ufw enable
sudo ufw statusWindows-Firewall (netsh)
Erstellen Sie in einer Administrator-Eingabeaufforderung pro Port eine eingehende Regel (oder öffnen Sie „Windows Defender Firewall mit erweiterter Sicherheit“).
netsh advfirewall firewall add rule name="Counter-Strike 1.6 27015 UDP" dir=in action=allow protocol=UDP localport=27015
netsh advfirewall firewall add rule name="Counter-Strike 1.6 27015 TCP" dir=in action=allow protocol=TCP localport=27015
netsh advfirewall firewall add rule name="Counter-Strike 1.6 27020 UDP" dir=in action=allow protocol=UDP localport=27020Provider-Firewall und Portweiterleitung (Router)
Bei einem Hoster (OVH, Hetzner, Scaleway …) öffnen Sie dieselben Ports zusätzlich in der Firewall bzw. „Security Group“ des Anbieters: ufw genügt nicht, wenn eine vorgelagerte Firewall existiert. Zu Hause richten Sie im Router für jeden Port eine Weiterleitung (NAT) auf die lokale IP des Rechners ein (statisch oder per DHCP reserviert).
Test: Fügen Sie den Server von einer anderen Verbindung als „IP:Port“ im Serverbrowser von Counter-Strike 1.6 oder in der Konsole hinzu. Schlägt das fehl, prüfen Sie der Reihe nach: Dienst läuft, lokale Firewall, Provider-Firewall, NAT-Weiterleitung.
Autostart: systemd-Dienst
Erstellen Sie /etc/systemd/system/cs16.service (als root) und aktivieren Sie ihn. Passen Sie Benutzer und Pfade an; Logs mit journalctl -u cs16 -f.
[Unit]
Description=Counter-Strike 1.6 dedicated server
After=network-online.target
Wants=network-online.target
[Service]
User=steam
WorkingDirectory=/home/steam/hlds
ExecStart=/home/steam/hlds/hlds_run -console -game cstrike +ip 0.0.0.0 +port 27015 +maxplayers 32 +map de_dust2
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
# then:
# sudo systemctl daemon-reload
# sudo systemctl enable --now cs16Windows: geplante Aufgabe beim Start
Unter Windows startet eine geplante Aufgabe Ihr .bat-Skript beim Systemstart (Befehl in einer Administrator-Eingabeaufforderung ausführen).
schtasks /Create /TN "Counter-Strike 1.6 server" /TR "C:\hlds\start-cs16.bat" /SC ONSTART /RU SYSTEM /RL HIGHESTUpdates, Backups und geplante Neustarts
Stoppen Sie den Dienst vor dem Update (derselbe SteamCMD-Befehl wie bei der Installation), sichern Sie Konfigurations- und Datendateien regelmäßig und planen Sie einen täglichen Neustart, falls der Server mit der Zeit nachlässt.
sudo systemctl stop cs16
steamcmd +force_install_dir /home/steam/hlds +login anonymous +app_update 90 validate +quit
sudo systemctl start cs16
# backup
tar czf ~/cs16-$(date +%F).tar.gz -C /home/steam/hlds cstrike/server.cfg cstrike/mapcycle.txt cstrike/liblist.gam cstrike/addons cstrike/banned.cfg cstrike/listip.cfg
# daily restart at 05:00 (root crontab: sudo crontab -e)
0 5 * * * systemctl restart cs16Server eintragen und finden
Tragen Sie Ihren Server auf https://game-rank.com/jeux/counter-strike-1-6 ein, damit die Community ihn sieht. Im Spiel finden Sie ihn über den Serverbrowser oder per direkter Verbindung mit IP:Port.
Fehlerbehebung: häufige Fehler
- Fehlende Dateien oder Server startet nach der Installation nicht: HLDS ist für eine unvollständige Erstinstallation bekannt. Lösung: app_update 90 validate (mit app_set_config 90 mod cstrike) zwei- bis dreimal wiederholen.
- Der Server hängt beim Kartenwechsel: Eine in mapcycle.txt aufgeführte Karte fehlt in cstrike/maps/. Lösung: Prüfen Sie, ob jede .bsp existiert, oder entfernen Sie die Zeile.
- Server von außen nicht erreichbar: Der Dienst läuft, aber niemand kann sich verbinden. Ursache: geschlossener Port (ufw, Provider-Firewall oder fehlende NAT-Weiterleitung). Lösung: Die oben genannten Ports auf allen drei Ebenen öffnen und von einer anderen Verbindung testen.
- Port beim Start bereits belegt: Eine andere Instanz hält den Port. Lösung: Prozesse mit ss -lunp | grep 27015 auflisten, die alte Instanz beenden oder jedem Server per -port einen eigenen Port geben.
- SteamCMD „Failed to install app“ oder hängender Download: häufige Ursache sind volle Platte oder fehlende Ordnerrechte. Lösung: df -h und Ordnerbesitzer prüfen, dann den Befehl mit validate erneut ausführen (ggf. mehrfach).
- srcds_run: „No such file or directory“ oder fehlende 32-Bit-Bibliothek: Der Source-Server ist ein 32-Bit-Programm. Lösung: i386-Architektur aktivieren (dpkg --add-architecture i386) und lib32gcc-s1 sowie lib32stdc++6 installieren.
Häufige Fragen
- Wie lautet die SteamCMD-ID des CS-1.6-Servers?
- HLDS ist App 90; der Mod wird mit +app_set_config 90 mod cstrike vor +app_update 90 validate gewählt.
- Wohin gehören Metamod oder AMX Mod X?
- Diese Community-Module liegen in cstrike/addons/, und Metamod wird über die Zeile gamedll_linux (bzw. gamedll) in cstrike/liblist.gam geladen. Folgen Sie der Dokumentation der gewählten Distribution; das Tool „liblist.gam-Editor“ ändert diese Zeile.
- Darf ich den Server als root starten?
- Nicht empfohlen: Legen Sie einen eigenen Benutzer (z. B. steam) ohne Admin-Rechte an und installieren und starten Sie den Server damit. Eine Schwachstelle im Server oder Plugin gefährdet dann nicht die ganze Maschine.
- Mein Counter-Strike 1.6-Server erscheint nicht in der Liste: Was prüfen?
- Prüfen Sie zuerst, ob die Ports auf allen Ebenen offen sind, der Server nicht im LAN-Modus läuft (sv_lan 0) und, falls das Spiel es verlangt, ein gültiges Server-Token (GSLT) angegeben ist. Die Steam-Liste braucht einige Minuten zur Aktualisierung; verbinden Sie sich solange per IP:Port.
