• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

CS 1.6 Server in den Boot miteinbeziehen

Litrix

Newbie
Hallo Erstmal!

Ich habe mich einen CS Server aufgesetzt auf einer Linux Maschine ( Suse 9.0 )

Wie muss ich Vorgehen, und was brauche ich, das der Server Automatisch beim Booten Startet ?

Der Server lässt sich manuell starten
Er liegt unter usr/Steam/hlds_l/

Starten tu ich das mit dem kleinen Script
Code:
#!bin/bash

screen -S hlds ./hlds_run -game cstrike +ip 192.168.xxx.xxx +port 27015 +maxplayers 12 +map de_dust

Wohin muss das Skript?
Welche Rechte braucht es?
Wie muss ich es notfalls ändern ?

Und bitte es etwas genauer erklären!

Vielen Dank für dich Hilfe!!
 
Greifst Du auf Deinen Linux Server von remote via SSH zu?
Wenn ja, dann ich die Vorgehensweise mit Screen richtig, aber Du benötigst den Aufruf nicht, wenn Du ihn lokal startest, bzw. ihn automatisch mitstarten lässt.
Das Kommando +ip ... brauchst Du auch nicht unbedingt, Du kannst ihn eh nich fest an eine wechselnde dynamische Adresse binden, wie dies z. B. bei DSL mit 24h Trennung der Fall ist.
Die Port Angabe brauchst Du nur dann, wenn der Server nicht auf dem Standardport von 27015 laufen soll.
Du solltest auch beachten, dass die Anzahl der möglichen Spieler in erster Linie von der Bandbreite Deines Uploads abhängt. Über den Daumen gepeilt kannst Du sagen, dass bei 256kbit upstream mit 6 Spielern noch sauberes Zocken möglich ist, für 12 brauchst Du mindestens 512kbit ...

Jetzt zu dem interessanten Teil für Dich: (wo ich zugeben muss, dass ich das auch noch nicht ganz rausgefunden habe :lol: )
Du kannst folgendes Script anlegen:
Code:
cd /usr/Steam/hlds_l/
./hlds_run -game cstrike {+ip 192.168.xxx.xxx} +maxplayers 12 +map de_dust
cd /
und es in /etc/init.d/ ablegen (als root) und die Rechte zum Ausführen geben
dann z. B. in /etc/init.d/rc3.d/ einen symbolischen Link zu dem Scrip setzen, und dann orientierst Du Dich an den anderen Symlinks, um festzulegen, an welcher Stelle im Bootablauf das Script ausgeführt werden soll. Z. B. ganz zum Schluss von Runlevel 3, dann nennst Du den symlink S99hlds oder so ähnlich ...

Das einzige Problem ist, dann der Server dann als "root" aufgerufen wird, was nicht so ideal ist aus Sicherheitsgründen. Wie man in dem Script jetzt angibt, dass hlds_run unter einer anderen Benutzerkennung aufgerufen wird, weiss ich nicht, aber vielleicht kann ja jemand anderes aus dem Forum hier dazu seinen Senf dazugeben.
Ich wäre auch dankbar für diese Info ...

mfG
Marcus
 
OP
L

Litrix

Newbie
und es in /etc/init.d/ ablegen (als root) und die Rechte zum Ausführen geben

Ist Passiert

dann z. B. in /etc/init.d/rc3.d/ einen symbolischen Link zu dem Scrip setzen, und dann orientierst Du Dich an den anderen Symlinks, um festzulegen, an welcher Stelle im Bootablauf das Script ausgeführt werden soll. Z. B. ganz zum Schluss von Runlevel 3, dann nennst Du den symlink S99hlds oder so ähnlich ...

Gemacht mit demm befehl
ln -s /etc/init.d/hlds /etc/rc3.d/S90hlds

Er startet immer noch nicht denn server beim Start!
Was mache ich falsch?
 
Wenn Du SuSE 9.x verwendest, wovon ich mal ausgehe, dann hast Du lediglich den Symlink an der falschen Stelle platziert. (Glaube ich zumindest, ich bin grad auf der Arbeit und kanns nicht nachgucken, weil die 24h Zwangstrennung meines ISPs meinen Linux Router wieder offline gemacht hat)
Das Steuerverzeichnis für die Runlevels befindet sich in /etc/init.d/rc3.d
So muss der korrekte Befehl aussehen:
Code:
ln -s /etc/init.d/hlds /etc/init.d/rc3.d/S90hlds
Soweit ich weiss, läuft der hlds wohl als root und es gibt im Moment keine nennenswerten Sicherheitslücken, aber empfohlen wird, ihn als normaler user zu starten.
 
Oben