Авто запуск Сервера, запуск сервера после падения |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
Авто запуск Сервера, запуск сервера после падения |
GUS
|
16.2.2016, 12:43
Сообщение
|
|
|
Всем привет! Мужики нужна ваша помощь ,запустил Кс 1.6 сервер на Vps сервере,все нормально работает но есть одно но, не могу настроить hlds run чтоб после падения или отключения сервер, автоматический запускался. Огромное спасибо тем кто поможет мне с этим. Билд сервера
BUILD 6027 SERVER (0 CRC) вот сам конфиг hlds #!/bin/sh # # Copyright © 2002, Valve LLC. All rights reserved. # # a wrapper script for the main hl dedicated server binary. # Performs auto-restarting of the server on crash. You can # extend this to log crashes and more. # # setup the libraries, local dir first! export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" init() { # Initialises the various variables # Set up the defaults GAME="valve" DEBUG=0 RESTART="yes" HL=./hlds_linux HL_DETECT=1 TIMEOUT=10 # time to wait after a crash (in seconds) CRASH_DEBUG_MSG="email debug.log to linux@valvesoftware.com" GDB="gdb" # the gdb binary to run DEBUG_LOG="debug.log" PID_FILE="" STEAM="" STEAMERR="" SIGINT_ACTION="quit 0" # exit normally on sig int NO_TRAP=0 AUTO_UPDATE="" BETA_VERSION="" PARAMS=$* # Remove any old default pid files # Cant do this as they may be still running #rm -f hlds.*.pid # use the $FORCE environment variable if its set if test -n "$FORCE" ; then # Note: command line -binary will override this HL=$FORCE HL_DETECT=0 fi while test $# -gt 0; do case "$1" in "-game") GAME="$2" shift ;; "-debug") DEBUG=1 # Ensure that PID_FILE is set if test -z "$PID_FILE"; then PID_FILE="hlds.$$.pid" fi ;; "-norestart") RESTART="" ;; "-pidfile") PID_FILE="$2" shift ;; "-binary") HL="$2" HL_DETECT=0 shift ;; "-timeout") TIMEOUT="$2" shift ;; "-gdb") GDB="$2" shift ;; "-debuglog") DEBUG_LOG="$2" shift ;; "-autoupdate") AUTO_UPDATE="yes" STEAM="steamcmd/steamcmd.sh" RESTART="yes" ;; "-steamerr") STEAMERR=1 ;; "-ignoresigint") SIGINT_ACTION="" ;; "-notrap") NO_TRAP=1 ;; "-beta") BETA_VERSION="$2" shift ;; "-help") # quit with syntax quit 2 ;; esac shift done # Ensure we have a game specified if test -z "$GAME"; then echo "Unable to determine game type from command line." quit 1 elif test ! -d "$GAME"; then echo "Invalid game type '$GAME' sepecified." quit 1 fi #if test 0 -eq "$NO_TRAP"; then # Set up the int handler # N.B. Dont use SIGINT symbolic value # as its just INT under ksh #trap "$SIGINT_ACTION" 2 #fi if test ! -f "$HL"; then echo "Half-life binary '$HL' not found, exiting" quit 1 elif test ! -x "$HL"; then # Could try chmod but dont know what we will be # chmoding so just fail. echo "Half-life binary '$HL' not executable, exiting" quit 1 fi # Setup debugging if test "$DEBUG" -eq 1; then #turn on core dumps :) (if possible) echo "Enabling debug mode" if test "`ulimit -c`" -eq 0 ; then ulimit -c 2000 fi GDB_TEST=`$GDB -v` if test -z "$GDB_TEST"; then echo "Please install gdb first." echo "goto http://www.gnu.org/software/gdb/ " DEBUG=0 # turn off debugging cause gdb isn't installed fi fi PID_IN_PARAMS="`echo $PARAMS | grep -e -pidfile`" if test -z "$PID_IN_PARAMS" && test -n "$PID_FILE"; then HL_CMD="$HL $PARAMS -pidfile $PID_FILE" else HL_CMD="$HL $PARAMS" fi } syntax () { # Prints script syntax echo "Syntax:" echo "$0 [-game <game>] [-debug] [-norestart] [-pidfile]" echo " [-binary [hlds_linux]" echo " [-timeout <number>] [-gdb <gdb>] [-autoupdate]" echo " [-steamerr] [-ignoresigint] [-beta <version>]" echo " [-debuglog <logname>]" echo "Params:" echo "-game <game> Specifies the <game> to run." echo "-debug Run debugging on failed servers if possible." echo "-debuglog <logname> Log debug output to this file." echo "-norestart Don't attempt to restart failed servers." echo "-pidfile <pidfile> Use the specified <pidfile> to store the server pid." echo "-binary <binary> Use the specified binary ( no auto detection )." echo "-timeout <number> Sleep for <number> seconds before restarting" echo " a failed server." echo "-gdb <gdb> Use <dbg> as the debugger of failed servers." echo "-steamerr Quit on steam update failure." echo "-beta <version> Make use of a beta version of this server from Steam" echo "-ignoresigint Ignore signal INT ( prevents CTRL+C quitting" echo " the script )." echo "-notrap Don't use trap. This prevents automatic" echo " removal of old lock files." echo "" echo "Note: All parameters specified as passed through to the server" echo "including any not listed." } debugcore () { # Debugs any core file if DEBUG is set and # the exitcode is none 0 exitcode=$1 if test $exitcode -ne 0; then if test -n "$DEBUG" ; then echo "bt" > debug.cmds; echo "info locals" >> debug.cmds; echo "info sharedlibrary" >> debug.cmds echo "info frame" >> debug.cmds; # works, but gives an error... must be last echo "----------------------------------------------" >> $DEBUG_LOG echo "CRASH: `date`" >> $DEBUG_LOG echo "Start Line: $HL_CMD" >> $DEBUG_LOG # check to see if a core was dumped if test -f core ; then CORE="core" elif test -f core.`cat $PID_FILE`; then CORE=core.`cat $PID_FILE` elif test -f "$HL.core" ; then CORE="$HL.core" fi if test -n "$CORE"; then $GDB $HL $CORE -x debug.cmds -batch >> $DEBUG_LOG fi echo "End of crash report" >> $DEBUG_LOG echo "----------------------------------------------" >> $DEBUG_LOG echo $CRASH_DEBUG_MSG rm debug.cmds else echo "Add \"-debug\" to the $0 command line to generate a debug.log to help with solving this problem" fi fi } update() { updatesingle } updatesingle() { # Run the steam update # exits on failure if STEAMERR is set if test -n "$AUTO_UPDATE"; then if test -f "$STEAM"; then echo "Updating server using Steam." CMD="$STEAM +logon anonymous +force_install_dir .. +app_update 90 +quit"; if test -n "$BETA_VERSION"; then CMD="$CMD -beta $BETA_VERSION"; fi STEAMEXE=steamcmd $CMD if test $? -ne 0; then if test -n "$STEAMERR"; then echo "`date`: Steam Update failed, exiting." quit 1 else echo "`date`: Steam Update failed, ignoring." return 0 fi fi else if test -n "$STEAMERR"; then echo "Could not locate steam binary:$STEAM, exiting."; quit 1 else echo "Could not locate steam binary:$STEAM, ignoring."; return 0 fi fi fi return 1 } run() { # Runs the steam update and server # Loops if RESTART is set # Debugs if server failure is detected # Note: if RESTART is not set then # 1. DEBUG is set then the server is NOT exec'd # 2. DEBUG is not set the the server is exec'd if test -n "$RESTART" ; then echo "Auto-restarting the server on crash" #loop forever while true do # Update if needed update # Run the server $HL_CMD retval=$? if test $retval -eq 0 && test -z "$RESTART" ; then break; # if 0 is returned then just quit fi debugcore $retval echo "`date`: Server restart in $TIMEOUT seconds" # don't thrash the hard disk if the server dies, wait a little sleep $TIMEOUT done # while true else # Update if needed update # Run the server if test "$DEBUG" -eq 0; then # debug not requested we can exec exec $HL_CMD else # debug requested we can't exec $HL_CMD debugcore $? fi fi } quit() { # Exits with the give error code, 1 # if none specified. # exit code 2 also prints syntax exitcode="$1" # default to failure if test -z "$exitcode"; then exitcode=1 fi case "$exitcode" in 0) echo "`date`: Server Quit" ;; 2) syntax ;; *) echo "`date`: Server Failed" ;; esac # Remove pid file if test -n "$PID_FILE" && test -f "$PID_FILE" ; then # The specified pid file rm -f $PID_FILE fi # reset SIGINT and then kill ourselves properly trap - 2 kill -2 $$ } # Initialise init $* # Run run # Quit normally quit 0
Отредактировал: XyLiGaN, - 16.2.2016, 12:50
Причина: Выдано устное предупреждение! |
|
|
|
adva
|
16.2.2016, 15:49
Сообщение
|
![]() ![]() |
DEBUG=0 на 1 поменяй
|
Поблагодарили 1 раз
|
|
Fire
|
16.2.2016, 16:09
Сообщение
|
![]() ![]() |
DEBUG=0 на 1 поменяй А правильней, добавить -debug в строку запуска сервера. ![]() |
Поблагодарили 1 раз
|
|
GUS
|
16.2.2016, 22:12
Сообщение
|
|
|
Спасибо мужики !
|
|
|
|
GUS
|
17.2.2016, 0:01
Сообщение
|
|
|
|
|
|
|
adva
|
17.2.2016, 0:12
Сообщение
|
![]() ![]() |
|
Поблагодарили 1 раз
|
|
GUS
|
17.2.2016, 0:22
Сообщение
|
|
|
|
|
|
|
hunterzver
|
17.2.2016, 2:05
Сообщение
|
|
|
а подскажите,а если вдс ребутнётся?
|
|
|
|
adva
|
17.2.2016, 3:25
Сообщение
|
![]() ![]() |
|
|
|
|
![]() ![]() |