Da ich nirgendwo eine aktuelle und detaillierte Anleitung fand, einen CS:GO Server aufzusetzen, dachte ich mir ich beschreibe das hier. Allerdings betreibe ich den Server nicht als Dienst, sondern “on Demand” da durch den günstigen vServer meine Ressourcen beschränkt sind. Fangen wir also an:
SteamCMD installieren
The Steam Console Client or SteamCMD is a command-line version of the Steam client.Its primary use is to install and update various dedicated servers available on Steam using a command-line interface.
Heißt also kurz: Ein Kommandozeilenprogramm des Steam Clients. Dieses wird benötigt, damit man den Source dedicated Server(srcds) herunterladen kann.
Zuerst brauchen wir die GCC support library:
apt-get install lib32gcc1
Da dringend davon abgeraten wird, steamcmd und später auch srcds als root auszuführen, erstellen wir einen neuen user, einen ordner für steamcmd und einen ordner, in dem der server später installiert werden soll. Außerdem wechseln wir auf unseren neuen user und navigieren ins steamcmd Verzeichnis.
useradd csgoserver mkdir /var/steamcmd mkdir /var/csgoserver chown csgoserver:root /var/csgoserver su csgoserver cd /var/steamcmd
Nun laden wir uns steamcmd herunter und entpacken es:
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz tar -xvpzf steamcmd_linux.tar.gz
Quelle: SteamCMD
Srcds herunterladen
Vor einiger Zeit musste man sich mit seinem Steamaccount bei steamcmd einloggen um es benutzen zu können. Man kann jetzt allerdings den user anonymous nutzen.
Steamcmd starten und einloggen:
sudo ./steamcmd.sh
Jetzt sollte sich die Konsole öffnen und folgendermaßen aussehen:
Steam>
Falls es bei “Checking for updates 0%” hängen bleibt, einfach die firewall aus schalten.
login anonymous
Nun sollte eine Bestätigung erscheinen, dass man sich erfolgreich eingeloggt hat.
Als nächstes muss man den Installationsordner festlegen. In unserem Fall /var/csgoserver
force_install_dir /var/csgoserver
(Falls eine Fehlermeldung o.Ä. erscheint, einfach ein weiteres mal ausführen.)
Jede App, die man herunterladen kann, hat seine eigene ID. Steam Application IDs
In unserem Fall 740 für CS:GO dedicated Server. Das “validate” am ende ist notwendig, da man nicht nur updaten möchte.
app_update 740 validate
Jetzt sollte sich srcds selbstständig installieren.
Quelle: CS:GO Dedicated Server
Server konfigurieren
Wenn die Installation abgeschlossen ist, starten wir ersteinmal den Server.
cd /var/csgoserver ./srcds_run
Mit STRG+C ersteinmal beenden, weil wir nun einige Einstellungen vornehmen müssen.
Der Server würde so wie er jetzt ist, nur im localen Netz funktionieren, da man sich zuerst ein Token generieren lassen muss, sodass der Server mit einem Steamaccount verknüpft ist. Der Account muss folgendefolgende Voraussetzungen erfüllen:
- CS:GO muss gekauft und vorhanden sein
- Keine aktiven Auschließungen
- Telefonnummer muss eingetragen und verifiziert sein (zB. SMS-Verfizierung)
Token erstellen
WICHTIG:
Wenn ihr das Token erstellt, müsst ihr die ID 730 benutzen.
Wenn ihr das Token habt, erstellt ihr eine server.cfg im cfg Verzeichnis.
nano /var/csgoserver/csgo/cfg/server.cfg
Dort tragt ihr folgendes ein:
server.cfg:
sv_setsteamaccount *hier token einfügen* hostname "Beispielserver Moledu.de " sv_timeout 60 rcon_password "pass" mp_autoteambalance 0 mp_limitteams 2
Der Server läuft auf port 27015 UDP/TCP, allerdings müssen einige mehr Ports geöffnet werden, da (warum auch immer) es sonst nicht funktioniert.
Wenn ihr iptables nutzt, müssen folgende Regeln gesetzt werden:
iptables -A INPUT -p udp -m udp --sport 27000:27030 --dport 1025:65355 -j ACCEPT iptables -A INPUT -p udp -m udp --sport 4380 --dport 1025:65355 -j ACCEPT iptables -A INPUT -p tcp --dport 27015-27018 -j ACCEPT
Nun könnt ihr eine shell datei irgendwo erstellen, die den Server als user csgoserver startet. Dort tragt ihr dann folgendes ein:
#!/bin/sh su -c "/var/csgoserver/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active -port 27015 -steamport 27018 -tickrate 128" /bin/sh csgoserver
Das offene Fenster könnt ihr dann mit STRG+A D detatchen. Dazu braucht ihr allerdings “screen”. Zum attatchen einfach screen -r eingeben.
Genauere Infos zu gamemodes, tickrate usw könnt ihr hier nachlesen:
Klick
Fertig 🙂
Viel Spaß beim spielen.
Moledu