Counter-Strike Source Server installieren

veröffentlicht am 11. Juli 2011

Aufgrund dessen, dass meine Bachelor-Thesis abgegeben ist, habe ich nun wieder mehr Zeit und auch wieder Lust zum Zocken. Deshalb habe ich mir wieder einen Counter-Strike Source Server auf meinem vServer aufgesetzt. Die folgende Anleitung erklärt deshalb in kurzen Schritten, wie man den entsprechenden Server aufsetzt.

Zunächst legst du den Benutzer srcds an, wechselst zu diesem Benutzer und öffnest dessen Heimatverzeichnis:

useradd -m -s /bin/bash srcds
su - srcds
cd

Dann lädst dir dir das HLDS-Updatetool herunter, machst es ausführbar und startest es. Die EULA muss dabei mit yes bestätigt werden:

wget http://storefront.steampowered.com/download/hldsupdatetool.bin
chmod u+x hldsupdatetool.bin
./hldsupdatetool.bin

Unter Ubuntu 64-Bit trat bei mir der Fehler No such file or directory auf, was durch Installation des Pakets lib32gcc1 gelöst werden konnte:

aptitude install lib32gcc1

Danach können auch schon die Dateien für Counter-Strike Source heruntergeladen werden, was je nach Internetanbindung eine ganze Weile dauern kann:

./steam -command update -game "Counter-Strike Source" -dir .

Nachdem alle Dateien heruntergeladen sind, kann auch schon der Server gestartet werden. Hierzu muss in den Ordner orangebox gewechselt und der folgende Befehl ausgeführt werden:

cd orangebox
./srcds_run -game cstrike +map <Karte> -maxplayers <Anzahl> -autoupdate

Der Platzhalter <Karte> musst hierbei durch die initial zu startende Karte (z.B. de_dust) ersetzen werden (diese muss natürlich installiert sein). Der Parameter <maxplayers> legt hingegen fest, wieviele Spieler maximal an einem Spiel teilnehmen können.

Allerdings wird der Server gleich wieder gestoppt, sobald du dich abmeldest. Manuell kannst du den Server mit der Terminal-Emulation screen starten, sodass dieser auch weiterläuft, auch wenn du dich abmeldest.

Ich hab aber auch gleich mal ein Startscript parat, mit dem der Counter-Strike Source Server automatisch mit dem System gestartet werden kann:

#! /bin/bash

# Einstellungen
USERNAME=srcds
DIRECTORY=/home/srcds/orangebox
COMMAND="-console -game cstrike +map de_dust -maxplayers 8 -autoupdate"

# Ab hier nichts mehr ändern
case $1 in
        start)
                su - $USERNAME -c "cd $DIRECTORY; screen -AmdS srcds ./srcds_run $COMMAND"
                ;;
        stop)
                su - $USERNAME -c "screen -r srcds -X quit"
                ;;
        restart)
                $0 stop
                $0 start
                ;;
        *)
                echo "Usage: /etc/init.d/srcds {start|stop|restart}"
                ;;
esac

Dieses Script kopierst du nach /etc/init.d/srcds. Danach muss das Script ausführbar gemacht und in den Systemstart eingebunden werden:

chmod u+x /etc/init.d/srcds
update-rc.d srcds defaults

Die Einstellungen solltest du natürlich an deine eigenen Bedürfnisse anpassen. Ab sofort wird der Counter-Strike Source Server automatisch zusammen mit dem Betriebssystem gestartet und gestoppt. Um den Server jetzt manuell zu starten gibst du ein:

/etc/init.d/srcds start

Könnt ihr mir noch irgendwelche Plugins für den Server empfehlen? Ich werde wohl auf jeden Fall das Mani Admin Plugin installieren. Ansonsten stecke ich auch nicht so tief in der Materie, deshalb sind mir keine weiteren Plugins bekannt, die ich noch brauchen könnte.

Kommentare

Ich würde auf keinen Fall auf Mani setzen, da es viel zu unflexibel ist und aus bestimmten anderen Gründen.
Ich würde dir SourceMod ans Herz legen, damit bist du viel flexibler und hast nur dass auf dem Server was du brauchst.

MfG
Impact

Kommentar #1 von Impact am 14. Juli 2011


Ich hab Mani auch schon wieder von meinem Server geworfen… Die paar Befehle, die ich davon brauchte, kann ich auch per rcon absetzen.

Kommentar #2 von Patrick am 14. Juli 2011


SourceMod nutze ich auch schon eine zeitlang auf meinem Server. Dazu auch Eventscripts. Damit lassen sich alle Funktionen, die man benötigt, selbst zusammenstellen.

Mani würde ich niemals einsetzen. Dieses ist einfach zu aufgebläht und nicht flexibel genug.

Aber da du wahrscheinlich kein Admin Menü benötigst, ist die RCON Lösung sicher ausreichend. ;)

Kommentar #3 von Timo am 15. Juli 2011


Es lohnt sich, SourceMod mal zu testen. Man bekommt nichts fertiges, sondern stellt sich seine Administration nach eigenen Wünschen zusammen. Bei SM sind im Release-Paket wirklich nur die Standard-SM-Plugins für die Grundadministration vorhanden.

Eventscripts und SourceMod sind sich ziemlich ähnlich. Beides sind Plugins, die es erlauben in einer anderen Sprache als C++ eigene Plugins/Scripts zu schreiben. Durch die Abstraktion sind SourceMod-Plugins und Eventscripts nach Updates auch nicht so anfällig. Es muss lediglich SourceMod selbst und ggf. MM:S gefixt werden. Das machen die Entwickler recht schnell und man kann sich darauf verlassen, dass man nach gravierenden Änderungen innerhalb einer Woche wieder alles so hat, wie es mal früher war. Bei Mani hat sich leider des öfteren mal heraus gestellt, dass das Entwickler-Team nicht immer soviel Zeit aufbringen kann, wie die SourceMod-Entwickler. Selbst Matti war mit seinem Eventscripts-Plugin nach dem letzten Update etwas schneller als das Mani-Team.

Wenn man was fertiges will, nimmt man Mani. Möchte man gerne nichts vorgekautes haben und selbst alles einstellen, probiert man SM aus.

Der Vorteil bei SM-Plugins ist, dass sie für jedes OS einsetzbar sind, sofern diese keine Extensions benötigen. Die kompilierte smx-Datei bietet auch Geschwindigkeitsvorteile gegenüber den Eventscripts. Die Python-Eventscripts werden zwar auch in einen Zwischencode kompiliert, was aber nicht annähernd an die Performance von SourceMod-Plugins kommt.

Einziges Manko bei SM ist die Programmiersprache Source-Pawn (c ähnlich, aber beschnitten). Solange man selbst nicht Plugins entwickeln will, stellt das aber kein Problem dar. Die Community ist riesig und es kommen täglich neue Plugins hinzu.

Kommentar #4 von DeaD_EyE am 01. August 2011


Inzwischen habe ich schon keinen CS-Server mehr installiert, da ich und ein paar Kollegen nun mehr oder weniger regelmäßig Battlefield Bad Company 2 zocken :)

Kommentar #5 von Patrick am 01. August 2011


Hallo Patrick,

danke für die Anleitung. Ich hoffe du Supportest diese immernochm, denn ich habe eine Frage:
Wieso steht da, dass ich in den Ordner „orangebox“ wechseln soll? Bei mir existiert der nämlich garnicht.

Ich hoffe auf Antwort.

Kommentar #6 von Julian am 12. Mai 2012


Hallo Julian,

die Anleitung ist schon ein wenig älter. Soweit ich weiß, hat sich da inzwischen ein wenig geändert.
Ich habe momentan aber leider keine Zeit, um das Ganze zu prüfen. Im Netz wirst du aber sicherlich nach einer aktuellen Anleitung fündig.

Gruß
Patrick

Kommentar #7 von Patrick am 12. Mai 2012


Hallo Patrick,

danke für deine Antwort. Ich habe das Problem inzwischen gelöst.
Bis auf die Ordnerstruktur ist alles korrekt.

Anstatt /home/srcds/orangebox
muss man /home/srcds/css
verwenden.

Lg

Kommentar #8 von Julian am 12. Mai 2012


Immer wenn ich den Server Starte und danach noch drauf joine stürtz das server ab ?? wieso ?

Kommentar #9 von Cano am 25. März 2013


Moin Cano,

sorry, das kann ich so nicht beurteilen. Eventuell verfügt dein Server nicht über genügend Resourcen? Hast du schon in die Log Dateien geschaut (soweit ich mich erinnern kann, existiert ein logs Verzeichnis direkt im Server Verzeichnis (lange her, dass ich einen CSS Server betrieben habe).

Gruß
Patrick

Kommentar #10 von Patrick am 25. März 2013


hallo wie ist das wenn ich das rein mache und das startscript drin habe startet dann der server nach dem autoupdate den css server neu?

gruss
alexander

ps. verweden debian 6.0

Kommentar #11 von Alexander Lukas am 12. April 2013


Sorry, das ist zu lange her, dass ich einen CSS Server betrieben habe. Einfach ausprobieren.

Kommentar #12 von Patrick am 12. April 2013


Hinterlasse einen Kommentar