Sie sind nicht angemeldet.

DeaD_EyE

Administrator

  • »DeaD_EyE« ist der Autor dieses Themas

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

1

Donnerstag, 20. Januar 2011, 17:16

Änderungen beim SRCDS_RUN für Orangebox

Aufgrund einer Anfrage von Terrorkarotte aus unserem Moderatoren-Team, wurde die srcds_run abgeändert.
Es ist jetzt möglich den Server zu starten, ohne sich im gleichen Verzeichnis zu befinden.
Alte Startscripts, die weiterhin den Befehl "cd" verwenden, um vor dem Serverstart in das Verzeichnis zu wechseln, werden wie gewohnt funktionieren.

Wenn das aktuelle Verzeichnis '/home/irgendwas' ist und der Server in '/home/irgendwas/server123/orangebox', kann dieser nun mit '/home/irgendwas/server123/orangebox/srcds_run -game cstrike -ip ###.###.###.### -port ##### +map de_dust' gestartet werden. Der srcds_run wechselt automatisch in das Serververzeichnis. Da dieser in einer Subshell gestartet wird, bleiben auch Startscripts vom Verzeichniswechsel unbetroffen.

Der hinzugefügte Code für den Verzeichniswechsel:

Quellcode

1
cd "`dirname "$0"`"

Der Befehl 'dirname "$0"' gibt das Verzeichnis des Startscripts aus.
Da $0 in Anführungszeichen eingeschlossen ist, funktioniert das ganze auch mit Leerzeichen in Verzeichnisnamen.
Anhand der Kommandosubstitution (darüber gab es auch eine Diksussion im Thread der HLDS-Mailing-List) wird die Ausgabe von dirname "$0" in das Script eingesetzt. Damit das ganze auch mit Leerzeichen weiterhin funktioniert, wurde das ganze nochmals in Anführungszeichen gesetzt.

Man könnte es auch so schreiben: cd "$(dirname "$0")" (POSIX Kommandosubstitution)
Die beiden Backslahes im Originalcode sollen die Shell anscheinend vor der falschen Interpretation der Anführungszeichen schützen. Da ich keine Bourne Shell habe, kann ich das damit leider nicht testen. Sicherlich wurde auch das aus Kompatibilitätsgründen so gewählt.

Desweiteren wurde die Überprüfung hinzugefügt, ob der User Root ist, mit dem der srcds gestartet werden soll. Falls ja, kommt diese Meldung:

Zitat




************** WARNING ***************
Running the dedicated server as root
is highly discouraged. It is generally
unnecessary to use root privileges to
execute the dedicated server.
**************************************


The server will continue to launch in 10 seconds
The server will continue to launch in 9 seconds
The server will continue to launch in 8 seconds
The server will continue to launch in 7 seconds
The server will continue to launch in 6 seconds
The server will continue to launch in 5 seconds
The server will continue to launch in 4 seconds
The server will continue to launch in 3 seconds
The server will continue to launch in 2 seconds
The server will continue to launch in 1 seconds


Danach wird der Server mit Root-Rechten gestartet. Das soll unerfahrene Admins davon abhalten, ihren Server mit Root-Rechten zu starten. Vielleicht hätten sie noch den Hinweis hinzufügen sollen, dass man den Startvorgang mit CTRL+C abbrechen kann.

Hier der hinzugekommene Originalcode:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
cd "`dirname "$0"`"

if test `id -u` -eq 0; then
        echo
        echo
        echo "************** WARNING ***************"
        echo "Running the dedicated server as root  "
        echo "is highly discouraged. It is generally"
        echo "unnecessary to use root privileges to "
        echo "execute the dedicated server.         "
        echo "**************************************"
        echo
        echo
        timeout=10
        while test $timeout -gt 0; do
                echo -n "The server will continue to launch in $timeout seconds\r"
                timeout=`expr $timeout - 1`
                sleep 1
        done
fi


PS: Es bringt also doch etwas sich vernünftig mit einzubringen. Die Stimmen wurden erhört und "it's done".

Koffein

Fortgeschrittener

Beiträge: 353

Rootserver vorhanden: Nein

  • Nachricht senden

2

Donnerstag, 20. Januar 2011, 19:05

Re: Änderungen beim SRCDS_RUN für Orangebox

6 Tage später eine Änderung, da bewegt sich was ;)

Vielleicht sollte ich mal eine Verbesserung der Grafik vorschlagen :shaem2:

MadMakz

Super Moderator

Beiträge: 1 878

Wohnort: ~#

Rootserver vorhanden: Ja

  • Nachricht senden

3

Freitag, 21. Januar 2011, 00:26

Re: Änderungen beim SRCDS_RUN für Orangebox

Nice Terror! ;)

Und jetzt wo ich es sehe/höre wunder es mich das dieses "problem" erst nach knapp 6 jahren srcds angesprochen wurde XD

4

Freitag, 21. Januar 2011, 09:35

Re: Änderungen beim SRCDS_RUN für Orangebox

Die allermeisten schimpfen und meckern zwar wie die Weltmeister über Valve, aber selber den Arsch hochzubekommen und dann auch noch einen konstruktiven Vorschlag zu machen ist für viele viel zu viel.
Mir ist die Geschichte auch erst jetzt aufgefallen. Nur habe ich dann im Gegensatz zu den anderen, die Diskussion auf der Mailingliste mal angestoßen und ein Beispiel gegeben, wie man es lösen könnte.
Die Diskussion hat dann gleich Schwächen meines Vorschlages aufgezeigt und Änderungsvorschläge.

Das Ergebnis war auf jedenfalls, dass Valve nicht einmal eine Woche, nachdem ich das Ganze ins Rollen gebracht hatte, umgesetzt hat. Und dazu kann ich nur sagen Hut ab, dass sie so schnell auf konstruktive Kritik reagieren.
Webbasierender Config Ersteller: www.ulrich-block.de für CS 1.6, CSS, DODS und TF2.

Ebenso wird werden verschiedene Debian Gameserverkernel zum Download angeboten.

5

Freitag, 21. Januar 2011, 10:21

Re: Änderungen beim SRCDS_RUN für Orangebox

sehr schön! klar, das sind schnell gemachte änderungen, aber die machen uns das leben doch einfacher.

generell sollte man valve doch überhaupt mal positiv anrechnen, dass sie für ein so altes spiel wie cs:s immer noch updates bringen und es gar kürzlich auf eine neue engine portiert haben. und das ganz ohne geld für das update zu verlangen.
http://fpsmeter.org
http://wiki.fragaholics.de (Linux Kernel HOWTO!)
http://www.fragaholics.de

Bitte keine technischen Fragen per PM!

6

Freitag, 21. Januar 2011, 20:19

Re: Änderungen beim SRCDS_RUN für Orangebox

Nice Terrorkarotte :right: :right:


7

Sonntag, 27. Februar 2011, 13:08

Hmmm ich versteehe das net bei mir kommt der Fehler auch also diese Meldung und der Server Will dann einfach net Starten?

Was muss ich machne?

Koffein

Fortgeschrittener

Beiträge: 353

Rootserver vorhanden: Nein

  • Nachricht senden

8

Sonntag, 27. Februar 2011, 17:44

Den Text hier komplett gelesen?
Diese Meldung wird angezeigt damit unerfahrene Admins, ihre Server nicht als Root-User starten.
Die Meldung dient zum Schutz der Allgemeinheit.

Also, was kannst du tun?
Füge einen neuen Benutzer zu deinem System hinzu und starte dann mit diesem deinen Server.
Unter Linux "adduser NAME" ....
Dann logst du dich mit dem ein und startest den Server.