Hallo erstmal,
versuche seit ein paar Tagen auf unserem Strato-Root-Server 2 CoD2 Server
zum laufen zu bringen.
Wenn man einen Prozess startet legt der Root oder CoD2 ein verstecktes Verzeichnss im Root an : /root/callofduty2
Dort liegt dann pb und der erste Server läuft somit ohne Probleme.....
Zum Problem:
Sobald Ich nen 2ten Server starte hat dieser keinen Punkbuster,
da auch dieser Server versucht auf das versteckte Verzeichniss zuzugreifen.
Habe schon versucht bei den Startparametern +set fs_homepath /root/.callofduty1 als Homepath anzugeben.
Dort habe Ich auch ein Verzeichniss erstellt und den PB ordner reingehauen.
Jedoch funktioniert es nie richtig.
Zu meiner Frage:
Was genau ist fs_homepath & was genau fs_basepath
Hat vlt jemand nen Startscript + Erklärung was wo eingetragen wird?
Mein Startscript :
ZitatAlles anzeigenclear
DIR=/home/cod-29000
DAEMON=$DIR/cod_lnxded
PARAMS="-cod_lnxded +exec test.cfg +set dedicated 2 +set net_port 29000 +set sv_punkbuster 1 +map_rotate"
NAME=cod2
case "$1" in
start)
if [[ `screen -ls |grep $NAME` ]]
then
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
cd $DIR
screen -dmS $NAME $DAEMON $PARAMS
else
cd $DIR
screen -dmS $NAME $DAEMON $PARAMS
fi ;;
stop)
if [[ `screen -ls |grep $NAME` ]]
then
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
fi ;;
*)
exit 1
esac
exit 0
Leider reicht mir dieses Startscript nicht aus da kein base&homepath angegeben wird.
2tes Startscript:
ZitatAlles anzeigen#!/bin/sh
PORT="30000"
HOMEDIR="/home/cod-30000"
BASEDIR="/home/"
COMMAND="cod2_lnxded +set fs_basepath $BASEDIR/ +set fs_homepath $HOMEDIR/ +set dedicated 2 +set net_port $PORT +set sv_punkbuster 1 +exec test.cfg +map_rotate"
LOGFILE=$HOMEDIR/server.log
INITPIDFILE=$HOMEDIR/pid/init.pid
PIDFILE=$HOMEDIR/pid/cod.pid
case "$1" in
start)
if test -f $INITPIDFILE ; then
echo "Startscript lauft schon";
elif test -f $PIDFILE ; then
echo "Server laeuft schon";
echo "Nix zu tun";
else
echo Starte Server Port $PORT
$0 fork > $HOMEDIR/output$PORT.log 2>$HOMEDIR/output$PORT.log &
echo $! > $INITPIDFILE
disown
fi
;;
stop)
if test -f $INITPIDFILE ; then
if ps -p `cat $INITPIDFILE` | grep start-29000 1> /dev/null 2> /dev/null ; then
echo killing start-29000
kill -TERM `cat $INITPIDFILE` 1> /dev/null 2> /dev/null
sleep 2
kill -9 `cat $INITPIDFILE` 1> /dev/null 2> /dev/null
fi
rm $INITPIDFILE
else
echo Finde das Startscript nicht.
fi
if test -f $PIDFILE ; then
if ps -p `cat $PIDFILE` | grep cod2_lnxded 1> /dev/null 2> /dev/null ; then
echo killing cod2_lnxded
echo nun ist Schluss mit Zocken
kill -TERM `cat $PIDFILE` 1> /dev/null 2> /dev/null
sleep 2
kill -9 `cat $PIDFILE` 1> /dev/null 2> /dev/null
fi
rm $PIDFILE
else
echo Hab den Server nicht gefunden
echo Nix zu tun
fi
;;
restart)
$0 stop
$0 start
;;
check)
if test -f $INITPIDFILE ; then
if ! ps -p `cat $INITPIDFILE` | grep start-30000 $1> /dev/null 2> /dev/null ; then
if test -f $PIDFILE ; then
if ps -p `cat $PIDFILE` | grep ucc 1> /dev/null 2> /dev/null ; then
kill -TERM `cat $PIDFILE` 1> /dev/null 2> /dev/null
sleep 2
kill -9 `cat $PIDFILE` 1> /dev/null 2> /dev/null
fi
rm $PIDFILE
fi
rm $INITPIDFILE
$0 start > /dev/null
fi
else
if test -f $PIDFILE ; then
if ps -p `cat $PIDFILE` | grep cod2_lnxded 1> /dev/null 2> /dev/null ; then
kill -TERM `cat $PIDFILE` 1> /dev/null 2> /dev/null
sleep 2
kill -9 `cat $PIDFILE` 1> /dev/null 2> /dev/null
fi
rm $PIDFILE
fi
$0 start > /dev/null
fi
;;
fork)
while [ true ] ; do
#if test -f $LOGFILE ; then
#mv $LOGFILE $LOGFILE.old
#fi
$BASEDIR/$COMMAND &
echo $! > $PIDFILE
wait
echo "sollte jetzt laufen."
done
;;
*)
echo "Usage: $0 {start|stop|restart|check}"
;;
esac
Jedoch bekomme Ich hier ständig irgendwelche Pid Fehler.....
Kann mir jemand hier bitte erklären wie Ich das mit Base&Home_Path mache.....
Thnx im voraus markubin aka none.gaming *Kubi