Удобный скрипт запуска сервера кс :) |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
Удобный скрипт запуска сервера кс :) |
otec_cs
|
15.2.2011, 17:37
Сообщение
|
|
|
./ вообще кроме это го запуски существуют какие нить ?
или ./ Это слеш точка всегда используется для запусков ? |
|
|
|
otec_cs
|
15.2.2011, 18:57
Сообщение
|
|
|
а tar что такое ?
Можно ли запустить на ubunty teamviewer ? |
|
|
|
330863
|
15.2.2011, 21:04
Сообщение
|
![]() |
otec_cs,
tar - архиватор если моя память мне не обманывает teamviewer - анал на линуксе ,ssh рулет ,и с мойм мнением многие согласяться :) |
|
|
|
Hitmaaaaan
|
24.2.2011, 13:50
Сообщение
|
![]() |
|
|
|
|
ValikDRV
|
24.2.2011, 17:09
Сообщение
|
![]() |
Цитата path="/media/Servers/hlds_pub" #Путь до ROOT-директории сервера (без /в конце) нэ? |
|
|
|
330863
|
24.2.2011, 19:42
Сообщение
|
![]() |
Hitmaaaaan,
Код chmod -R 777 /путь к hlds_run empy, проблема с параметрами файла ,или изменение важных строк кода =/ для теста сделаю вывод из своего сервака но не шас |
|
|
|
330863
|
24.2.2011, 19:48
Сообщение
|
![]() |
empy,
я как понял из написанного мой скрипт чекер а его запуск (лексикона) ,используйте один и тотже скрипт тогда небудет проблем |
|
|
|
empy
|
24.2.2011, 19:59
Сообщение
|
|
|
|
|
|
|
Hitmaaaaan
|
24.2.2011, 20:09
Сообщение
|
![]() |
|
|
|
|
330863
|
24.2.2011, 20:29
Сообщение
|
![]() |
Hitmaaaaan,
покажы тут свой скрипт и напиши параметры ,где твой сервак ,ипшник итд ... empy, можно дать содержимое скрипта тут ? + ипшник и порт сервака ? |
|
|
|
Hitmaaaaan
|
24.2.2011, 20:40
Сообщение
|
![]() |
|
|
|
|
empy
|
24.2.2011, 20:55
Сообщение
|
|
|
скрипт #!/bin/bash # # authors: LeXiKoN & Puma http://eqline.ru & https://c-s.net.ua # version: 1.09 # Source function library. #. /lib/lsb/init-functions VERSION="1.09" ##################################################### # Configuration ##################################################### server_name="CSDM ::only HS::" screen_name="serv27" #Название screen-сессии use_user="root" #Р?РјСЏ юзера РѕС‚ которого запускается сервер path="/home/empy/csserv/27027" #Путь РґРѕ ROOT-директории сервера (без /РІ конце) hlds_ip="95.31.x.x" #IP сервера ,РЅРµ ставить 0.0.0.0 hlds_port="27027" #РџРѕСЂС‚ сервера hlds_players="18" #Максимальное количество РёРіСЂРѕРєРѕРІ РЅР° сервере hlds_map="de_dust2" #Р?РјСЏ первоначальной карты РїСЂРё запуске hlds_options1="-pingboost 3 -debug" #Дополнительные параметры запуска condebug="1" #Включить логи РІ файле qconsole.log РёР· папки cstrike priority="-10" #Приоритет для сервера (-20 - Высокий ;20 - РќРёР·РєРёР№) usecore="0,1,2,3" #РџСЂРёРІСЏР·РєР° Рє процессору (0, 1, 2, 3) allcore="0,1,2,3" #РџСЂРѕРїРёС?ите числа СЏРґСЂРѕРІ ,начиная СЃ 0 (0,1 - двухядерный) hlds_pid="hlds27027.pid" #Р?РјСЏ pid файла сервера screen_pid="$screen_name-screen.pid" #Р?РјСЏ pid файла screen-a clear_logs="1" # очиС?ать лог файлы РїСЂРё запуске сервера через СЃРєСЂРёРїС‚? clear_cache="1" # очиС?ать РєСЌС?Рё системы перед запуском сервера? # работает только РїРѕРґ рутом start_cmd="/usr/bin/screen -AmdS $screen_name" checker_cmd="$path/quakestat" #Команда пакета qStat отвечающего Р·Р° проверку сервера hlds_pid_num=`cat $path/$hlds_pid` #Определяет число pid РѕС‚ сервака ##################################################### # End of configuration ##################################################### succes="[ РћРљ ]" failed="[ FAIL ]" status_on="[ Online ]" status_off="[ Offline ]" title="[$hlds_ip:$hlds_port]" if [ $condebug = 1 ]; then hlds_options2="-condebug" fi if [ ! -x $path/hlds_27027 ]; then printf "$title Check run privileges of hlds_27027 " exit 1 fi clear_logs() { if [ $use_user == root ]; then rm -f $path/debug.log rm -f $path/cstrike/qconsole.log rm -f $path/cstrike/logs/*.log rm -fr $path/cstrike/addons/amxmodx/logs/*.log else sudo -u $use_user rm -f $path/debug.log sudo -u $use_user rm -f $path/cstrike/qconsole.log sudo -u $use_user rm -f $path/cstrike/logs/*.log sudo -u $use_user rm -fr $path/cstrike/addons/amxmodx/logs/*.log fi printf "$title Log Cleared\n" } prestart_check() { if [ -f $path/$hlds_pid ] && [ -f $path/$screen_pid ]; then ch=`ps -ef | grep SCREEN | grep $hlds_port` if [ -n "$ch" ]; then printf "$title $server_name already its working (!!)\n" exit 1 else cd $path rm -rf $path/$screen_pid rm -rf $path/$hlds_pid fi fi } start() { prestart_check cd $path if [ $clear_logs == 1 ]; then clear_logs fi if [ $use_user == root ]; then if [ $clear_cache == 1 ]; then echo 3 > /proc/sys/vm/drop_caches fi $start_cmd ./hlds_27027 -game cstrike +maxplayers $hlds_players +map $hlds_map +ip $hlds_ip +port $hlds_port $hlds_options1 $hlds_options2 -pidfile $hlds_pid ps -ef | grep SCREEN | grep "$hlds_port" | grep -v grep | awk '{ print $2}' > $path/$screen_pid printf "$title Starting $server_name\n" sleep 1 hlds_pid_num=`cat $path/$hlds_pid` taskset -pc $usecore $hlds_pid_num renice -n $priority -p $hlds_pid_num else $start_cmd sudo -u $use_user ./hlds_27027 -game cstrike +maxplayers $hlds_players +map $hlds_map +ip $hlds_ip +port $hlds_port $hlds_options1 $hlds_options2 -pidfile $hlds_pid ps -ef | grep SCREEN | grep "$hlds_port" | grep -v grep | awk '{ print $2}' > $path/$screen_pid printf "$title Starting $server_name\n" sleep 1 hlds_pid_num=`cat $path/$hlds_pid` sudo taskset -pc $usecore $hlds_pid_num sudo renice -n $priority -p $hlds_pid_num fi } stop() { if [ $use_user == root ]; then if [ -f $path/$hlds_pid ] && [ -f $path/$screen_pid ]; then kill `cat $path/$screen_pid` sleep 1 rm -rf $path/$screen_pid rm -rf $path/$hlds_pid printf "$title Stopping of $server_name\n" else printf "$title Cannot stop $server_name, server not started\n" fi else if [ -f $path/$hlds_pid ] && [ -f $path/$screen_pid ]; then sudo -u $use_user kill `cat $path/$screen_pid` sleep 1 sudo -u $use_user rm -rf $path/$screen_pid sudo -u $use_user rm -rf $path/$hlds_pid printf "$title Stopping of $server_name\n" else printf "$title Cannot stop $server_name, server not started\n" fi fi } status() { printf "$title Status of $server_name\n\n" if [ $use_user == root ]; then $checker_cmd -retry 10 -interval 2 -a2s $hlds_ip:$hlds_port else sudo -u $use_user $checker_cmd -retry 10 -interval 2 -a2s $hlds_ip:$hlds_port fi } console() { if [ -f $path/$screen_pid ]; then printf "$title Connecting to $server_name\n" printf " For exit from console press Ctrl+A,D\n" printf " Dont press Ctrl+C\n" printf " Please wait...\n" sleep 1 if [ $use_user == root ]; then /usr/bin/screen -wipe /usr/bin/screen -d `cat $path/$screen_pid` /usr/bin/screen -R `cat $path/$screen_pid` else sudo -u $use_user /usr/bin/screen -wipe sudo -u $use_user /usr/bin/screen -d `cat $path/$screen_pid` sudo -u $use_user /usr/bin/screen -R `cat $path/$screen_pid` fi else printf "$title Cannot connect to $server_name, server not running" fi } checker() { checktag="[HLDS-Checker]" checkdown=`$checker_cmd -retry 10 -interval 2 -a2s $hlds_ip:$hlds_port | grep DOWN` checknoresp=`$checker_cmd -retry 10 -interval 2 -a2s $hlds_ip:$hlds_port | grep response` checkup=`$checker_cmd -retry 10 -interval 2 -a2s $hlds_ip:$hlds_port | grep cstrike` hlds_pid_num=`cat $path/$hlds_pid` check_allcore=`sudo taskset -pc "$hlds_pid_num" | grep $allcore` check_usecore=`sudo taskset -pc $hlds_pid_num | grep $usecore` time=`date +%X` date=`date +%D` if [ -n "$checkdown" ]; then printf "$checktag $server_name *[DOWN]*\n" printf "[$time - $date] *[DOWN]* $checkdown\n" >> $path/checker.log stop sleep 1 start sleep 1 echo ----------------ATTENTION---------------- >> $path/checker.log printf "StartUP $server_name:" >> checker.log ch=`ps -ef | grep SCREEN | grep $screen_name` if [ -n "$ch" ]; then printf " *[OK]* \n" >> checker.log else printf " *[FAILED]* \n" >> checker.log fi echo ----------------------------------------- >> $path/checker.log exit 1 fi if [ -n "$checknoresp" ]; then printf "$checktag $server_name *[NO RESPONSE]*\n" printf "[$time - $date] *[NO RESPONSE]* $checknoresp\n" >> $path/checker.log stop sleep 1 start sleep 1 echo ----------------ATTENTION---------------- >> $path/checker.log printf "StartUP $server_name:" >> checker.log ch=`ps -ef | grep SCREEN | grep $screen_name` if [ -n "$ch" ]; then printf " *[OK]* \n" >> checker.log else printf " *[FAILED]* \n" >> checker.log fi echo ----------------------------------------- >> $path/checker.log exit 1 fi if [ -n "$checkup" ]; then printf "$checktag $server_name *[OK]*\n" printf "[$time - $date] *[OK]* $checkup\n" >> $path/checker.log fi if [ $usecore == $allcore ]; then if [ $use_user == root ]; then renice -n $priority -p $hlds_pid_num else sudo renice -n $priority -p $hlds_pid_num fi exit 1 else if [ -n "$check_allcore" ]; then printf "$checktag *[BAD PRIORITY]*\n" if [ $use_user == root ]; then taskset -pc $usecore $hlds_pid_num renice -n $priority -p $hlds_pid_num else sudo taskset -pc $usecore $hlds_pid_num sudo renice -n $priority -p $hlds_pid_num fi printf "[$time - $date] *[PRIORITY & AFFINITY RESETED]*\n" >> $path/checker.log exit 1 fi if [ -n "$check_usecore" ]; then printf "$checktag *[GOOD PRIORITY]*\n" exit 1 fi fi } case "$1" in start) start ;; stop) stop ;; restart) stop sleep 2 start ;; status) status ;; console) console ;; checker) checker ;; *) echo "How to use: $0 {start|stop|restart|status|console|checker}" start exit 1 esac ОС Debian 6
Отредактировал: empy, - 24.2.2011, 22:26
|
|
|
|
![]() ![]() |