[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