Manage CS 1.6 HLDS Server Tool v0.1

By ProIcons on Aug 24, 2011

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

Comments

Sign in to comment.
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.