Удобный скрипт запуска сервера кс :) |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
Удобный скрипт запуска сервера кс :) |
330863
|
24.2.2011, 22:02
Сообщение
|
![]() |
Hitmaaaaan,
ты можеш выполнить то что я попросил ? empy, возможно сервер незапускаеться толком ,или чтото ему мешает ,я так думаю |
|
|
|
empy
|
24.2.2011, 22:28
Сообщение
|
|
|
Ну так что делать то?
|
|
|
|
Hitmaaaaan
|
25.2.2011, 18:06
Сообщение
|
![]() |
Hitmaaaaan, ты можеш выполнить то что я попросил ? server_pub #!/bin/sh # # 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="Public Server" #Название сервера screen_name="test" #Название screen-сессии use_user="h****" #Имя юзера от которого запускается сервер path="/home/hitman/hlds/hlds/hlds_pub" #Путь до ROOT-директории сервера (без /в конце) hlds_ip="178.74.232.221" #IP сервера ,не ставить 0.0.0.0 hlds_port="27015" #Порт сервера hlds_players="25" #Максимальное количество игроков на сервере hlds_map="de_dust2_2x2" #Имя первоначальной карты при запуске hlds_options1="-pingboost 1 -debug +rcon_password *****8 +sv_lan 0 -noipx -insecure " #Дополнительные параметры запуска condebug="1" #Включить логи в файле qconsole.log из папки cstrike priority="-10" #Приоритет для сервера (-20 - Высокий ;20 - Низкий) usecore="1" #Привязка к процессору (0, 1, 2, 3) allcore="0,1" #Пропишите числа ядров ,начиная с 0 (0,1 - двухядерный) hlds_pid="$screen_name.pid" #Имя pid файла сервера screen_pid="$screen_name-screen.pid" #Имя pid файла screen-a clear_logs="0" # очишать лог файлы при запуске сервера через скрипт? clear_cache="0" # очишать кэши системы перед запуском сервера? # работает только под рутом 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_run ]; then printf "$title Check run privileges of hlds_run" 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_run -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_run -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 вот |
|
|
|
330863
|
26.2.2011, 22:27
Сообщение
|
![]() |
empy,
а ты правилом iptables -P INPUT DROP закрываеш вобше доступ к нему ,к чему такое тугое правило ? =// Hitmaaaaan, странно |
|
|
|
330863
|
27.2.2011, 7:22
Сообщение
|
![]() |
empy,
iptables -A INPUT -p udp -m udp --dport 27015 -j ACCEPT |
|
|
|
empy
|
27.2.2011, 10:47
Сообщение
|
|
|
|
|
|
|
330863
|
18.3.2011, 12:52
Сообщение
|
![]() |
papapapa,
запуская от рута можно приоритет больше чем -10 тоесть и -15 |
Поблагодарили 1 раз
|
|
330863
|
19.3.2011, 10:10
Сообщение
|
![]() |
нуб,
-game cstrike >> -game valve ,строку иши сам %) |
|
|
|
нуб
|
19.3.2011, 12:37
Сообщение
|
|||
![]() |
330863,
Буэ, лучше папки перекину) там в таком глубоком табе строчки есть... :)
|
|||
|
|
||||
TEROR^
|
20.3.2011, 20:50
Сообщение
|
|
|
накатай скриптэ под centos, а то времени нет править этот ...
|
|
|
|
330863
|
21.3.2011, 8:31
Сообщение
|
![]() |
TEROR^,
с центос не имел дела :) |
|
|
|
TEROR^
|
23.3.2011, 15:04
Сообщение
|
|
|
Ладно, буду юзать другой скрипт =)
|
|
|
|
Bangzilla
|
4.4.2011, 19:48
Сообщение
|
|
|
Проблема такая... запускается только один сервер с этим скриптом, а нужно ещё 3.
все сервера находятся в разных папках. Скажите что нужно сделать для запуска всех серверов с этим скриптом? |
|
|
|
Serj
|
4.4.2011, 20:47
Сообщение
|
![]() |
|
|
|
|
![]() ![]() |