[cod] Online Game CP software.

EscapedTurkey escapedturkey at gmail.com
Thu Jul 10 18:55:51 EDT 2008


There is a lot more scripting involved, this is the basic sequence of 
events that take place.

http://www.escapedturkey.com/tutorials/startserver/startserver.html

Example usage.

Usermin -> Custom Commands -> Edit Call of Duty 4

File: configcod4

contents:

WARNING:

Do not remove any entries or you will encounter errors.

Do not enable enable multiple game's in the same config.

Instructions:

Remove the #'s to enable the game server.

Make sure there are no spaces in front.

File: Call Of Duty 4

# server_exec="cod4_lnxded-bin"
# game_directory="cod4"
# server_mod_directory=""
# server_port="28960"
# rcon_password="insertserverrconpasswordhere"
# server_log_name=""
# server_vm=""
# server_dedicated="2"
# server_ip="###.###.###.###"
# server_sv_maxclients="32"
# server_logfile="3"
# server_sv_pure="1"
# server_sv_punkbuster="1"
# server_config1="basic.cfg"
# start_map="mp_crash"
# username="insertyouraccountusernamehere"

## The following is optional ##

FTP Transfer Log File Every 24 Hours

# remote_ftp_username="insertftpusernamehere"
# remote_ftp_password="insertftppasswordhere"
# remote_ftp_address="insertftpaddresshere"
# remote_site_directory="./mainwebsite_html/"


Usermin -> Custom Commands -> Start Call of Duty 4

File: startservercod4.sh

contents:

#!/bin/sh
cd ~/
rm -f config
cp configcod4 config
crontab /usr/bin/serverstart
echo "Server will start within 1 - 2 minutes."
kill -9 -1
exit 0
#EOF

File: serverstart (crontab)

Contents:

*/1 * * * * turkeybaste.sh -f ~/config >/dev/null 2>&1

File: turkeybaste.sh (located in /usr/bin)

Contents:

#!/bin/bash

################################################################|
# (c) Escaped Turkey : 2003-2004
# Server maintenance script
#  Checks if server is running, restarts it if not.
#  Notifies Server of pending restart (5min prior).
#  Archives (tar/gzip) previous days log files
# V2.0 by Sceadu
# v3.0 by Sceadu
# 12/20/03: added option flags. -f server.cfg -c crontab
#  	    renamed file from turkeychk.bsh to turkeybaste.bsh
################################################################|

#----
# Game Server variables. Add or delete variable lines here.  Only those 
listed will be parsed.
#----
ServerVars=(	"username"
		"password"
		"gamespy_login"
		"gamespy_password"
		"server_ini"
		"start_map"
		"game"
		"rcon_password"
		"restart_time"
		"gametype"
		"mutator"
		"game_directory"
		"game_base"
		"server_exec"
		"server_vm"
		"server_dedicated"
		"server_ip"
		"server_port"
		"server_profile"
		"maxplayers"
		"server_sv_maxclients"
		"server_sv_pure"
		"server_sv_punkbuster"
		"server_mod_directory"
		"server_config"
		"server_config1"
		"server_config2"
		"statgame"
		"mod"
		"module"
		"optionsfile"
		"mpcustomizations"
		"binary"
		"misc"
		"tickrate"
		"server_logfile"
		"server_log_name"
		"bfv_remote_ftp_username"
		"bfv_remote_ftp_password"
		"bfv_remote_ftp_address"
		"bfv_remote_remote_directory"
		"bfvmod"
		"bf1942_remote_ftp_username"
		"bf1942_remote_ftp_password"
		"bf1942_remote_ftp_address"
		"bf1942_remote_remote_directory"
		"bf1942mod"
		"mohaa_remote_ftp_username"
		"mohaa_remote_ftp_password"
		"mohaa_remote_ftp_address"
		"halflife_remote_ftp_username"
		"halflife_remote_ftp_password"
		"halflife_remote_remote_directory"
		"remote_ftp_username"
		"remote_ftp_password"
		"remote_ftp_address"
		"remote_site_directory"
		"ftp_username"
		"vac"
		"ftp_password"
		"ftp_address"
         "remote_directory"  )

#----
# Usage or help file.
#----
usage()
{
   echo "USAGE: $0 -f serverfile.cfg [ -c cronfile ] "
   echo "       -f server.cfg    : Specify a valid server config file to 
use. This option is Required!"
   echo "       -c crontab.file  : Optional- Load a specific crontab 
file to use.  "
   echo "       e.g.  $0 -f myconfig.cfg   loads myconfig.cfg only"
   echo "    	     $0 -f other.cfg -c mycron.cron   loads other.cfg and 
installs a new crontab from mycron.cron file"
   echo " "
   exit 1
}


#----
# Parse the config file.  This will only read in variables defined in 
ServerVars.
#----
ParseCfg()
{
   #echo "Parsing Config file $configfile"
   if [ -e $tmp1 ]; then rm $tmp1; fi
   for X in ${ServerVars[@]}
   do
     # load configs into a tmp file, ignore everything else
     grep "^$X" $configfile >> $tmp1
   done

   # check if config is empty; no vars found in source file
   # source it if OK
   if [ -s $tmp1 ]; then
     . $tmp1
     rm $tmp1
   else
     echo "* No Valid config variables found in $configfile!!"
     echo "exiting.... "
     exit 1
   fi
}



#----
# Load crontab file.  If there are any errors, the proggy should exit
#----
LoadCron()
{
   crontab $cronfile > $tmp2 2>&1
   test -s $tmp2
   if [ $? -eq 0 ]; then
     echo "* Error: Invalid crontab file!"
     cat $tmp2
     rm $tmp2
     echo "exiting...."
     exit 1
   fi
   rm $tmp2
}


###########################
# MAIN CODE
###########################
configfile=
cronfile=
tmp1=".config.tmp"
tmp2=".err.tmp"
tf1=".temp"

#----
# check for correct # of args
#----
if [ $# -lt 2 ]; then usage; fi

#----
# Check first arg
#----
case "$1" in
   -f) if [ ! -s $2 -o ! -f $2 ]; then
  	echo "* Invalid server config filename $2!"
	echo " "
	usage
       else
	configfile="$2"
	ParseCfg
       fi
       ;;
    *) usage
esac

#----
# Is there a second arg? then Check second arg
#----

if [ $# -eq 4 ]; then
   case "$3" in
     -c) if [ "$4" = "NULL" ]; then
     	  break
         elif [ -z $4 -o ! -s $4 -o ! -f $4 ]; then
	  echo "*Invalid crontab filename $4!"
	  echo " "
	  usage
         else
        	  cronfile="$4"
	  LoadCron
         fi
         ;;
      *) usage
   esac
fi

#----
# Runs Server
#----

case "$server_exec" in
    "q3ded" )
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
	  killall vsftpd
	  ulimit -u 4
           nohup ./$server_exec-$username +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set logfile $server_logfile +set fs_basepath 
/home/$username/$game_directory +set fs_homepath 
/home/$username/$game_directory +set sv_pure $server_sv_pure +set 
sv_punkbuster $server_sv_punkbuster +set fs_game $server_mod_directory 
+set $server_vm $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
    "ioq3ded.i386" )
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
	  killall vsftpd
	  ulimit -u 4
           nohup ./$server_exec-$username +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set logfile $server_logfile +set fs_basepath 
/home/$username/$game_directory +set fs_homepath 
/home/$username/$game_directory +set sv_pure $server_sv_pure +set 
sv_punkbuster $server_sv_punkbuster +set fs_game $server_mod_directory 
+set $server_vm $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
    "ioUrTded.i386" )
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
           killall vsftpd
	  ulimit -u 4
           nohup ./$server_exec-$username +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set logfile $server_logfile +set fs_basepath 
/home/$username/$game_directory +set fs_homepath 
/home/$username/$game_directory +set sv_pure $server_sv_pure +set 
sv_punkbuster $server_sv_punkbuster +set fs_game $server_mod_directory 
+set $server_vm $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
    "ioq3ded.i386" )
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
           killall vsftpd
	  ulimit -u 4
           nohup ./$server_exec-$username +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set logfile $server_logfile +set fs_basepath 
/home/$username/$game_directory +set fs_homepath 
/home/$username/$game_directory +set sv_pure $server_sv_pure +set 
sv_punkbuster $server_sv_punkbuster +set fs_game $server_mod_directory 
+set $server_vm $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
    "ofded.i386" )
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
           cd /home/$username/$game_directory
           crontab /usr/bin/serverchk
           rm -f nohup.out
           rm -f $server_exec-$username
           chmod 755 $server_exec
           chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
           killall vsftpd
           ulimit -u 4
           nohup ./$server_exec-$username +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set logfile $server_logfile +set fs_basepath 
/home/$username/$game_directory +set fs_homepath 
/home/$username/$game_directory +set sv_pure $server_sv_pure +set 
sv_punkbuster $server_sv_punkbuster +set fs_game $server_mod_directory 
+set $server_vm $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
    "gtv.run" )
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
	  killall vsftpd
           screen -dmS $username ./$server_exec-$username +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set logfile $server_logfile +set fs_basepath 
/home/$username/$game_directory +set fs_homepath 
/home/$username/$game_directory +set sv_pure $server_sv_pure +set 
sv_punkbuster $server_sv_punkbuster +set fs_game $server_mod_directory 
+set $server_vm $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
    "cod_lnxded")
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
	  ulimit -u 4
	  nohup ./$server_exec-$username +set dedicated $server_dedicated +set 
ttycon 0 +set net_ip $server_ip +set net_port $server_port +set 
com_hunkmegs 256 +set sv_maxclients $server_sv_maxclients +set logfile 
$server_logfile +set fs_basepath /home/$username/$game_directory +set 
fs_homepath /home/$username/$game_directory +set sv_pure $server_sv_pure 
+set sv_punkbuster $server_sv_punkbuster +set fs_game 
$server_mod_directory +set $server_vm $misc +exec $server_config1 +exec 
$server_config2 & > /dev/null 2>&1
;;
    "coduo_lnxded")
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
           killall vsftpd
	  ulimit -u 4
    	  nohup ./$server_exec-$username +set dedicated $server_dedicated 
+set ttycon 0 +set net_ip $server_ip +set net_port $server_port +set 
com_hunkmegs 256 +set sv_maxclients $server_sv_maxclients +set logfile 
$server_logfile +set fs_basepath /home/$username/$game_directory +set 
fs_homepath /home/$username/$game_directory +set sv_pure $server_sv_pure 
+set sv_punkbuster $server_sv_punkbuster +set fs_game 
$server_mod_directory +set $server_vm $misc +exec $server_config1 +exec 
$server_config2 & > /dev/null 2>&1
;;
    "cod2_lnxded")
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
           killall vsftpd	
	  ulimit -u 4
   	  nohup ./$server_exec-$username +set dedicated $server_dedicated 
+set ttycon 0 +set net_ip $server_ip +set net_port $server_port +set 
com_hunkmegs 256 +set sv_maxclients $server_sv_maxclients +set logfile 
$server_logfile +set fs_basepath /home/$username/$game_directory +set 
fs_homepath /home/$username/$game_directory +set sv_pure $server_sv_pure 
+set sv_punkbuster $server_sv_punkbuster +set fs_game 
$server_mod_directory +set $server_vm $misc +exec $server_config1 +exec 
$server_config2 & > /dev/null 2>&1
;;
    "cod4_lnxded-bin")
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
           cd /home/$username/$game_directory
           crontab /usr/bin/serverchk
           rm -f nohup.out
           rm -f $server_exec-$username
           chmod 755 $server_exec
           chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
           export LD_LIBRARY_PATH=".:bin:$LD_LIBRARY_PATH"	
	  killall vsftpd
	  ulimit -u 4
           nohup ./$server_exec-$username +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set ui_maxclients $server_sv_maxclients +set 
logfile $server_logfile +set fs_basepath /home/$username/$game_directory 
+set fs_homepath /home/$username/$game_directory +set sv_pure 
$server_sv_pure +set sv_punkbuster $server_sv_punkbuster +set fs_game 
$server_mod_directory +set $server_vm $misc +exec $server_config1 +map 
$start_map & > /dev/null 2>&1
;;
   "linuxjampded")
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
	  killall vsftpd	
	  ulimit -u 4
       	  nohup ./$server_exec-$username +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set logfile $server_logfile +set fs_basepath 
/home/$username/$game_directory +set fs_homepath 
/home/$username/$game_directory +set sv_pure $server_sv_pure +set 
sv_punkbuster $server_sv_punkbuster +set fs_game $server_mod_directory 
+set $server_vm $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
    "jkiided")
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
           killall vsftpd
	  ulimit -u 4
           nohup ./$server_exec-$username +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set logfile $server_logfile +set fs_basepath 
/home/$username/$game_directory +set fs_homepath 
/home/$username/$game_directory +set sv_pure $server_sv_pure +set 
sv_punkbuster $server_sv_punkbuster +set fs_game $server_mod_directory 
+set $server_vm $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
    "mohaa_lnxded")
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
	  killall vsftpd	
	  ulimit -u 4
       	  nohup ./$server_exec-$username +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set logfile $server_logfile +set fs_basepath 
/home/$username/$game_directory +set fs_homepath 
/home/$username/$game_directory +set sv_pure $server_sv_pure +set 
sv_punkbuster $server_sv_punkbuster +set fs_game $server_mod_directory 
+set $server_vm $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
    "spearhead_lnxded")
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
	  ulimit -u 4
           nohup ./$server_exec-$username +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set logfile $server_logfile +set fs_basepath 
/home/$username/$game_directory +set fs_homepath 
/home/$username/$game_directory +set sv_pure $server_sv_pure +set 
sv_punkbuster $server_sv_punkbuster +set fs_game $server_mod_directory 
+set $server_vm $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
    "sof2ded")
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
           killall vsftpd
	  ulimit -u 4
	  nohup ./$server_exec-$username +set dedicated $server_dedicated +set 
ttycon 0 +set net_ip $server_ip +set net_port $server_port +set 
com_hunkmegs 256 +set sv_maxclients $server_sv_maxclients +set logfile 
$server_logfile +set fs_basepath /home/$username/$game_directory +set 
fs_homepath /home/$username/$game_directory +set sv_pure $server_sv_pure 
+set sv_punkbuster $server_sv_punkbuster +set fs_game 
$server_mod_directory +set $server_vm $misc +exec $server_config1 +exec 
$server_config2 & > /dev/null 2>&1
;;
    "wolfded.x86")
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
	  killall vsftpd
	  ulimit -u 4
           nohup ./$server_exec-$username +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set logfile $server_logfile +set fs_basepath 
/home/$username/$game_directory +set fs_homepath 
/home/$username/$game_directory +set sv_pure $server_sv_pure +set 
sv_punkbuster $server_sv_punkbuster +set fs_game $server_mod_directory 
+set $server_vm $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
    "etded.x86")
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
           killall vsftpd
	  ulimit -u 4
           nohup ./$server_exec-$username +set $misc +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set logfile $server_logfile +set fs_basepath 
/home/$username/$game_directory +set fs_homepath 
/home/$username/$game_directory +set sv_pure $server_sv_pure +set 
sv_punkbuster $server_sv_punkbuster +set fs_game $server_mod_directory 
+set $server_vm $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
    "iostvefded-1.34.i386" )
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username	
           killall vsftpd
	  ulimit -u 4
          nohup ./$server_exec-$username +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set logfile $server_logfile +set fs_basepath 
/home/$username/$game_directory +set fs_homepath 
/home/$username/$game_directory +set sv_pure $server_sv_pure +set 
sv_punkbuster $server_sv_punkbuster +set fs_game $server_mod_directory 
+set $server_vm $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
    "wopded.i386" )
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
           killall vsftpd
	  ulimit -u 4
           nohup ./$server_exec-$username +set dedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set com_hunkmegs 256 +set sv_maxclients 
$server_sv_maxclients +set logfile $server_logfile +set fs_basepath 
/home/$username/$game_directory +set fs_homepath 
/home/$username/$game_directory +set sv_pure $server_sv_pure +set 
sv_punkbuster $server_sv_punkbuster +set fs_game $server_mod_directory 
+set $server_vm $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
    "ucc-bin")
     	  cd /home/$username/$game_directory
  	  crontab /usr/bin/empty
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
           cp $server_exec $server_exec-$username
       	  chmod 755 /home/$username/$game_directory/pb
	  ulimit -u 4
           nohup ./$server_exec-$username server 
$gametype?mutator=$mutator $mod ini=$server_ini multihome=$server_ip 
log=/home/$username/$game_directory/server.log -nohomedir & > /dev/null 2>&1
;;
"ut3-bin")
           cd /home/$username/$game_directory
           crontab /usr/bin/serverchk
           rm -f nohup.out
           chmod 755 $server_exec
           chmod 755 /home/$username/$game_directory
	  export LD_LIBRARY_PATH=.
           nohup ./$server_exec server $gametype?mutator=$mutator 
ini=UTGame.ini multihome=$server_ip -login=$gamespy_login 
-password=$gamespy_password -nohomedir -unattended & > /dev/null 2>&1
;;
"r1q2ded")
     	  cd /home/$username/$game_directory
  	  crontab /usr/bin/empty
  	  rm -f nohup.out
           rm -f quake2-$username
           chmod 755 $server_exec
           cp $server_exec $server_exec-$username
       	  chmod 755 /home/$username/$game_directory/pb
           killall vsftpd
	  ulimit -u 4
           nohup ./$server_exec-$username +set game $game +set dedicated 
1 +set ip $server_ip +set port $server_port +exec $server_config & > 
/dev/null 2>&1
;;
    "r1q2ded-old")
     	  cd /home/$username/$game_directory
  	  crontab /usr/bin/empty
  	  rm -f nohup.out
  	  rm -f quake2-$username
        	  chmod 755 $server_exec
           cp $server_exec $server_exec-$username
       	  chmod 755 /home/$username/$game_directory/pb
           killall vsftpd
	  ulimit -u 4
           nohup ./$server_exec-$username +set game $game +set dedicated 
1 +set ip $server_ip +set port $server_port +exec $server_config & > 
/dev/null 2>&1
;;
    "r1q2ded-x86_64")
     	  cd /home/$username/$game_directory
  	  crontab /usr/bin/empty
  	  rm -f nohup.out
           rm -f quake2-$username
           chmod 755 $server_exec
           cp $server_exec $server_exec-$username
       	  chmod 755 /home/$username/$game_directory/pb
           killall vsftpd
	  ulimit -u 4
           nohup ./$server_exec-$username +set game $game +set dedicated 
1 +set ip $server_ip +set port $server_port +exec $server_config & > 
/dev/null 2>&1
;;
    "wsw_server")
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
       	  chmod 755 /home/$username/$game_directory/pb
           cp $server_exec $server_exec-$username
           killall vsftpd
	  ulimit -u 4
           nohup ./wsw_server.i386 +set game $game +set dedicated 1 +set 
sv_ip $server_ip +set port $server_port +exec $server_config & > 
/dev/null 2>&1
;;
    "srcds_run")
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f srcds_i686-$username
        	  chmod 755 srcds_i686
           cp srcds_i686 srcds_i686-$username
           export LD_LIBRARY_PATH=".:bin:$LD_LIBRARY_PATH"
           killall vsftpd
	  ulimit -u 4
       	  nohup ./srcds_i686-$username -game $server_mod_directory 
-tickrate 33 +alias sys_ticrate locked +alias max_fps locked +exec 
$server_config +ip $server_ip +port $server_port -autoupdate +maxplayers 
$maxplayers +map $start_map $binary & > /dev/null 2>&1
;;
    "tf2")
  	  cd /home/$username/$game_directory/orangebox
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rrm -f ssrcds_i486-$username
        	  chmod 755 srcds_i486
           cp srcds_i486 srcds_i486-$username
           export LD_LIBRARY_PATH=".:bin:$LD_LIBRARY_PATH"
	  ulimit -u 4
       	  nohup ./srcds_i486-$username -game $server_mod_directory 
-tickrate 33 +alias sys_ticrate locked +alias max_fps locked +exec 
$server_config +ip $server_ip +port $server_port -autoupdate +maxplayers 
$maxplayers +map $start_map $binary & > /dev/null 2>&1
;;
    "hlds_run")
  	  cd /home/$username/$game_directory
	  crontab /usr/bin/serverchk
  	  rm -f nohup.out
  	  rm -f $server_exec-$username
        	  chmod 755 $server_exec
           cp hlds_i686 hlds_i686-$username
           export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH"
           killall vsftpd
	  nohup ./hlds_i686-$username -game $server_mod_directory -tickrate 66 
+alias sys_ticrate locked +alias max_fps locked +exec $server_config +ip 
$server_ip +port $server_port -autoupdate +maxplayers $maxplayers +map 
$start_map $binary & > /dev/null 2>&1
;;
    "steam")
	echo "Updating Steam Client. This will take quite awhile. Please ignore 
any retry command and let it keep running."
         find ~/* -type f -name "*.blob" -exec rm -f  {} ';'
         sleep 10
         cd /home/$username
         rm -r -f .steam
         cd /home/$username/$game_directory
	chmod 755 $server_exec
	./steam -command update -game "$game" $misc -dir 
/home/$username/$game_directory -retry -verify_all
	sleep 10
	killall steam
	echo "Updating Steam game server. This may take a long while."
         echo "If you get a connection reset error, please restart the 
process, it usually means the Steam servers are busy and you need to try 
again."
	sleep 10
  	chmod 755 $server_exec
	./steam -command update -game "$game" $misc -dir 
/home/$username/$game_directory -retry -verify_all
;;
    "ncftpget")
         echo "This may take up to 30 minutes. Please wait."
	rm -r -f /home/$username/$game_directory
         # cp -r /usr/bin/$game_directory /home/$username
         ncftpget -R -u install -p meh install.escapedturkey.net . 
$game_directory
  	rm -f /home/$username/configinstall
	cp /etc/skel/configinstall /home/$username
	echo "Install of $game_directory is complete."
;;
    "redirectsynchronization")
	whoiamcheck=`whoami | cut -c 1-4`
	usernamecheck=`ls -al /mnt/nfs | grep $username | grep -v grep | awk 
'{print $9}' | cut -c 1-4`
	if [ "$whoiamcheck" = "$usernamecheck" ];
	then
	whoiam=`whoami`
         echo "Starting synchronization, this may take awhile."
         rsync -av /home/$whoiam/* /mnt/nfs/$username/public_html
	echo "Synchronization complete."
         else
         echo "Invalid Redirect Username. Synchronization aborted."
         exit 0
	fi
;;
    "doomded.x86")
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
           cd /home/$username/$game_directory
           crontab /usr/bin/serverchk
           rm -f nohup.out
           chmod 755 $server_exec
           chmod 755 /home/$username/$game_directory/pb
           ulimit -u 4
	  nohup ./$server_exec +set net_serverDedicated $server_dedicated +set 
ttycon 0 +set net_ip $server_ip +set net_port $server_port +set +set 
si_maxplayers $server_sv_maxclients +set fs_basepath 
/home/$username/$game_directory +set fs_savepath 
/home/$username/$game_directory +set fs_devpath 
/home/$username/$game_directory +set sv_punkbuster $server_sv_punkbuster 
+set fs_game $server_mod_directory +set fs_game_base $game_base +set 
logfile $server_logfile $misc +exec $server_config1 +exec 
$server_config2 & > /dev/null 2>&1
;;
    "preyded.x86" )
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
           cd /home/$username/$game_directory
           crontab /usr/bin/serverchk
           rm -f nohup.out
           chmod 755 $server_exec
           chmod 755 /home/$username/$game_directory/pb
           ulimit -u 4
           nohup ./$server_exec +set net_serverDedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set fs_basepath /home/$username/$game_d
irectory +set fs_savepath /home/$username/$game_directory +set 
fs_devpath /home/$username/$game_directory +set sv_punkbuster 
$server_sv_punkbuster +set fs_game $server_mod_direct
ory +set fs_game_base $game_base +set logfile $server_logfile $misc 
+exec $server_config1 +exec $server_config2 & > /dev/null 2>&1
;;
    "q4ded.x86" )
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
           cd /home/$username/$game_directory
           crontab /usr/bin/serverchk
           rm -f nohup.out
           chmod 755 $server_exec
           chmod 755 /home/$username/$game_directory/pb
           export LD_LIBRARY_PATH=.
           ulimit -u 4
           nohup ./$server_exec +set net_serverDedicated 
$server_dedicated +set ttycon 0 +set net_ip $server_ip +set net_port 
$server_port +set fs_basepath /home/$username/$game_directory +set 
fs_savepath /home/$username/$game_directory +set fs_devpath 
/home/$username/$game_directory +set sv_punkbuster $server_sv_punkbuster 
+set fs_game $server_mod_directory +set fs_game_base $game_base +set 
logfile $server_logfile $misc +exec $server_config1 +exec 
$server_config2 & > /dev/null 2>&1
;;
    "etqwded.x86" )
           cd /home/$username/$game_directory/$server_mod_directory
           cp *console*.log `date +%m%d%Y`_console.log
           cd /home/$username/$game_directory
           crontab /usr/bin/serverchk
           rm -f nohup.out
           chmod 755 $server_exec
           chmod 755 /home/$username/$game_directory/pb
           export LD_LIBRARY_PATH=.
           nohup ./$server_exec-$username +set net_serverDedicated 
$server_dedicated +set in_tty 0 +set net_ip $server_ip +set net_port 
$server_port +set fs_basepath /home/$userna
me/$game_directory +set fs_savepath /home/$username/$game_directory +set 
fs_devpath /home/$username/$game_directory +set 
net_serverPunkbusterEnabled $server_sv_punkbuster +set fs
_game $server_mod_directory +set fs_game_base $game_base +set logfile 
$server_logfile $misc +exec $server_config1 +exec $server_config2 & > 
/dev/null 2>&1
;;
"tribes2d.dynamic")
           cd /home/$username/$game_directory
           crontab /usr/bin/serverchk
           rm -f nohup.out
           chmod 755 $server_exec
           killall vsftpd
           # ulimit -u 4
           nohup ./$server_exec -online -serverprefs $server_config 
-dedicated -mod $mod & > /dev/null 2>&1
;;
esac

exit 0
    		
#EOF

File: serverchk (crontab)

Contents:

0 4 * * * /usr/bin/maintenance.sh -f ~/config >/dev/null 2>&1

File: maintenance.sh

#!/bin/bash

################################################################|
# (c) Escaped Turkey : 2003-2004
# Server maintenance script
#  Checks if server is running, restarts it if not.
#  Notifies Server of pending restart (5min prior).
#  Archives (tar/gzip) previous days log files
# V2.0 by Sceadu
# v3.0 by Sceadu
# 12/20/03: added option flags. -f server.cfg -c crontab
#  	    renamed file from turkeychk.bsh to turkeybaste.bsh
################################################################|

#----
# Game Server variables. Add or delete variable lines here.  Only those 
listed will be parsed.
#----
ServerVars=(	"username"
		"password"
		"server_ini"
		"start_map"
		"game"
		"rcon_password"
		"restart_time"
		"gametype"
		"mutator"
		"game_directory"
		"game_base"
		"server_exec"
		"server_vm"
		"server_dedicated"
		"server_ip"
		"server_port"
		"server_profile"
		"maxplayers"
		"server_sv_maxclients"
		"server_sv_pure"
		"server_sv_punkbuster"
		"server_mod_directory"
		"server_config"
		"server_config1"
		"server_config2"
		"statgame"
		"mod"
		"module"
		"optionsfile"
		"mpcustomizations"
		"binary"
		"misc"
		"tickrate"
		"server_logfile"
		"server_log_name"
		"bfv_remote_ftp_username"
		"bfv_remote_ftp_password"
		"bfv_remote_ftp_address"
		"bfv_remote_remote_directory"
		"bfvmod"
		"bf1942_remote_ftp_username"
		"bf1942_remote_ftp_password"
		"bf1942_remote_ftp_address"
		"bf1942_remote_remote_directory"
		"bf1942mod"
		"mohaa_remote_ftp_username"
		"mohaa_remote_ftp_password"
		"mohaa_remote_ftp_address"
		"halflife_remote_ftp_username"
		"halflife_remote_ftp_password"
		"halflife_remote_remote_directory"
		"remote_ftp_username"
		"remote_ftp_password"
		"remote_ftp_address"
		"remote_site_directory"
		"ftp_username"
		"vac"
		"ftp_password"
		"ftp_address"
         "remote_directory"  )

#----
# Usage or help file.
#----
usage()
{
   echo "USAGE: $0 -f serverfile.cfg [ -c cronfile ] "
   echo "       -f server.cfg    : Specify a valid server config file to 
use. This option is Required!"
   echo "       -c crontab.file  : Optional- Load a specific crontab 
file to use.  "
   echo "       e.g.  $0 -f myconfig.cfg   loads myconfig.cfg only"
   echo "    	     $0 -f other.cfg -c mycron.cron   loads other.cfg and 
installs a new crontab from mycron.cron file"
   echo " "
   exit 1
}


#----
# Parse the config file.  This will only read in variables defined in 
ServerVars.
#----
ParseCfg()
{
   #echo "Parsing Config file $configfile"
   if [ -e $tmp1 ]; then rm $tmp1; fi
   for X in ${ServerVars[@]}
   do
     # load configs into a tmp file, ignore everything else
     grep "^$X" $configfile >> $tmp1
   done

   # check if config is empty; no vars found in source file
   # source it if OK
   if [ -s $tmp1 ]; then
     . $tmp1
     rm $tmp1
   else
     echo "* No Valid config variables found in $configfile!!"
     echo "exiting.... "
     exit 1
   fi
}



#----
# Load crontab file.  If there are any errors, the proggy should exit
#----
LoadCron()
{
   crontab $cronfile > $tmp2 2>&1
   test -s $tmp2
   if [ $? -eq 0 ]; then
     echo "* Error: Invalid crontab file!"
     cat $tmp2
     rm $tmp2
     echo "exiting...."
     exit 1
   fi
   rm $tmp2
}


###########################
# MAIN CODE
###########################
configfile=
cronfile=
tmp1=".config.tmp"
tmp2=".err.tmp"
tf1=".temp"

#----
# check for correct # of args
#----
if [ $# -lt 2 ]; then usage; fi

#----
# Check first arg
#----
case "$1" in
   -f) if [ ! -s $2 -o ! -f $2 ]; then
  	echo "* Invalid server config filename $2!"
	echo " "
	usage
       else
	configfile="$2"
	ParseCfg
       fi
       ;;
    *) usage
esac

#----
# Is there a second arg? then Check second arg
#----

if [ $# -eq 4 ]; then
   case "$3" in
     -c) if [ "$4" = "NULL" ]; then
     	  break
         elif [ -z $4 -o ! -s $4 -o ! -f $4 ]; then
	  echo "*Invalid crontab filename $4!"
	  echo " "
	  usage
         else
        	  cronfile="$4"
	  LoadCron
         fi
         ;;
      *) usage
   esac
fi

#----
# spam the restart messages
#----

#  msgspam=( "say Server shuts down daily at 4 a.m. and 6 a.m. CS 4 a.m. 
and 6 a.m. CS 4 a.m. and 6 a.m. CS 4 a.m. and 6 a.m. CST" 1 60
#            "say Server shutting down in 5 minutes!" 1 60
#            "say Server shutting down in 4 minutes!" 1 60
#            "say Server shutting down in 3 minutes!" 1 60
#            "say Server shutting down in 2 minutes!" 1 60
#            "say Server shutting down in 1 minute!" 1 30
#            "say Server shutting down in 30 seconds!" 1 30
#            "say Server will restart in 10 Minutes." 1 60
#            "quit" 30 30 )
#  for index in 0 3 6 9 12 15 18 21 24
#    do
# 	kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password 
"${msgspam[$index]}"#
#	sleep ${msgspam[($index+1)]}
# 	hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command  "${msgspam[$index]}"
#       sleep ${msgspam[($index+2)]}
#    done

kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server starts to shut down daily at 4 am CST"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server starts to shut down daily at 4 am CST"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server starts to shut down daily at 4 am CST"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server starts to shut down daily at 4 am CST"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server starts to shut down daily at 4 am CST"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server starts to shut down daily at 4 am CST"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shuts down daily at 4 am CST"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shuts down daily at 4 am CST"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shuts down daily at 4 am CST"
sleep 60
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 5 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 5 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 5 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 5 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 5 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 5 minutes!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 5 minutes!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 5 minutes!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 5 minutes!"
sleep 60
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 4 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 4 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 4 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 4 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 4 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 4 minutes!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 4 minutes!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 4 minutes!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 4 minutes!"
sleep 60
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 3 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 3 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 3 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 3 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 3 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 3 minutes!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 3 minutes!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 3 minutes!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 3 minutes!"
sleep 60
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 2 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 2 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 2 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 2 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 2 minutes!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 2 minutes!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 2 minutes!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 2 minutes!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 2 minutes!"
sleep 60
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 1 minute!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 1 minute!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 1 minute!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 1 minute!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 1 minute!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 1 minute!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 1 minute!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 1 minute!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 1 minute!"
sleep 30
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 30 seconds!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 30 seconds!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server shutting down in 30 seconds!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 30 seconds!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 30 seconds!"
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server shutting down in 30 seconds!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 30 seconds!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 30 seconds!"
sleep 5
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server shutting down in 30 seconds!"
sleep 30
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server will return in 10 minutes."
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server will return in 10 minutes."
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "say 
Server will return in 10 minutes."
sleep 5
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server will return in 10 minutes."
sleep 1
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server will return in 10 minutes."
sleep 1
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "say 
Server will return in 10 minutes."
sleep 1
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server will return in 10 minutes."
sleep 1
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server will return in 10 minutes."
sleep 1
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "say Server will return in 10 minutes."
sleep 1
kkrcon.pl -a $server_ip -p $server_port -t new $rcon_password "quit"
sleep 1
kkrcon.pl -a $server_ip -p $server_port -t old $rcon_password "quit"
sleep 1
hl2rcon.pl --ipaddress "$server_ip" -p "$server_port" --pass 
"$rcon_password" --command "quit"

   # clear crontab

     crontab /usr/bin/empty

   # Tries to kill server if it's still up
	
     killall $server_exec$username
     killall srcds_i686-$username
     killall hlds_i686-$username

   # Update Game Files

   # checks day and compresses associated logs for archiving and fast 
transfer
   # this only happens when restart time is called

   cd /home/$username/$game_directory/$server_mod_directory
   ncftpput -u $remote_ftp_username -p $remote_ftp_password 
$remote_ftp_address $remote_site_directory 
/home/$username/$game_directory/$server_mod_directory/$server_log_name

	# Runs and processes AE Stats
	# this only happens when restart time is called

     cp 
/home/$username/$game_directory/$server_mod_directory/$server_log_name 
stats.log
	sleep 5
     cd /home/$username/stats
	chmod 755 prestats
     sleep 5		
     ./prestats $statgame 
/home/$username/$game_directory/$server_mod_directory/stats.log
     chmod 755 makestats
	sleep 5
     ./makestats -cfg /home/$username/stats/AEstats.cfg 
/home/$username/$game_directory/$server_mod_directory/stats.mlg
     ncftpput -R -u $ftp_username -p $ftp_password $ftp_address 
$remote_directory /home/$username/stats/stats	

   today=`date +%a`
   case "$today" in
     Sun)  cd /home/$username/$game_directory/$server_mod_directory
	  tar czf saturdaylogs.tar.gz *.log
	  rm *.log
       ;;
     Mon)   cd /home/$username/$game_directory/$server_mod_directory
	  tar czf sundaylogs.tar.gz *.log
	  rm *.log
       ;;
     Tue)   cd /home/$username/$game_directory/$server_mod_directory
	  tar czf mondaylogs.tar.gz *.log
	  rm *.log
       ;;
     Wed)   cd /home/$username/$game_directory/$server_mod_directory
	  tar czf tuesdaylogs.tar.gz *.log
	  rm *.log
       ;;
     Thu)   cd /home/$username/$game_directory/$server_mod_directory
	  tar czf wednesdaylogs.tar.gz *.log
	  rm *.log
       ;;
     Fri)   cd /home/$username/$game_directory/$server_mod_directory
	  tar czf thursdaylogs.tar.gz *.log
	  rm *.log
       ;;
     Sat)   cd /home/$username/$game_directory/$server_mod_directory
	  tar czf fridaylogs.tar.gz *.log
	  rm *.log
       ;;
   esac
	

     # Kills everything for major clean-up

crontab /usr/bin/serverstart	
kill -9 -1

exit 0

#EOF




Dean Hamstead wrote:
> whats with the secrecy
> 
> Dean
> 
> Luca Stramenga wrote:
>> I got it one may be interesting for you. add sbtluca at gmail.com 
>> <mailto:sbtluca at gmail.com> to msn or gtalk.
>>
>> 2008/7/11 EscapedTurkey <escapedturkey at gmail.com 
>> <mailto:escapedturkey at gmail.com>>:
>>
>>     I personally use Usermin with a lot of scripting.
>>
>>
>>     Dean Hamstead wrote:
>>
>>         free or paid?
>>
>>         Den
>>
>>         Martin H wrote:
>>
>>             Looking for game CP software to run on our dedi. has to be
>>             linux (debian) compatable and run CoD4, along with all the
>>             other usual suspects. What would you guys say the best
>>             option for us is?
>>
>>             Any help would be greatly appreciated.
>>
>>
>>             Thanks all.
>>
>>
>>
>>     ---
>>     To unsubscribe, send a blank email to cod-unsubscribe at icculus.org
>>     <mailto:cod-unsubscribe at icculus.org>
>>     Mailing list archives: http://icculus.org/cgi-bin/ezmlm/ezmlm-cgi?38
>>
>>
>>
> 



More information about the Cod mailing list