Здравствуйте, Наверника люди слышали или играле на сервере Bancaq™ - BeautifulDreamsMt2™ когда он еще у них стоял на VDS хостинге... и у них была такая проблема, каждый 1-2 часа сервер падал... Дак вот я решил выложить скрипт который через определенное время перезапускает Auth и BD сервера,а так же и само CORE ! И при этом все игроки остаются в игре и никто не вылетает.
PIDAUTH=`ps aux | grep auth | grep -v grep | awk '{print $2;}'` if [ "x$PIDAUTH" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: AUTH SERVER IST OKAY! PID: $PIDAUTH" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der Auth (Login-Server) ist abgestürzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte Auth (Login-Server) ..." >> $LOG cd $GAMEDIR/auth && ./auth fi
PIDDB=`ps aux | grep db | grep -v grep | awk '{print $2;}'` if [ "x$PIDDB" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: DB CORE IST OKAY! PID: $PIDDB" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S`:: Der DB Core ist abgestürzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte DB Core & den rest des Servers ..." >> $LOG cd $GAMEDIR/db && ./db cd $GAMEDIR/auth && ./auth cd $GAMEDIR/channel1/first && ./first cd $GAMEDIR/channel1/game1 && ./game1_1 cd $GAMEDIR/channel1/game2 && ./game1_2 cd $GAMEDIR/channel1/game3 && ./game1_3 cd $GAMEDIR/channel1/game4 && ./game1_4 fi
PIDFIRST=`ps aux | grep first | grep -v grep | awk '{print $2;}'` if [ "x$PIDFIRST" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: FIRST CORE IST OKAY! PID: $PIDFIRST" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der FIRST Core ist abgestürzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte FIRST Core ..." >> $LOG cd $GAMEDIR/channel1/first && ./first
fi
PIDGAME1=`ps aux | grep game1_1 | grep -v grep | awk '{print $2;}'` if [ "x$PIDGAME1" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: GAME1_1 CORE IST OKAY! PID: $PIDGAME1" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der GAME1_1 Core ist abgestürzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte GAME1_1 Core ..." >> $LOG cd $GAMEDIR/channel1/game1 && ./game1_1
fi
PIDGAME2=`ps aux | grep game1_2 | grep -v grep | awk '{print $2;}'` if [ "x$PIDGAME2" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: GAME1_2 CORE IST OKAY! PID: $PIDGAME2" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der GAME1_2 Core ist abgestürzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte GAME1_2 Core ..." >> $LOG cd $GAMEDIR/channel1/game2 && ./game1_2
fi
PIDGAME3=`ps aux | grep game1_3 | grep -v grep | awk '{print $2;}'` if [ "x$PIDGAME3" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: GAME1_3 CORE IST OKAY! PID: $PIDGAME3" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der Game1_3 Core ist abgestürzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte Game1_3 Core ..." >> $LOG cd $GAMEDIR/channel1/game3 && ./game1_3
fi
PIDGAME4=`ps aux | grep game1_4 | grep -v grep | awk '{print $2;}'` if [ "x$PIDGAME4" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S`:: GAME1_4 CORE IST OKAY! PID: $PIDGAME4" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der Game1_4 Core ist abgestürzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte Game1_4 Core ..." >> $LOG cd $GAMEDIR/channel1/game4 && ./game1_4
fi
PIDGAME99=`ps aux | grep game99 | grep -v grep | awk '{print $2;}'` if [ "x$PIDGAME99" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S`:: GAME99 CORE IST OKAY! PID: $PIDGAME99" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der Game99 Core ist abgestürzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte Game99 Core ..." >> $LOG cd $GAMEDIR/game99 && ./game99 fi
Установка: 1 создаем любой файл например пишем в консоле сервера *создаем файл* - console# ee reload.sh и вставляем туда наш код... выходим сохраняем.... 2 Запускать его нужно после того как мы запустили сервер - cd /usr/home/game & sh start.sh сервер запустился и пишем где он у нас находится у меня в root cd /root sh reload.sh
И ваш сервер больше не упадет скрипт будет следить за его работо способностью. От +сягянжов неоткажусь ^^
///Вырезано. Ещё раз и будет отключение подписи. Пожалуйста, уменьшайте размеры ваших подписей, уважайте других пользователей.
Сообщение отредактировал BlackVol4ara[BV] - Суббота, 26.05.2012, 10:43
скрипт разве относится к 2010-11 файлам? если да как поменять это cd $GAMEDIR/channel1/first && ./first cd $GAMEDIR/channel1/game1 && ./game1_1 cd $GAMEDIR/channel1/game2 && ./game1_2 cd $GAMEDIR/channel1/game3 && ./game1_3 cd $GAMEDIR/channel1/game4 && ./game1_4 этоже вроде как 2008 файлах... или както можно это поменять?
GAMEDIR как я понял простая переменная заданная в начале скрипта а обозначает она путь до файлов сервера а точнее вот GAMEDIR="/home/game" Так что все верно это 2010 +)
Порой мы не замечаем свои ошибки, но любим указывать на чужие...
http://antasia2.ru/ - Готовность 90 % .
Сообщение отредактировал Rusgame - Суббота, 26.05.2012, 17:49
GAMEDIR как я понял простая переменная заданная в начале скрипта а обозначает она путь до файлов сервера а точнее вот GAMEDIR="/home/game" Так что все верно это 2010 +)
так вот непонятно согласен путь указан как на 201* платформе..а это cd $GAMEDIR/channel1/first && ./first cd $GAMEDIR/channel1/game1 && ./game1_1 cd $GAMEDIR/channel1/game2 && ./game1_2 cd $GAMEDIR/channel1/game3 && ./game1_3 cd $GAMEDIR/channel1/game4 && ./game1_4
в папке канала включается то чего нету разве невидно по скрипту...(путь то сначала правельный а конечный смотри разделил специально) cd $GAMEDIR/channel1 что это > /first && ./first cd $GAMEDIR/channel1 что это > /game1 && ./game1_1 cd $GAMEDIR/channel1 что это > /game2 && ./game1_2 cd $GAMEDIR/channel1 что это > /game3 && ./game1_3 cd $GAMEDIR/channel1 что это > /game4 && ./game1_4 над скрипт править както последний файлы убрать и поставить кто смог выложите плиз..
Добавлено (27.05.2012, 07:53) --------------------------------------------- BlackVol4ara[BV] ответь хотябы ты, у тебя пути неправильно идут скажи как правильно редактировать потому что твой неработает... вот попробывал переделать я сам ошибку терь невыдвёт запускается,но дальше неследит и неперезагружает и сервер также летит... мой скрипт
PIDAUTH=`ps aux | grep auth | grep -v grep | awk '{print $2;}'` if [ "x$PIDAUTH" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: AUTH SERVER IST OKAY! PID: $PIDAUTH" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der Auth (Login-Server) ist abgesturzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte Auth (Login-Server) ..." >> $LOG cd $GAMEDIR/auth && ./auth fi
PIDDB=`ps aux | grep db | grep -v grep | awk '{print $2;}'` if [ "x$PIDDB" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: DB CORE IST OKAY! PID: $PIDDB" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S`:: Der DB Core ist abgesturzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte DB Core & den rest des Servers ..." >> $LOG cd $GAMEDIR/db && ./db cd $GAMEDIR/auth && ./auth cd $GAMEDIR/channel1 && ./game cd $GAMEDIR/channel2 && ./game fi
PIDGAME=`ps aux | grep game | grep -v grep | awk '{print $2;}'` if [ "x$PIDGAME" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: GAME CORE IST OKAY! PID: $PIDGAME" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der Game Core ist abgesturzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte Game Core ..." >> $LOG cd $GAMEDIR/channel1 && ./game
fi
PIDGAME=`ps aux | grep game | grep -v grep | awk '{print $2;}'` if [ "x$PIDGAME" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: GAME CORE IST OKAY! PID: $PIDGAME" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der Game Core ist abgesturzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte Game Core ..." >> $LOG cd $GAMEDIR/channel2 && ./game
fi
PIDGAME99=`ps aux | grep game | grep -v grep | awk '{print $2;}'` if [ "x$PIDGAME" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S`:: GAME CORE IST OKAY! PID: $PIDGAME99" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der Game Core ist abgesturzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte Game Core ..." >> $LOG cd $GAMEDIR/game99 && ./game fi
Еслиб работало то неписалбы))Корень папки сам глянь в скрипте что он запускает то чего нету папка фист ,гейм 1_1 ,гейм 1_2 ,гейм 1_3 ,гейм 1_4 такого нету на 201* файлах..
PIDAUTH=`ps aux | grep auth | grep -v grep | awk '{print $2;}'` if [ "x$PIDAUTH" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: AUTH SERVER IST OKAY! PID: $PIDAUTH" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der Auth (Login-Server) ist abgesturzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte Auth (Login-Server) ..." >> $LOG cd $GAMEDIR/auth && ./auth fi
PIDDB=`ps aux | grep db | grep -v grep | awk '{print $2;}'` if [ "x$PIDDB" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: DB CORE IST OKAY! PID: $PIDDB" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S`:: Der DB Core ist abgesturzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte DB Core & den rest des Servers ..." >> $LOG cd $GAMEDIR/db && ./db cd $GAMEDIR/auth && ./auth cd $GAMEDIR/channel1/first && ./first cd $GAMEDIR/channel1/game1 && ./game1_1 cd $GAMEDIR/channel1/game2 && ./game1_2 cd $GAMEDIR/channel1/game3 && ./game1_3 cd $GAMEDIR/channel1/game4 && ./game1_4 fi
PIDFIRST=`ps aux | grep first | grep -v grep | awk '{print $2;}'` if [ "x$PIDFIRST" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: FIRST CORE IST OKAY! PID: $PIDFIRST" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der FIRST Core ist abgesturzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte FIRST Core ..." >> $LOG cd $GAMEDIR/channel1/first && ./first
fi
PIDGAME1=`ps aux | grep game1_1 | grep -v grep | awk '{print $2;}'` if [ "x$PIDGAME1" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: GAME1_1 CORE IST OKAY! PID: $PIDGAME1" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der GAME1_1 Core ist abgesturzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte GAME1_1 Core ..." >> $LOG cd $GAMEDIR/channel1/game1 && ./game1_1
fi
PIDGAME2=`ps aux | grep game1_2 | grep -v grep | awk '{print $2;}'` if [ "x$PIDGAME2" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: GAME1_2 CORE IST OKAY! PID: $PIDGAME2" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der GAME1_2 Core ist abgesturzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte GAME1_2 Core ..." >> $LOG cd $GAMEDIR/channel1/game2 && ./game1_2
fi
PIDGAME3=`ps aux | grep game1_3 | grep -v grep | awk '{print $2;}'` if [ "x$PIDGAME3" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S` :: GAME1_3 CORE IST OKAY! PID: $PIDGAME3" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der Game1_3 Core ist abgesturzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte Game1_3 Core ..." >> $LOG cd $GAMEDIR/channel1/game3 && ./game1_3
fi
PIDGAME4=`ps aux | grep game1_4 | grep -v grep | awk '{print $2;}'` if [ "x$PIDGAME4" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S`:: GAME1_4 CORE IST OKAY! PID: $PIDGAME4" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der Game1_4 Core ist abgesturzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte Game1_4 Core ..." >> $LOG cd $GAMEDIR/channel1/game4 && ./game1_4
fi
PIDGAME99=`ps aux | grep game99 | grep -v grep | awk '{print $2;}'` if [ "x$PIDGAME99" != "x" ]; then echo "`date +%d.%m.%Y-%H:%M:%S`:: GAME99 CORE IST OKAY! PID: $PIDGAME99" >> $LOG else echo "`date +%d.%m.%Y-%H:%M:%S` :: Der Game99 Core ist abgesturzt" >> $LOG echo "`date +%d.%m.%Y-%H:%M:%S` :: Starte Game99 Core ..." >> $LOG cd $GAMEDIR/game99 && ./game99 fi
Добавлено (05.06.2012, 12:33) --------------------------------------------- сорри не пашет...