Nous sommes le 28 Mar 2024, 22:06


Online     TeamSpeak UT99     UnrealTournament-V3     Download     Utfiles medor     Vote Weborama     Vote Unrealtop200     Vote xtremetop100     free TeamSpeak     Unreal Soundtracks     Google    Mini-Chat Mini-Chat

Poster un nouveau sujet Répondre au sujet  [ 1 message ] 
 Nouveau Patch ucc For V436 
Auteur Message
Administrateur
Avatar de l’utilisateur

Inscription: 01 Oct 2008, 01:14
Messages: 5598
Nouveau message Nouveau Patch ucc For V436
Pour server si vous avez embrouillé les patch 436 451 451d et voulez repasser en 436.


Code:
#!/bin/sh
#
# standard format startup script for unreal tournament
#
# (c) 1999-2002 abfackeln@abfackeln.com
# last modified 2002-04-24
######################################################

MYNAME=ucc.init

MYGAME=Botpack.DeathMatchPlus
MYMAP=DM-1on1-DavidM
MYUSERID=f00
MYDIR=/home/f00/freestyle
MYIP=46.4.92.176
#MYMODS=UTPureRC7G.UTPureSA,MvReporter2.MvReporter,ESTMaleVPv2.ESTMaleVPv2
MYMODS=MapVoteLA13.BDBMapVote
MYINI=/home/ut99/freestyle/System/UnrealTournament.ini
MYUSER=User.ini
#export UT_DATA_PATH="$MYDIR/System/"
MYLOGFILE="$MYDIR/Logs/$MYNAME.log"
MYLOCKFILE="$MYDIR/System/$MYNAME.lock"

# MAXLOGSIZE is the maximum size allowed (in kB) by the "check"
# procedure -- if "check" is called and the log size is greater than
# this value then "logrotate" will be invoked; suggested value: 1024
# set MAXLOGSIZE to 0 to disable logratate if you are having trouble
# -- you will still be able to call "logrotate" manually
MAXLOGSIZE=1024

# MAXLOGFILES is the number of backup log files that will be kept
# when "logrotate" is called; suggested value: 4
# warning: if this value is 0 then no backup log files will be kept
# and the current log will be overwritten if the logs are rotated.
MAXLOGFILES=4

# MONITORFREQ is the time (in seconds) between each call to "check"
# by the "infinity" loop; suggested value: 60
# warning: setting this too low can cause bad things to happen.
MONITORFREQ=60

# BROKENCPUTIME is the maximum %cpu usage that is allowed if this is
# exceeded in two successive checks (seperated by the amount of time
# determined by MONITORFREQ) then the server will be restarted.
# set to 0 to disable, must be below 100; suggested value: 99
# warning: setting this too low can cause the server to restart a lot
BROKENCPUTIME=99

# LOGSPAMCHECK is used to detect that the server is in a bad loop
# this can happen if the same message is output to the log over and over
# when this happens, we must restart the server -- valid values: 0 or 1
# set this to 0 if you do not want this check to happen
LOGSPAMCHECK=1

# NICELEVEL is used to attempt to run ucc at a higher priority than other tasks
# (this has no effect unless you exec this script as root)
# you must set the NICELEVEL to a negative value, which will tell the kernel
# that this process does not play "nice" with other processes and will demand
# more attention -- valid values 0 to -20
# suggested value: 0 or -10
# the "nice" command may not work in some shells, in this case set to 0
NICELEVEL=0

# CANSUID determines if the command uses "su" when executed by root
# or if it tries to chown/chmod the ucc-bin command before executing it.
# set CANSUID to zero if you have trouble -- valid values: 0 or 1
CANSUID=1

######################################################
#
# no user servicable parts beyond this point.
#
# if you find that you need to change anything below here,
# please contact me because i would like to ensure that this
# is no longer necessary (for any reason)
#
# send feedback to ut@abfackeln.com
# thank-you
#
######################################################

WriteToLog ()
{
    TIME=$(date +"%Y-%m-%d %H:%M:%S")
    $SUID "echo \"[$TIME] $MYNAME: $1\" >> $MYLOGFILE"
}

if [ ! -d "$MYDIR/System" ]; then
   echo "ERROR: Can not find System directory in $MYDIR"
   exit -2
fi

if [ ! -d "$MYDIR/Logs" ]; then
   echo "ERROR: Can not find Logs directory in $MYDIR"
   exit -2
fi

ulimit -c 0

if [ -z "$MYMODS" ]; then
   TMP="$MYMAP""\?game=$MYGAME"
else
   TMP="$MYMAP""\?game=$MYGAME""\?mutator=$MYMODS"
fi
if [ -n "$MYIP" ]; then
   TMP="$TMP multihome=$MYIP"
fi
if [ -n "$MYUSER" ]; then
   TMP="$TMP userini=$MYUSER"
fi
if [ -n "$MYINI" ]; then
   TMP="$TMP ini=$MYINI"
fi
MYEXECMD="./ucc server $TMP --nohomedir log=/dev/null"
OUTLOG="$MYLOGFILE"

SUID="bash -c"
if [ `whoami` = "root" ]; then
   ATTEMPTNICE=
   if [ $NICELEVEL -ne 0 ]; then
      ATTEMPTNICE="nice -n $NICELEVEL"
   fi

   if [ "$CANSUID" = "1" ]; then
      SUID="$ATTEMPTNICE su $MYUSERID -c"
   else
      SUID="$ATTEMPTNICE $SUID"
      chown $MYUSERID $MYDIR/System/ucc-bin
      chmod u+s $MYDIR/System/ucc-bin
   fi
fi

case "$1" in
   start)
      $0 soft-start
      $0 infinity &
      ;;
   stop)
      if [ -f "$MYLOCKFILE.8" ]; then
         # break infinity simply by removing the lock file
         rm -f $MYLOCKFILE.8
      fi

      $0 soft-stop
      ;;
   restart)
      $0 stop
      $0 start
      ;;
   soft-start)
      echo -n "Starting Unreal Tournament: "
      if [ -f $MYLOCKFILE ]; then
         echo "Process is already running.  Not started."
      else
         $0 logrotate >/dev/null
         cd $MYDIR
         WriteToLog "soft-start"
         # the log file must be written with append (">>") or the logrotate
         # will not work.  also, we must echo the PID to the lock file on the
         # same command line so that we do not create permission problems
         # with the lock file if logged in as root
         $SUID "$MYEXECMD >> $OUTLOG & echo \$! > $MYLOCKFILE"
         echo "$MYNAME"
      fi
      ;;
   soft-stop)
      echo -n "Stopping Unreal Tournament: "
      if [ ! -f $MYLOCKFILE ]; then
         echo "not found"
         exit -4
      fi
      WriteToLog "soft-stop"
      kill -TERM $(cat $MYLOCKFILE)
      rm -f "$MYLOCKFILE"
      echo "$MYNAME"
      ;;
   soft-restart)
      if [ -f $MYLOCKFILE ]; then
         $0 soft-stop
      fi
      $0 soft-start
      ;;
   infinity)
      # "infinity" -- this command is used to start an
      # infinite loop to ensure that server is always up without use of cron

      $SUID "echo $$ > $MYLOCKFILE.8"

      # note, overwriting the infinity (.8) lock file will kill any previous
      # infinity # process because the pid will no longer match -- this is a
      # good thing and saves us from trying to seek out old processes to kill
      # them.

      # further note, running "check" will also ensure that we kill any
      # previous pids (of the non-infinity type) before restarting the server
      # .. this means that any server process that may still be running
      # (with a valid lock file) will be killed before restarting the server.

      while [ -f $MYLOCKFILE.8 -a "$$" = "$(cat $MYLOCKFILE.8 2>/dev/null)" ]; do
         $0 check
         sleep $MONITORFREQ
      done
      ;;
   check)
      # check if process is alive
      PROC=$(cat $MYLOCKFILE 2>/dev/null)
      if [ -z "$(ps -p $PROC 2>/dev/null | grep ucc)" ]; then
         WriteToLog "restarting because pid died"
         $0 soft-restart
         exit 1
      fi

      # check if overworking the cpu (condition is usually unrecoverable)
      if [ $BROKENCPUTIME -gt 0 ]; then
         # need the zero in front in case the command substitution returns a null
         CPUTIME=0$(ps auxw | sed -n -e "s/^$MYUSERID\ *$PROC\ *\([0-9]*\).*$/\1/"p)
         if [ $CPUTIME -ge $BROKENCPUTIME ]; then
            WriteToLog "cpu time is over $BROKENCPUTIME at $CPUTIME"
            WriteToLog "Pausing for 60 seconds to see if it is still evil..."
            sleep 60
            CPUTIME=0$(ps auxw | sed -n -e "s/^$MYUSERID\ *$PROC\ *\([0-9]*\).*$/\1/"p)
            WriteToLog "cpu time = $CPUTIME"
            if [ $CPUTIME -ge $BROKENCPUTIME ]; then
               $0 soft-restart
               exit 1
            fi
         fi
      fi

      # check if logrotate is necessary
      if [ $MAXLOGSIZE -gt 0 ]; then
         # need the zero in front in case the command substitution returns a null
         LOGSIZE=0$(ls -sk $MYLOGFILE | sed -n 's/^\([0-9]*\).*$/\1/p')
         if [ $LOGSIZE -gt $MAXLOGSIZE ]; then
            if [ $LOGSPAMCHECK = "1" -a $LOGSIZE -gt $(($MAXLOGSIZE + 1024)) ]; then
               # error -- logs are waaay too big (1MB over MAXLOGSIZE)
               # something must be wrong -- this may happen if stuck in an
               # endless loop -- must restart server
               WriteToLog "restarting because log file is more than 1MB over MAXLOGSIZE"
               $0 soft-restart
            else
               $0 logrotate
            fi
         fi
      fi
      ;;
   logrotate)
      if [ -s "$MYLOGFILE" ]; then
         if [ $MAXLOGFILES -gt 0 ]; then
            WriteToLog "Rotating logs..."
            COUNT=$MAXLOGFILES
            NEXTLOG="$MYLOGFILE.$COUNT"
            COUNT=$(($COUNT - 1))
            PREVLOG="$MYLOGFILE.$COUNT"
            while [ $COUNT -gt 0 ]; do
               if [ -f "$PREVLOG" ]; then
                  $SUID "mv $PREVLOG $NEXTLOG"
               fi
               NEXTLOG=$PREVLOG
               COUNT=$(($COUNT - 1))
               PREVLOG="$MYLOGFILE.$COUNT"
            done
            $SUID "cp $MYLOGFILE $NEXTLOG"
         else
            WriteToLog "Rotating logs... -- MAXLOGFILES is not set -- log file not saved!!"
         fi
         $SUID "cat /dev/null > $MYLOGFILE"
      else
         WriteToLog "Rotating logs... -- MYLOGFILE is empty -- not rotating!"
      fi
      ;;
   *)
      echo "Usage: $0 {start|stop|restart|check|logrotate}"
      exit -1
esac

exit 0



Téléchargement

http://unrealtournament.99.free.fr/utfi ... r_V436.zip

_________________
UT99 files
Image
Image
Image
Image
Image
Image
Image


23 Fév 2014, 14:08
Profil Envoyer un e-mail
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 1 message ] 


Qui est en ligne

Utilisateurs enregistrés : Aucun utilisateur enregistré


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Powered by phpBB © phpBB Group.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.
Traduction par: phpBB-fr.com