Opferlamm-Clan Board
www.opferlamm-clan.de
Verantwortlich für diese bösen Machenschaften: siehe Impressum

Registrierung Kalender Mitgliederliste Suche Häufig gestellte Fragen Zur Startseite

Opferlamm-Clan Board » Call of Duty-Board » CoD- und CoD:UO - Hilfe » CoD Linux Server automatisch starten » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen CoD Linux Server automatisch starten
Beiträge zu diesem Thema Autor Datum
 CoD Linux Server automatisch starten NoDino 04.03.2008 14:21
 RE: CoD Linux Server automatisch starten Kelli 04.03.2008 16:31
 RE: CoD Linux Server automatisch starten NoDino 04.03.2008 16:58
 RE: CoD Linux Server automatisch starten Kelli 04.03.2008 18:59
 RE: CoD Linux Server automatisch starten NoDino 05.03.2008 00:06
 RE: CoD Linux Server automatisch starten NoDino 06.03.2008 17:32
 RE: CoD Linux Server automatisch starten Kelli 07.03.2008 09:06
 RE: CoD Linux Server automatisch starten NoDino 07.03.2008 00:57
 RE: CoD Linux Server automatisch starten NoDino 07.03.2008 12:41

Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
NoDino
5-Minuten-Ei


images/avatars/avatar-1148.jpg


Dabei seit: 04.03.2008
Beiträge: 16


Fragezeichen CoD Linux Server automatisch starten Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,
ich möchte das mein CoD Gameserver automatisch beim Server restart gestartet wird.
Bzw. der Server über console cod start|stop|restart gesteuert werden kann.

Auf meinem Root Server läuft Linux Fedora Cora 6.

Folgendes Script habe ich hier im Forum gefunden und versucht für CoD1 anzupassen:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
#! /bin/sh
# /etc/init.d/cod

### BEGIN INIT INFO
# Provides:            CoD
# Default-Start:       2 3 5
# Default-Stop:        0 1 6
# X-UnitedLinux-Should-Start: network
# Description:         Start CoD server
### END INIT INFO

# Version 2 (11/12/2005)
# Copyright (c) 2005 Soenke Gluch
# [EMAIL]gluch@informatik.uni-bonn.de[/EMAIL]
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

###
# Settings
#
# server port
SrvPort="28960"
#
# rcon password
SrvRCONPwd="xxxxxx"
#
# logfile (this is NOT the games_mp.log file from the server!)
log="/var/log/cod/cod.log"
#
# user under which the server should run
user="root"
#
# path to the server
path="/home/gameserver/cod"
#
# the server executable
codX="$path/cod_lnxded"
#
# server parameters
params="+set fs_homepath $path +set net_port $SrvPort +pb_sv_enable 1 +exec cod1.cfg"
#
# timeout after that the server will be killed (in seconds)
timeout=20
#
###

./etc/rc.status
SrvIP="localhost"
case "$1" in
  start)
    echo -n "Starting CoD server"
    checkproc $codX && echo -n "(already running)" || su -c "cd $path && $codX $params 2> $log >&2" $user &
    rc_status -v
  ;;
  stop)
    echo -n "Shutting down CoD server"
    checkproc $codX || echo -n "(not running)" && echo "ÿÿÿÿrcon $SrvRCONPwd quit" | netcat -u -w1 $SrvIP $SrvPort 2> /dev/null >&2
    for ((i=0; i <= timeout ; i++)); do
      checkproc $codX || break && sleep 1
    done
    checkproc $codX && killproc $codX || echo -n
    rc_status -v
  ;;
  restart)
    $0 stop
    $0 start
    rc_status
  ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
  ;;
esac



(Das Script wird z.Zt. als root ausgeführt ... das kann ich wenns läuft ja noch ändern.)

Das Script habe ich unter: /etc/rc.d/init.d als cod abgespeichert.

Die Links habe ich wie folgt angelegt:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
ln -s /etc/init.d/cod /usr/local/bin/cod



Wenn ich nun versuche den CoD Server mit cod start zu starten bekomme ich folgende Fehlermeldung:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
/usr/local/bin/cod: line 59: /etc/rc.status: Datei oder Verzeichnis nicht gefunden



Desweiteren wird CoD beim Root-Server Reboot nicht automatisch gestarten.

Kann mich vielleicht jemand an die Hand nehmen, mir welche an den Hinterkopf hauen, und mir auf die Sprünge helfen?

Was mache ich Falsch?

Gruß NoDino

PS: Falls das hier im Forum schonmal geklärt wurde bitte nicht gleich schlagen ... Ich würde mich über weiterführende Links freuen.
NoDino ist offline E-Mail an NoDino senden Homepage von NoDino Beiträge von NoDino suchen Nehmen Sie NoDino in Ihre Freundesliste auf
Kelli
... sehr viel alleine


Dabei seit: 09.11.2006
Beiträge: 2.504


RE: CoD Linux Server automatisch starten Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:

Original von NoDino
Auf meinem Root Server läuft Linux Fedora Cora 6.
###

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
./etc/rc.status
SrvIP="localhost"



Wenn ich nun versuche den CoD Server mit cod start zu starten bekomme ich folgende Fehlermeldung:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
/usr/local/bin/cod: line 59: /etc/rc.status: Datei oder Verzeichnis nicht gefunden



Ich hab schon 4 Jahre kein RedHat^^^W Fedora mehr von innen gesehen, aber was mir auf den ersten Blick auffällt ist der Punkt bei ./etc/rc.status
Copy n Paste Fehler? Das sollte vermutlich /etc/rc.status heißen.

Ansonsten denke ich heute abend zu Hause mal darüber nach wie das bei Fedora gleich noch mal war... unglücklich

__________________
„ Allah ist Groß, und wir sind armselige Tröpfe mit unseren ganzen Wissenschaften Herrlichkeit.“

Dieser Beitrag wurde 420 mal editiert, zum letzten Mal von der Bundesregierung Niemand: Heute, 11:42.

https://kkde.de/scum/
Kelli ist offline Homepage von Kelli Beiträge von Kelli suchen Nehmen Sie Kelli in Ihre Freundesliste auf
NoDino
5-Minuten-Ei


images/avatars/avatar-1148.jpg


Dabei seit: 04.03.2008
Beiträge: 16


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo, danke für deine schnelle Antwort.

Jetzt habe ich mit:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
ln -s /etc/init.d/cod /etc/rc3.d/S98cod

noch einen Link in rc3.d geschrieben.

Nachdem ich jetzt im Script

./etc/rc.status

in

/etc/rc.status

geändert habe,
startet der Gameserver beim reboot automatisch.

In den Prozessen (ps -aux) steht folgendes:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
root      3150  0.0  0.0   4456   468 pts/0    S    16:44   0:00 /bin/sh /usr/local/bin/cod start
root      3154  0.0  0.0   9012  1892 pts/0    S    16:44   0:00 su -c cd /home/gameserver/cod && /home/gameserver/cod/cod_lnxded +set fs_homepath /home/gameserver/cod +set net_port 28960 +pb_sv_enable 1 +exec cod1.cfg 2> /var/log/cod/cod.log >&2 root
root      3155  0.0  0.0   4452   988 pts/0    S    16:44   0:00 bash -c cd /home/gameserver/cod && /home/gameserver/cod/cod_lnxded +set fs_homepath /home/gameserver/cod +set net_port 28960 +pb_sv_enable 1 +exec cod1.cfg 2> /var/log/cod/cod.log >&2
root      3156  1.9  1.3 152124 42216 pts/0    S    16:44   0:04 /home/gameserver/cod/cod_lnxded +set fs_homepath /home/gameserver/cod +set net_port 28960 +pb_sv_enable 1 +exec cod1.cfg

Ist das erstmal so richtig?

Wenn ich den Gameserver mit cod stop anhalten will bekomme ich folgende Fehlermeldung:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
/etc/rc.d/init.d$ cod stop
/usr/local/bin/cod: line 59: /etc/rc.status: No such file or directory
/usr/local/bin/cod: line 69: checkproc: command not found
/usr/local/bin/cod: line 71: checkproc: command not found
/usr/local/bin/cod: line 73: checkproc: command not found
/usr/local/bin/cod: line 74: rc_status: command not found
Shutting down CoD server(not running)

und der Gameserver läuft immer noch.

Wenn ich den Gameserver mit cod restart restarten will, verhält es sich ähnlich:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
/etc/rc.d/init.d$ cod restart
/usr/local/bin/cod: line 59: /etc/rc.status: No such file or directory
/usr/local/bin/cod: line 59: /etc/rc.status: No such file or directory
/usr/local/bin/cod: line 69: checkproc: command not found
/usr/local/bin/cod: line 71: checkproc: command not found
/usr/local/bin/cod: line 73: checkproc: command not found
/usr/local/bin/cod: line 74: rc_status: command not found
/usr/local/bin/cod: line 59: /etc/rc.status: No such file or directory
/usr/local/bin/cod: line 64: checkproc: command not found
/usr/local/bin/cod: line 65: rc_status: command not found
/usr/local/bin/cod: line 79: rc_status: command not found
Shutting down CoD server(not running)Starting CoD server

Okay, ich werde auch selbst nochmal versuchen etwas rauszufinden, warte aber sehr gern bis heute Abend wenn du dich nochmal melden würdest.
Danke schonmal.

Gruß
NoDino
NoDino ist offline E-Mail an NoDino senden Homepage von NoDino Beiträge von NoDino suchen Nehmen Sie NoDino in Ihre Freundesliste auf
Kelli
... sehr viel alleine


Dabei seit: 09.11.2006
Beiträge: 2.504


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ok, das ./etc/rc.status ist richtig mit dem punkt -nur leider gibt es das bei Fedora nicht. dieses rc.status liefert die Funktionen, bei Redhat heißt das

./etc/rc.d/init.d/functions

Du kannst jetzt aber vermutlich nicht einfach das rc.status ersetzen - die Funktionen heißen möglicherweise bei Fedora auch anders. Ich hab kein RedHat mehr zur Hand, deswegen kann ich dir da nicht wirklich weiterhelfen. entweder du versuchst es mal mit
./etc/rc.d/init.d/functions
oder passt dir was für RedHat anhand anderer Beispiele für CoD an:
http://www.webhostingtalk.nl/scripting-t...rver-start.html
http://www.pro-linux.de/t_multimedia/ttf.html
http://de.pastebin.ca/919346
http://www.google.de/linux?hl=de&q=%2Fet...tnG=Suche&meta=

Oder du probierst mal das:
Linux-Server: Starten per "Verknüpfung" / Nicht als Root starten
https://www.opferlamm-clan.de/?menu=234
Nicht so elegant, aber es sollte unter jeder Distri laufen.

*sorry* unglücklich

__________________
„ Allah ist Groß, und wir sind armselige Tröpfe mit unseren ganzen Wissenschaften Herrlichkeit.“

Dieser Beitrag wurde 420 mal editiert, zum letzten Mal von der Bundesregierung Niemand: Heute, 11:42.

https://kkde.de/scum/
Kelli ist offline Homepage von Kelli Beiträge von Kelli suchen Nehmen Sie Kelli in Ihre Freundesliste auf
NoDino
5-Minuten-Ei


images/avatars/avatar-1148.jpg


Dabei seit: 04.03.2008
Beiträge: 16


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich danke dir Trotzdem.

So ich hab mir jetzt mal ein Script zurechtgefummelt.
Ist nix tolles, sieht auch nich toll aus ... funktioniert aber erstmal kurzfristig.

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
#! /bin/sh
# OPTIONS: (start|stop|restart|status) #

# User Name
G_USER=cod

# Screen Name
NAME=cod

DESC="Call of Duty 1 Server"

PARAMS="+set dedicated 2 +pb_sv_enable 1 +exec cod1.cfg"

DIR=/home/gameserver/cod

SCRIPT=cod_lnxded

DAEMON=$DIR/$SCRIPT

case "$1" in
start)
if [[ `su $G_USER -c "screen -ls | grep $NAME"` ]]
then
echo "$DESC läuft bereits !!!"
else
echo "Starte den $DESC "
su $G_USER -c "cd $DIR; screen -d -m -S $NAME $DAEMON $PARAMS"
fi
;;

stop)
if [[ `su $G_USER -c "screen -ls | grep $NAME"` ]]
then
echo -n "Stoppe $DESC "
kill `ps aux | grep -i screen | grep -i $NAME | awk '{print $2}'`
echo " ... done."
else
echo "Kein laufenden $DESC gefunden!"
fi
;;

restart)
if [[ `su $G_USER -c "screen -ls | grep $NAME"` ]]
then
echo -n "Stoppe $DESC "
kill `ps aux | grep -i screen | grep -i $NAME | awk '{print $2}'`
echo " ... done."
else
echo "Kein laufenden $DESC gefunden!"
fi

echo -n "Starte $DESC"
su $G_USER -c "cd $DIR; screen -d -m -S $NAME $DAEMON $PARAMS"
echo " ... done."
;;

status)
ps aux | grep -v grep | grep cod > /dev/null
CHECK=$?
[ $CHECK -eq 0 ] && echo "$DESC ist ONLINE" || echo "$DESC ist OFFLINE"
;;
*)

echo "Benutze: $0 {start|stop|restart|status}"
exit 1
;;
esac

exit 0


In einer ruhigen Minute werde ich mal ein vernünftiges schreiben.

Damit läuft jetzt erstmal unser COD1 NostalgieServer.
Ihr seit bei uns jederzeit Herzlich Willkommen.

=[FDGU]= Freunde Der Guten Unterhaltung

Bis später
NoDino

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von NoDino: 06.03.2008 17:27.

NoDino ist offline E-Mail an NoDino senden Homepage von NoDino Beiträge von NoDino suchen Nehmen Sie NoDino in Ihre Freundesliste auf
NoDino
5-Minuten-Ei


images/avatars/avatar-1148.jpg


Dabei seit: 04.03.2008
Beiträge: 16


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Leute,
leider habe ich schon wieder oder immernoch ein Problem mit dem "Autostart"

Hier nochmal das Script welches ich verwende:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
#! /bin/sh
# OPTIONS: (start|stop|restart|status) #

# User Name
G_USER=cod

# Screen Name
NAME=cod

DESC="Call of Duty 1 Server"

PARAMS="+set dedicated 2 +pb_sv_enable 1 +exec cod1.cfg"

DIR=/home/gameserver/cod

SCRIPT=cod_lnxded

DAEMON=$DIR/$SCRIPT

case "$1" in
start)
if [[ `su $G_USER -c "screen -ls | grep $NAME"` ]]
then
echo "$DESC läuft bereits !!!"
else
echo "Starte den $DESC "
su $G_USER -c "cd $DIR; screen -d -m -S $NAME $DAEMON $PARAMS"
fi
;;

stop)
if [[ `su $G_USER -c "screen -ls | grep $NAME"` ]]
then
echo -n "Stoppe $DESC "
kill `ps aux | grep -i screen | grep -i $NAME | awk '{print $2}'`
echo " ... done."
else
echo "Kein laufenden $DESC gefunden!"
fi
;;

restart)
if [[ `su $G_USER -c "screen -ls | grep $NAME"` ]]
then
echo -n "Stoppe $DESC "
kill `ps aux | grep -i screen | grep -i $NAME | awk '{print $2}'`
echo " ... done."
else
echo "Kein laufenden $DESC gefunden!"
fi

echo -n "Starte $DESC"
su $G_USER -c "cd $DIR; screen -d -m -S $NAME $DAEMON $PARAMS"
echo " ... done."
;;

status)
ps aux | grep -v grep | grep cod > /dev/null
CHECK=$?
[ $CHECK -eq 0 ] && echo "$DESC ist ONLINE" || echo "$DESC ist OFFLINE"
;;
*)

echo "Benutze: $0 {start|stop|restart|status}"
exit 1
;;
esac

exit 0


Das Script soll unter dem Benutzer cod gestartet werden.
Wenn ich den ganzen Root-Server reboote und anschließend mit

cod status

den Status vom cod Server abfrage kommt

Call of Duty 1 Server ist ONLINE

mit ps -aux ist aber kein Prozess zu finden

nach cod restart finde ich den prozess auch und der Server läuft.

wo ist mein problem?
NoDino ist offline E-Mail an NoDino senden Homepage von NoDino Beiträge von NoDino suchen Nehmen Sie NoDino in Ihre Freundesliste auf
Kelli
... sehr viel alleine


Dabei seit: 09.11.2006
Beiträge: 2.504


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:

Original von NoDino
Das ist jetzt mein FUNKTIONIERENDES autostart|start|stop|restart & status script.

Super das du es hinbekommen hast.

Zitat:

Original von NoDino
Jetzt kann ich mich an den CoD4 Server wagen ... .. . OhGott

Eigentlich brauchst du nur Script, Params und Name anpassen, dann sollte es sofort gehen.

Du musst aber aufpassen wegen dem Name, das hier ist so nicht ideal:
# User Name
G_USER=cod

# Screen Name
NAME=cod

In dieser Zeile
kill `ps aux | grep -i screen | grep -i $NAME | awk '{print $2}'`
passiert nämlich folgendes:
- Suche nach Prozessen die unter screen laufen
- In diesen screen Prozessen alle killen in denen die Zeichenfolge "cod" vorkommt.

Wenn dein Benutzer "cod" heißt kann es passieren das dies auf alle Screen Fenster zu trifft (Wenn der Name des Benutzers statt der id zurückgegeben wird.) Deswegen mach den Namen eindeutig, srvcod-28960 , srvcod4-28961 oder ähnlich.

Hast du das mit dem Reboot getestet? Wenn der root rebootet ohne das der Server vorher angehalten wurde, kann es sein das die Datei
lockfile=/var/lock/subsys/cod
nach dem restart noch existiert. Denn die wird nur gelöscht wenn wenn du den Server ordentlich über stop anhälst. Ich bin mir aber nicht sicher, kann sein das Fedora beim start von selbst alles löscht was unter /var/lock/ liegt. Dann sollte es funktionieren wie gewollt.
Grins 1

__________________
„ Allah ist Groß, und wir sind armselige Tröpfe mit unseren ganzen Wissenschaften Herrlichkeit.“

Dieser Beitrag wurde 420 mal editiert, zum letzten Mal von der Bundesregierung Niemand: Heute, 11:42.

https://kkde.de/scum/
Kelli ist offline Homepage von Kelli Beiträge von Kelli suchen Nehmen Sie Kelli in Ihre Freundesliste auf
NoDino
5-Minuten-Ei


images/avatars/avatar-1148.jpg


Dabei seit: 04.03.2008
Beiträge: 16


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hiho,
ich hoffe ich Mülle euer Forum zu diesem Thema da letzte mal voll? Augenzwinkern

Das ist jetzt mein FUNKTIONIERENDES autostart|start|stop|restart & status script.

Läuft auf unserem Fedora Core 6 Root-Server unter dem cod User:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
#!/bin/bash
#
# source function library
. /etc/rc.d/init.d/functions

lockfile=/var/lock/subsys/cod

DIR=/home/gameserver/cod

SCRIPT=cod_lnxded

DAEMON=$DIR/$SCRIPT

# User Name
G_USER=cod
 
# Screen Name
NAME=cod

PARAMS="+exec cod1.cfg"

COD_OPTS="+pb_sv_enable 1 +exec cod1.cfg"


RETVAL=0

start() {
        echo -n $"CoD1 GameServer wird GESTARTET: "

        if [ -f $lockfile ] ; then
                echo "!!!---> CoD1 GameServer ist bereits [AKTIV] <---!!!"
                RETVAL=0
        else
                touch "$lockfile" && success || failure               
                su $G_USER -c "cd $DIR; screen -d -m -S $NAME $DAEMON $PARAMS" &                    
                RETVAL=$?
                echo
                fi
}

stop() {
        echo $"Stoppe CoD1 GameServer: "

        if [ -f $lockfile ] ; then                                
                kill `ps aux | grep -i screen | grep -i $NAME | awk '{print $2}'`
                rm -f "$lockfile" && success || failure
                echo "CoD1 GameServer ANGEHALTEN."
                RETVAL=0
        else
                echo "Kein laufenden CoD1 GameServer gefunden!"
                fi
        RETVAL=$?
        echo
}

restart() {
        stop
        start
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart|force-reload)
        restart
        ;;
  reload)
        ;;
  condrestart)
        [ -f "$lockfile" ] && restart
        ;;
  status)
        if [ -f $lockfile ]; then
                echo $"CoD1 GameServer [AKTIV]"
                RETVAL=0
        else
                echo $"CoD1 GameServer [INAKTIV]"
                RETVAL=3
        fi
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
        exit 1
esac

exit $RETVAL


Jetzt kann ich mich an den CoD4 Server wagen ... .. . OhGott traurig
NoDino ist offline E-Mail an NoDino senden Homepage von NoDino Beiträge von NoDino suchen Nehmen Sie NoDino in Ihre Freundesliste auf
NoDino
5-Minuten-Ei


images/avatars/avatar-1148.jpg


Dabei seit: 04.03.2008
Beiträge: 16


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Okay, das mit dem User- und Screennamen werde ich nochmal überarbeiten.

Zitat:

Original von Kellerkind
Hast du das mit dem Reboot getestet? Wenn der root rebootet ohne das der Server vorher angehalten wurde, kann es sein das die Datei
lockfile=/var/lock/subsys/cod
nach dem restart noch existiert. Denn die wird nur gelöscht wenn wenn du den Server ordentlich über stop anhälst. Ich bin mir aber nicht sicher, kann sein das Fedora beim start von selbst alles löscht was unter /var/lock/ liegt. Dann sollte es funktionieren wie gewollt.

Ja das habe ich getestet.
Fedora löscht das lockfile. Nach einem root reboot startet der CoD Server Ordnungsgemäß / auch wenn er vorher lief bzw. nicht gestopt wurde.

PS: Das Startscript für CoD4 macht mir jetzt eher weniger sorgen.
Mit Gruselt`s vor dem RIESEN upload der Daten ... .. .
NoDino ist offline E-Mail an NoDino senden Homepage von NoDino Beiträge von NoDino suchen Nehmen Sie NoDino in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Opferlamm-Clan Board » Call of Duty-Board » CoD- und CoD:UO - Hilfe » CoD Linux Server automatisch starten

Impressum ||Datenschutzerklärung

Forensoftware: Wbb - WoltLab GmbH || zum Archiv