A Script that allows you to manage CS Servers
you can alter the settings from #Edit here
The reason i Posted this Script is because from an IDIOT that was blaming me that i was a ripper so, i forced to Paste the code somewhere and know i am publishing it... Have Fun.
In the global dir you can copy the
amxx.cfg
plugins.ini
users.ini
modules.ini
Modules folder
plugins folder
server.cfg
to be automacality updated on All Servers
This script Was Developed from me for The HL-Gather Gaming Community [HL-Gather]
#!/bin/bash
########################################
# Manage CS 1.6 HLDS Server Tool v0.1 #
# Copyright (C) 2011 by ProIcons for, #
# NanoTech Software Foundation, INC #
########################################
# Edit Here ...
servers=8
serverdir="/home/hlds/";
serverprefix="HL-Server-";
globaldir="/home/hlds/SF";
# Stop Editing From now on...
servs=$(($servers+1))
# Reset
reset='\e[0m' # Text Reset
# Regular Colors
Black='\e[0;30m' # Black
Red='\e[0;31m' # Red
Green='\e[0;32m' # Green
Yellow='\e[0;33m' # Yellow
Blue='\e[0;34m' # Blue
Purple='\e[0;35m' # Purple
Cyan='\e[0;36m' # Cyan
White='\e[0;37m' # White
# Bold
BBlack='\e[1;30m' # Black
BRed='\e[1;31m' # Red
BGreen='\e[1;32m' # Green
BYellow='\e[1;33m' # Yellow
BBlue='\e[1;34m' # Blue
BPurple='\e[1;35m' # Purple
BCyan='\e[1;36m' # Cyan
BWhite='\e[1;37m' # White
function help {
echo -e "$Red*$reset Usage: manage [OPTION]... With no OPTION, $Red*$reset";
echo -e "$Red*$reset same as --help $Red*$reset";
echo -e "$Red*$reset $Red*$reset";
echo -e "$Red*$reset -a, --all Updates All Server Compoments $Red*$reset";
echo -e "$Red*$reset -p, --plugins Updates Servers's Plugins $Red*$reset";
echo -e "$Red*$reset -m, --modules Updates Servers's Modules $Red*$reset";
echo -e "$Red*$reset -s, --sconfig Updates Servers's Config $Red*$reset";
echo -e "$Red*$reset -c, --configs Updates Servers's Configs $Red*$reset";
echo -e "$Red*$reset -x, --maps Updates Servers's Maps $Red*$reset";
echo -e "$Red*$reset -h, --help Display this help $Red*$reset";
echo -e "$Red*$reset -v, --version Display version information $Red*$reset";
echo -e "$Red*$reset -u, --up-serv Start Server (-u ServerNum) $Red*$reset";
echo -e "$Red*$reset -t, --st-serv Stop Server (-t ServerNum) $Red*$reset";
echo -e "$Red*$reset -z, --hshield Updates HL-Shield Modules $Red*$reset";
echo -e "$Red*$reset $Red*$reset";
echo -e "$Red*$reset Report Bugs to <proicons@hl-gather.gr> $Red*$reset";
echo -e "$Red***********************************************$reset";
}
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Manage CS 1.6 HLDS Server Tool v0.1 $Red*$reset";
echo -e "$Red*$reset Copyright (C) 2011 by ProIcons for, $Red*$reset";
echo -e "$Red*$reset NanoTech Software Foundation, INC $Red*$reset";
echo -e "$Red***********************************************$reset";
if [ ${1:-0} == '-a' ] || [ ${1:-0} == '--all' ]; then
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Currently Job: Update All Compoments $Red*$reset";
echo -e "$Red***********************************************$reset";
i=1
while [ $i -lt $servs ]; do
echo -e "$Red*$reset Updating Server $i... $Red*$reset";
cp $globaldir/amxx.cfg $serverdir/$serverprefix$i/cstrike/addons/amxmodx/configs/amxx.cfg
cp $globaldir/plugins.ini $serverdir/$serverprefix$i/cstrike/addons/amxmodx/configs/plugins.ini
cp $globaldir/users.ini $serverdir/$serverprefix$i/cstrike/addons/amxmodx/configs/users.ini
cp $globaldir/modules.ini $serverdir/$serverprefix$i/cstrike/addons/amxmodx/configs/modules.ini
cp -r $globaldir/plugins $serverdir/$serverprefix$i/cstrike/addons/amxmodx/plugins
cp -r $globaldir/modules $serverdir/$serverprefix$i/cstrike/addons/amxmodx/modules
cp $globaldir/server.cfg $serverdir/$serverprefix$i/cstrike/server.cfg
sed -i 's/SNUM/$i/g' $serverdir/$serverprefix$i/cstrike/server.cfg
echo -e "$Red*$reset Updated Server $i $Red*$reset";
echo -e "$Red*$reset $Red*$reset";
let i=i+1
done
echo -e "$Red*$reset [Plugins,Modules,Configs,Users] $Red*$reset";
echo -e "$Red***********************************************$reset";
elif [ ${1:-0} == '-p' ] || [ ${1:-0} == '--plugins' ]; then
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Currently Job: Update Plugins $Red*$reset";
echo -e "$Red***********************************************$reset";
i=1
while [ $i -lt $servs ]; do
echo -e "$Red*$reset Updating Server $i... $Red*$reset";
cp $globaldir/plugins.ini $serverdir/$serverprefix$i/cstrike/addons/amxmodx/configs/plugins.ini
cp -r $globaldir/plugins $serverdir/$serverprefix$i/cstrike/addons/amxmodx/plugins
echo -e "$Red*$reset Updated Server $i $Red*$reset";
echo -e "$Red*$reset $Red*$reset";
let i=i+1
done
echo -e "$Red*$reset [Plugins] $Red*$reset";
echo -e "$Red***********************************************$reset";
elif [ ${1:-0} == '-x' ] || [ ${1:-0} == '--maps' ]; then
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Currently Job: Update Maps $Red*$reset";
echo -e "$Red***********************************************$reset";
i=1
while [ $i -lt $servs ]; do
echo -e "$Red*$reset Updating Server $i... $Red*$reset";
cp -r $globaldir/maps $serverdir/$serverprefix$i/cstrike/maps
echo -e "$Red*$reset Updated Server $i $Red*$reset";
echo -e "$Red*$reset $Red*$reset";
let i=i+1
done
echo -e "$Red*$reset [Maps] $Red*$reset";
echo -e "$Red***********************************************$reset";
elif [ ${1:-0} == '-m' ] || [ ${1:-0} == '--modules' ]; then
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Currently Job: Update Modules $Red*$reset";
echo -e "$Red***********************************************$reset";
i=1
while [ $i -lt $servs ]; do
echo -e "$Red*$reset Updating Server $i... $Red*$reset";
cp $globaldir/modules.ini $serverdir/$serverprefix$i/cstrike/addons/amxmodx/configs/modules.ini
cp -r $globaldir/modules $serverdir/$serverprefix$i/cstrike/addons/amxmodx/modules
echo -e "$Red*$reset Updated Server $i $Red*$reset";
let i=i+1
done
echo -e "$Red*$reset [Modules] $Red*$reset";
echo -e "$Red***********************************************$reset";
elif [ ${1:-0} == '-s' ] || [ ${1:-0} == '--sconfig' ]; then
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Currently Job: Update Server Config $Red*$reset";
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Updating Server $i... $Red*$reset";
cp $globaldir/server.cfg $serverdir/$serverprefix$i/cstrike/server.cfg
sed -i 's/SNUM/$i/g' $serverdir/$serverprefix$i/cstrike/server.cfg
echo -e "$Red*$reset Updated Server $i $Red*$reset";
echo -e "$Red*$reset [Server Config] $Red*$reset";
echo -e "$Red***********************************************$reset";
elif [ ${1:-0} == '-c' ] || [ ${1:-0} == '--configs' ]; then
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Currently Job: Update Global Configs $Red*$reset";
echo -e "$Red***********************************************$reset";
i=1
while [ $i -lt $servs ]; do
echo -e "$Red*$reset Updating Server $i... $Red*$reset";
cp $globaldir/amxx.cfg $serverdir/$serverprefix$i/cstrike/addons/amxmodx/configs/amxx.cfg
cp $globaldir/plugins.ini $serverdir/$serverprefix$i/cstrike/addons/amxmodx/configs/plugins.ini
cp $globaldir/users.ini $serverdir/$serverprefix$i/cstrike/addons/amxmodx/configs/users.ini
cp $globaldir/modules.ini $serverdir/$serverprefix$i/cstrike/addons/amxmodx/configs/modules.ini
cp $globaldir/server.cfg $serverdir/$serverprefix$i/cstrike/server.cfg
sed -i 's/SNUM/$i/g' $serverdir/$serverprefix$i/cstrike/server.cfg
let i=i+1
echo -e "$Red*$reset Updated Server $i $Red*$reset";
echo -e "$Red*$reset $Red*$reset";
done
echo -e "$Red*$reset [Global Configs] $Red*$reset";
echo -e "$Red***********************************************$reset";
elif [ ${1:-0} == '-v' ] || [ ${1:-0} == '--version' ]; then
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Currently Job: Display Version Info $Red*$reset";
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Manage CS 1.6 HLDSST Version 0.1 Candydate. $Red*$reset";
echo -e "$Red*$reset Build Time: Thu Jul 14 17:57:07 2011 $Red*$reset";
echo -e "$Red*$reset Developer: ProIcons $Red*$reset";
echo -e "$Red*$reset Copyright 2011 NanoTech Software Foundation $Red*$reset";
echo -e "$Red***********************************************$reset";
elif [ ${1:-0} == '-h' ] || [ ${1:-0} == '--help' ]; then
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Currently Job: Display Help $Red*$reset";
echo -e "$Red***********************************************$reset";
help
elif [ ${1:-0} == '-z' ] || [ ${1:-0} == '--hshield' ]; then
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Currently Job: Update HL-Shield Engine $Red*$reset";
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Removing Old HL-Shield From Servers $Red*$reset";
i=1
while [ $i -lt 9 ]; do
rm -rf $serverdir/$serverprefix$i/hlshield2-version.txt
rm -rf $serverdir/$serverprefix$i/hlshield.so
echo -e "$Red*$reset Removed HL-Shield from Server $i $Red*$reset";
let i=i+1
done
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Downloading New Version to All Servers $Red*$reset";
let i=1
while [ $i -lt 9 ]; do
cd $serverdir/$serverprefix$i
screen -d -m sh hlshield2-install.sh
echo -e "$Red*$reset Updated HL-Shield For Server $i $Red*$reset";
let i=i+1
done
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset HL-Shield Updated Successfully - No Errors $Red*$reset";
echo -e "$Red***********************************************$reset";
cd $(pwd)
elif [ ${1:-0} == '-t' ] || [ ${1:-0} == '--st-serv' ]; then
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Currently Job: Server Managment $Red*$reset";
echo -e "$Red***********************************************$reset";
SCID=$(ps -A xa | grep gather$2 | grep -v grep | awk '{print $1}')
if ((${2:-0} >= 1)) && ((${2:-0} < $servs )); then
if ((${SCID:-0} > 0)); then
echo -e "$Red*$reset Stoping Server $2... $Red*$reset";
kill -9 $SCID
screen -q -wipe
fi
echo -e "$Red*$reset Server $2 -$Red Offline $reset $Red*$reset";
echo -e "$Red***********************************************$reset";
elif [[ ${2:-0} == *-* ]]; then
first=$(echo $2|cut -f 1 -d'-')
second=$(echo $2|cut -f 2 -d'-')
if (($first >= 1)) && (($first < $servs)) && (($second >= 1)) && (($second < $servs)); then
if (($second > $first)); then
i=$first
x=$(($second+1))
elif (($first > $second)); then
i=$second
x=$(($first+1))
else
i=$first
x=$servs
fi
while [ $i -lt $x ]; do
SCID=$(ps -A xa | grep gather$i | grep -v grep | awk '{print $1}')
if ((${SCID:-0} > 0)); then
echo -e "$Red*$reset Stoping Server $i... $Red*$reset";
kill -9 $SCID
screen -q -wipe
fi
echo -e "$Red*$reset Server $2 -$Red Offline $reset $Red*$reset";
echo -e "$Red***********************************************$reset";
done
echo -e "$Red*$reset Servers with Range ($2) -$Red Offline $reset $Red*$reset";
echo -e "$Red***********************************************$reset";
else
echo -e "$Red*$reset Underfined Server Range Number $Red*$reset";
echo -e "$Red***********************************************$reset";
fi
else
echo -e "$Red*$reset Server(s) $2 - Underfined $Red*$reset";
echo -e "$Red***********************************************$reset";
fi
elif [ ${1:-0} == '-u' ] || [ ${1:-0} == '--up-serv' ]; then
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Currently Job: Server Managment $Red*$reset";
echo -e "$Red***********************************************$reset";
SCID=$(ps -A xa | grep gather$2 | grep -v grep | awk '{print $1}')
CURDIR=$(pwd)
if ((${2:-0} >= 1)) && ((${2:-0} < $servs )); then
if ((${2:-0} >= 1)) && ((${2:-0} < 6 )); then
if ((${SCID:-0} > 0)); then
echo -e "$Red*$reset Stoping Server $2... $Red*$reset";
kill -9 $SCID
screen -q wipe
fi
echo -e "$Red*$reset Starting Server $2... $Red*$reset";
cd $serverprefix$2
screen -AmdS gather$2 ./hlds_run -game cstrike +maxplayers 12 +map de_dust2 +ip 83.174.188.$((222+$2)) +port 27015 -insecure +sv_password hl-gather
cd $CURDIR
elif ((${2:-0} >= 6)) && ((${2:-0} < $servs )); then
if ((${SCID:-0} > 0)); then
echo -e "$Red*$reset Stoping Server $2... $Red*$reset";
kill -9 $SCID
screen -q -wipe
fi
echo -e "$Red*$reset Starting Server $2... $Red*$reset";
cd $serverprefix$2
screen -AmdS gather$2 ./hlds_run -game cstrike +maxplayers 12 +map de_dust2 +ip 83.174.188.$((222+$2)) +port 27015 +sv_password hl-gather
cd $CURDIR
fi
echo -e "$Red*$reset $Red*$reset";
echo -e "$Red*$reset Server $2 -$Green Online $reset $Red*$reset";
echo -e "$Red***********************************************$reset";
elif [[ ${2:-0} == *-* ]]; then
first=$(echo $2|cut -f 1 -d'-')
second=$(echo $2|cut -f 2 -d'-')
if (($first >= 1)) && (($first < $servs)) && (($second >= 1)) && (($second < $servs)); then
if (($second > $first)); then
i=$first
x=$(($second+1))
elif (($first > $second)); then
i=$second
x=$(($first+1))
else
i=$first
x=$servs
fi
while [ $i -lt $x ]; do
SCID=$(ps -A xa | grep gather$i | grep -v grep | awk '{print $1}')
if (($i >= 1)) && (($i < 6 )); then
if ((${SCID:-0} > 0)); then
echo -e "$Red*$reset Stoping Server $i... $Red*$reset";
kill -9 $SCID
fi
screen -q -wipe
echo -e "$Red*$reset Starting Server $i... $Red*$reset";
cd $serverprefix$i
screen -AmdS gather$i ./hlds_run -game cstrike +maxplayers 12 +map de_dust2 +ip 83.174.188.$((222+$i)) +port 27015 -insecure +sv_password hl-gather
cd $CURDIR
elif (($i >= 6)) && (($i < $servs )); then
if ((${SCID:-0} > 0)); then
echo -e "$Red*$reset Stoping Server $i... $Red*$reset";
kill -9 $SCID
screen -q -wipe
fi
echo -e "$Red*$reset Starting Server $i... $Red*$reset";
cd $serverprefix$i
screen -AmdS gather$i ./hlds_run -game cstrike +maxplayers 12 +map de_dust2 +ip 83.174.188.$((222+$i)) +port 27015 +sv_password hl-gather
cd $CURDIR
fi
echo -e "$Red*$reset $Red*$reset";
echo -e "$Red*$reset Server $i -$Green Online $reset $Red*$reset";
echo -e "$Red***********************************************$reset";
let i=i+1
done
echo -e "$Red*$reset Servers with Range ($2) -$Green Online $reset $Red*$reset";
echo -e "$Red***********************************************$reset";
else
echo -e "$Red*$reset Underfined Server Range Number $Red*$reset";
echo -e "$Red***********************************************$reset";
fi
else
echo -e "$Red*$reset Server(s) $2 - Underfined $Red*$reset";
echo -e "$Red***********************************************$reset";
fi
else
echo -e "$Red***********************************************$reset";
echo -e "$Red*$reset Invaild Command $Red*$reset";
echo -e "$Red***********************************************$reset";
help
fi