[mohaa] Server restart script

Christian xdemise at direcway.com
Tue Aug 17 21:02:27 EDT 2004


hey i wrote this awhile ago to start and stop my spearhead server by pid. 
its a mix of start-stop-damenon, sudo, shell script


Here is my start stop script
#!/bin/sh

check_status()
{
  if [ $? = 0 ]
  then
    echo "OK"
  else
    echo "FAILED"
  fi
}

case "$1" in
  start)
    echo -n "Starting Medal Of Honor Spearhead Game Server..."
    sudo start-stop-daemon -b -m -S -q -p /var/run/spearhead.pid \
         -x /var/vws/servers/mohaa/spstart
    check_status
    ;;

  stop)
    echo -n "Stopping Medal Of Honor Spearhead Game Server..."
    sudo start-stop-daemon -K -q -p /var/run/spearhead.pid
    check_status
    ;;

  reload)
    echo -n "Reloading Medal Of Honor Spearhead Game Server..."
    sudo start-stop-daemon -K -m -q -s 1 -p /var/run/spearhead.pid
    check_status
    ;;

  restart)
    echo -n "Stopping Medal Of Honor Spearhead Game Server..."
    sudo start-stop-daemon -K -q -p /var/run/spearhead.pid
    check_status

    sleep 1

    echo -n "Starting Medal Of Honor Spearhead Game Server..."
    sudo start-stop-daemon -b -m -S -q -p /var/run/spearhead.pid \
        -x /var/vws/servers/mohaa/spstart
    check_status
    ;;

  *)
    echo "Usage: $0 {start|stop|reload|restart}"
    ;;

esac


here is my game script itself
#!/bin/sh
#echo "Starting Medal of Honor : SpearHead Server Ver. 2.15"
temp=`cat /var/run/spearhead.pid`
expr $temp + 3 > /var/run/spearhead.pid
cd /var/vws/servers/mohaa
#screen -A -m -d -S spearhdserv
./spearhead_lnxded +set dedicated 1 +set developer 2 +set logfile 3 +set 
g_logsync 1 +set ui_console 1 +set sv_cheats 0 +set net_ip 67.21.206.137 
+set net_port 12211 +exec sv_server.cfg

Modify it to your taste.  Mine was writine for a shell menu that the user 
getts dropped into when the log in.  That way the can start and stop it 
without acctuall shell access..

CHristian
----- Original Message ----- 
From: "Andrew (KARZAC) Furbey" <andrewfurbey at hotmail.com>
To: <mohaa at icculus.org>
Sent: Tuesday, August 17, 2004 8:41 PM
Subject: Re: [mohaa] Server restart script


> Hey Josh, i got that script working to write the PID file, and it displays
> the PID with other numbers Quote:
>
>   3887  2141 69 03
>
> Could you help me with a full script that could run that then kill the 
> prces
> number which would be 3887,
>
> Would be the greatest help iv had.
>
> Thankyou
> ----- Original Message ----- 
> From: "Josh Berry" <games at chickenmonkey.co.uk>
> To: <mohaa at icculus.org>
> Sent: Wednesday, August 18, 2004 12:09 AM
> Subject: Re: [mohaa] Server restart script
>
>
>> For a quick and very, very dirty hack you can do:
>>
>> ps -ef | grep mohaa_lnxded | grep -v grep > temp; sed 's/    /:/g' temp
>> > temp2; gawk -F: '{ print $2 }' temp2
>>
>> This will print the PID of the mohaa process to console. Alternatively
>> you could add a "> pid.txt" onto the end to write the pid to a file
>> called pid.txt. Note that this will create two temporary files in the
>> location of the script.
>>
>> You can then read from the file and into other scripts to do whatever
>> with.
>>
>> If you run multiple servers on one box then you will have to modify the
>> grep bit to make it return only a single line ... so for example
>>
>> ps -ef | grep mohaa_lnxded | grep 123.123.123.123 | grep -v grep > temp
>>
>> where 132.etc is the IP address of your server (assuming you have "+set
>> net_IP 123.123.123.123" in the startup line for your server so it
>> displays when you do a ps -ef
>>
>> Hope that helps
>> josh
>>
>> On Tue, 2004-08-17 at 21:47, Andrew (KARZAC) Furbey wrote:
>> > You can run scripts up using php commands over the web(aslong as its on
> the
>> > same box), thats how i can start my servers, im trying to figure away
> for a
>> > script to find the PID for a program running and kill it, but the PID
>> > changes everytime, im not that advanced at coding yet :/
>> >
>> >
>> > ----- Original Message ----- 
>> > From: "Robert Mount" <rmount at pobox.com>
>> > To: <mohaa at icculus.org>
>> > Sent: Tuesday, August 17, 2004 6:40 PM
>> > Subject: [mohaa] Server restart script
>> >
>> >
>> > > ----- Original Message ----- 
>> > > From: "Andrew (KARZAC) Furbey" <andrewfurbey at hotmail.com>
>> > > To: <mohaa at icculus.org>
>> > > Sent: Tuesday, August 17, 2004 11:53 AM
>> > > Subject: Re: [mohaa] mohaa process freezes
>> > >
>> > >
>> > > > does anyone know of a script that can restart a server when it
> crashes
>> > BUT
>> > > > it leaves the procces running, i think it might be what your 
>> > > > talking
>> > > > about,
>> > > > but i was running the server as "root", and it used to crash about
> twice
>> > a
>> > > > day also, then created a user account and started it via that, and
> its
>> > > > still
>> > > > running, no crashes 2 days later.
>> > >
>> > > Here's my script:
>> > >
>> > > ****
>> > > #!/bin/bash
>> > > #
>> > > # MOH Server loop
>> > > #
>> > > clear
>> > >
>> > > while [ 1 ]         # Loop `forever'
>> > > do
>> > > echo "Starting the server"
>> > > cd /home/mohsh01
>> > > screen -m -D -S mohsh01 ./spearhead_lnxded +set net_ip 1.1.1.1 +exec
>> > > server.cfg
>> > > sleep 60
>> > > echo "Done sleeping"
>> > >
>> > > done
>> > > *****
>> > >
>> > > I use this command from another script to start my servers:
>> > > su mohsh01 -c "/opt/control/mohsh01 &"
>> > >
>> > > I run this as the user "mohsh01" not as root.  Only problem with this
> is
>> > > there's no web control for it that i can figure out.  I'd love to 
>> > > have
> a
>> > > looper (as above) with some way to shut the server down over the web.
>> > >
>> > > --Rob
>> > >
>> > >
>> > >
>>
>> 






More information about the Mohaa mailing list