Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[HILFE]Linux und Startscript für Gameserver
#1
Hallo liebe Community,

ich habe auf meinem vServer seit neustem folgendes Problem.

Ich habe für verschiedene CSS Server ein Startscript, Dies funktionierte bisjetzt auch ohne Probleme bzw. es funktioniert immernoch

ABER

bei ein paar Servern wird nach dem Neustart dieses Script doppelt ausgeführt und somit der Server mehrfach gestartet.

Beispiel : Habe Server 1, Server 2, Server 3 und Server 4

Ich restarte den vServer und dann passiert wenn ich Screen -ls eingebe folgendes

Server 1
Server 2
Server 3
Server 4
Server 3
Server 4

also startet der Server 3 und Server 4 gleich doppelt. Wenn ich über den Befehl Top nachschaue werden die Server auch mehrfach gestartet.

Die Startscripts sind von Server 1 - Server 4 alle die gleichen. Haben theoretisch nur einen anderen Pfad drin.

Es funktionierte auch das letzte halbe Jahr ohne Probleme, seit neustem passiert dieser Fehler aber und ich habe nichts verändert. Der vServer ist von alleine offline gegangen und ich habe lediglich wieder auf Start im Webinterface gedrückt.

Kann mir da eventuell jemand helfen? Ich hoffe ebenfalls das ich das richtige Forum gewählt habe.

Vielen Dank im voraus für die Hilfe
Gruß
Tommy
Antworten
#2
Zeig mir den Script und ich sag dir den error
Antworten
#3
#!/bin/sh
#
# Start the Counter-Strike dedicated server.
#
# Edit and uncomment it to run the server as non-root
CS_USER="user"
PATH=/bin:/usr/bin:/sbin:/usr/sbin
# # DON'T FORGET TO CHANGE THE PATH TO YOUR NEEDS!
DIR=/home/user/Gameserver/Server1
DAEMON=$DIR/srcds_run
# Internet-server:
PARAMS="./srcds_run -game cstrike +map gg_dust -maxplayers 24  -ip xxx.xxx.xxx.xxx -port 27015"
NAME=Server1
DESC="CSS Server"
case "$1" in
start)
echo "Starting $DESC: $NAME"
if [ -e $DIR ];
then
cd $DIR
#  Change the lines for running as non-root!
su $CS_USER - -c "screen -d -m -S $NAME $DAEMON $PARAMS"
else echo "No such directory: $DIR!"
fi
;;
stop)
if [[ `screen -ls |grep $NAME` ]]
then
echo -n "Stopping $DESC: $NAME"
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
echo " ... done."
else
echo "Coulnd't find a running $DESC"
fi
;;
restart)
if [[ `screen -ls |grep $NAME` ]]
then
echo -n "Stopping $DESC: $NAME"
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
echo " ... done."
else
echo "Coulnd't find a running $DESC"
fi
   
   echo -n "Starting $DESC: $NAME"
   cd $DIR
   screen -d -m -S $NAME $DAEMON $PARAMS
   echo " ... done."
   ;;
    
    status)
    # Check whether there's a "hlds" process
    # if "checkproc" is installed, you can use this:
    # checkproc $DIR/hlds_i686 && echo "CS-Server RUNNING" || echo "CS-Server NOT RUNNING"
    # (thx to commander)
    ps aux | grep -v grep | grep srcds_r > /dev/null
    CHECK=$?
    [ $CHECK -eq 0 ] && echo "CSS Server is UP" || echo "CSS Server is DOWN"
    ;;
     
     *)
     echo "Usage: $0 {start|stop|status|restart}"
     exit 1
     ;;
     esac
     
     exit 0


Wie gesagt bei 2 von 4 Servern funktioniert das Script 1a. Habe diese ja quasi kopiert und nur den Pfad drin verändert Tongue
Antworten


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste