Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Информационная доска

Данный раздел предназначен для обсуждения, а также решения технических проблем связанных с серверной частью. Обсуждения касательно игровых клиентов ведутся здесь.

1. Во время создания новой темы аккуратно оформляйте её, не допускайте грамматических ошибок.
2. Описывая проблему старайтесь, как можно больше рассказать о ней, а так же о действиях с сервером после которых она возникла, по возможности подкрепите информацию логами.
3. Если вопрос касается проблемы в работе сервера, то обязательно прикрепляйте список плагинов (введите в консоли сервера: meta list и amxx plugins), настройки server.cfg, логи. Так же указывайте операционную систему, версию HLDS (введите к консоли сервера: version) и где хостится сервер.

Длинную информацию скрывайте под спойлер.

Падает сервер ночью

Статус пользователя se7en2614
сообщение 26.4.2014, 18:44
Сообщение #1


Стаж: 14 лет

Сообщений: 1096
Благодарностей: 126
Полезность: < 0

Народ, вот такой прикол. У меня постоянно падает сервер ночью примерно после 12 ночи. Скрипт автозапуска не помогает даже. Уже всю голову сломал. Такое уже 3 день. Плагины уже неделю не трогал.

amxx логи
L 04/26/2014 - 00:17:08: [mapmanager.amxx] Следующая карта: $1000$
L 04/26/2014 - 00:17:11: -------- Mapchange to $1000$ --------
L 04/26/2014 - 00:17:12: [fresh_bans.amxx] [fB]mySQL is OK! Time difference -315 sec, DB delay 0.300543069 sec
L 04/26/2014 - 00:17:12: [admin.amxx] Login: "p0ezd" became an admin (account "STEAM_0:1:34200745") (access "abcdehijmnopqrtu") (address "84.18.119.227")
L 04/26/2014 - 00:17:27: [admin.amxx] Login: "p0ezd" became an admin (account "STEAM_0:1:34200745") (access "abcdehijmnopqrtu") (address "84.18.119.227")
L 04/26/2014 - 07:11:59: -------- Mapchange to de_dust2_2x2 --------


Список плагинов
opengl32.amxx
alias_detector07.amxx
fresh_bans.amxx
auto_demo_recorder.amxx

; Admin Base - плагин должен быть всегда активен.
admin.amxx ; Админ плагин
; Основные
admincmd.amxx ; консольные команды админа

; Меню
menufront.amxx ; конец админ меню
cmdmenu.amxx ; командное меню
plmenu.amxx ; меню игроков
telemenu.amxx ; телепорт меню
mapsmenu.amxx ; меню карт
pluginmenu.amxx ; меню, показывающее плагины
nickfix.amxx
filewatcher.amxx

; Чат / сообщения
adminchat.amxx ; консольные чат команды
antiflood.amxx ; предупреждения игроков о флуде
scrollmsg.amxx ; прокрутка сообщений
imessage.amxx ; отображение сообщений на экране
adminvote.amxx ; команды голосования

ad_manager.amxx
admin_check.amxx
vipcheck.amxx

; Смена карт
mapmanager.amxx
;timeleft.amxx ; показывает оставшееся время игры на карте

; Конфигурации
pausecfg.amxx ; включает/выключает плагины
statscfg.amxx ; позволяет управлять статистикой сервера через меню

; Counter-Strike
restmenu.amxx
antimat.amxx
ksg.amxx
army_ranks_statsx_30.amxx
statsx_shell.amxx
vip_weapon.amxx

; Другие плагины
; Свои плагины добавляйте ниже
mutemenu.amxx
admin_esp_mini.amxx
admin_freelook.amxx
damager.amxx
SpectBot.amxx
nice_kicker.amxx
resetscore.amxx
instant_autoteambalance.amxx
connect_ip_client_new_by_se7en.amxx
voteban_by_slimshady.amxx
Bomb_HuD.amxx
RoundMsg.amxx
parachute.amxx
vo_menu.amxx
sillyc4.amxx
DefaultNameKicker.amxx
death_weapons_drop.amxx
killa_hp.amxx
speclist_rus.amxx


metamod плагины
linux addons/dproto/dproto_i386.so
linux addons/vtc/vtc.so
linux addons/amxmodx/dlls/amxmodx_mm_i386.so
linux addons/whblocker/whblocker_mm_i386.so


Скрипт запуска сервера
Код:
#!/bin/bash
# authors: Puma https://c-s.net.ua
# version: 1.2
#. /lib/lsb/init-functions

#####################################################
# Configuration
#####################################################

server_name="se7en [Army Ranks system]" #Название сервера
screen_name="hlds" #Название screen-сессии
use_user="root" #Имя юзера от которого запускается сервер
path="/opt/hlds" #Путь до ROOT-директории сервера (без /в конце)
hlds_ip="149.154.64.38" #IP сервера ,не ставить 0.0.0.0
hlds_port="27015" #Порт сервера
hlds_players="20" #Максимальное количество игроков на сервере
hlds_map="de_dust2_2x2" #Имя первоначальной карты при запуске
hlds_options="-pingboost 3 +sv_lan 0" #Дополнительные параметры запуска
priority="0" #Приоритет для сервера (-20 - Высокий ;20 - Низкий)
usecore="0,1" #Привязка к ядрам (0, 1, 2, 3)
hlds_pid="${screen_name}.pid" #Имя pid файла сервера
clear_logs="0" # очишать лог файлы при запуске сервера через скрипт?
clear_cache="0" # очишать кэши системы перед запуском сервера? # работает только под рутом

checker_cmd="/bin/qstat" #Команда пакета qStat отвечающего за проверку сервера

#####################################################
# End of configuration
#####################################################

if [ ! -x $path/hlds_run ]; then
printf "${title}${txtred} Set permissions 777 for hlds_run\n"
chmod -R 777 $path
fi

if [ $use_user == "root" ]; then
start1=""
else
start1="sudo -u ${use_user}"
fi

txtwht='\e[0;37m' # White
txtgrn='\e[0;32m' # Green
txtylw='\e[0;33m' # Yellow
txtred='\e[0;31m' # Red
title="${txtwht}[${txtgrn}${hlds_ip}:${hlds_port}${txtwht}]"

# check screen pid: ps -ef | grep SCREEN | grep ${screen_name} | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | awk '{print $2}'
# check hlds pid: ps -ef | grep hlds_ | grep -v hlds_run | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | awk '{print $2}'

start() {
if [ "`ps -ef | grep SCREEN | grep $screen_name | grep $hlds_ip | grep $hlds_port | grep -v grep | wc -l`" -gt 0 ]; then
if [ "`ps -ef | grep hlds_ | grep -v hlds_run | grep $hlds_ip | grep $hlds_port | grep -v grep | wc -l`" -gt 0 ]; then
printf "${title} Server ${server_name} already started\n"
exit 1
fi
fi
cd ${path}
if [ ${clear_logs} == 1 ]; then
${start1} rm -f ${path}/debug.log
${start1} rm -f ${path}/cstrike/qconsole.log
${start1} rm -fr ${path}/cstrike/logs/*.log
${start1} rm -fr ${path}/cstrike/addons/amxmodx/logs/*.log
printf "${title} Server logs cleared\n"
fi
if [ ${clear_cache} == 1 ] && [ ${use_user} == "root" ]; then
echo 3 > /proc/sys/vm/drop_caches
printf "${title} Cache && buffers cleared\n"
fi
printf "${title} Starting ${server_name}\n"
/usr/bin/screen -AmdS ${screen_name} ${start1} ./hlds_run -game cstrike +ip ${hlds_ip} +port ${hlds_port} +map ${hlds_map} +maxplayers ${hlds_players} ${hlds_options} -pidfile ${hlds_pid}
sleep 3
${start1} taskset -pc ${usecore} `cat ${path}/${hlds_pid}` > /dev/null
${start1} renice -n ${priority} -p `cat ${path}/${hlds_pid}` > /dev/null
if [ "`ps -ef | grep hlds_ | grep -v hlds_run | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | awk '{print $2}'`" = "`cat $path/$hlds_pid`" ]; then
printf "${title} Server successfully started! :)\n"
else
printf "${title}${txtred} Server crashed on start sad.gif\n"
fi
}

kill_process() {
if [ "`ps -ef | grep hlds_ | grep -v hlds_run | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | wc -l`" -gt 0 ]; then
printf "${title} Kill: `ps -ef | grep SCREEN | grep ${screen_name} | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep`\n"
${start1} kill -9 "`ps -ef | grep SCREEN | grep ${screen_name} | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | awk '{print $2}'`"
${start1} rm -f ${path}/${hlds_pid}
else
printf "${title}${txtylw} Cannot kill hlds process of ${server_name} server\n"
fi
}

stop() {
if [ "`ps -ef | grep SCREEN | grep ${screen_name} | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | awk '{print $2}' | wc -l`" -eq 1 ]; then
/usr/bin/screen -dr `ps -ef | grep SCREEN | grep ${screen_name} | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | awk '{print $2}'`.${screen_name} -p 0 -X eval "stuff "quit""
/usr/bin/screen -dr `ps -ef | grep SCREEN | grep ${screen_name} | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | awk '{print $2}'`.${screen_name} -p 0 -X eval "stuff "$(printf \\r)""
sleep 1
${start1} rm -rf ${path}/${hlds_pid}

if [ "`ps -ef | grep hlds_ | grep -v hlds_run | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | wc -l`" -gt 0 ]; then
printf "${title}${txtred} Server not stopped!\n"
else
printf "${title} Server has been stopped\n"
fi
else
printf "${title}${txtylw} Cannot stop server ${server_name}, screen session not found!\n"
fi
}

status() {
printf "${title} Get status of server ${server_name}\n"
${start1} ${checker_cmd} -retry 3 -interval 2 -a2s ${hlds_ip}:${hlds_port} | grep ${hlds_ip}
exit 1
}

console() {
if [ "`ps -ef | grep SCREEN | grep ${screen_name} | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | wc -l`" -gt 0 ] && [ "`ps -ef | grep hlds_ | grep -v hlds_run | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | awk '{print $2}'`" = "`cat ${path}/${hlds_pid}`" ]; then
printf "${title} Connecting to ${server_name} server console\n"
printf "${title}${txtylw} For exit from console press Ctrl+A,D\n"
printf "${title}${txtylw} Don't press Ctrl+C\n"
sleep 1
/usr/bin/screen -wipe > /dev/null
/usr/bin/screen -dr `ps -ef | grep SCREEN | grep ${screen_name} | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | awk '{print $2}'`.${screen_name}
else
printf "${title}${txtred} Cannot connect to ${server_name} server console, server not started!\n"
fi
}

checker() {
time=`date +%X`
date=`date +%D`

if [ -f ${checker_cmd} ]; then
if [ ! -x ${checker_cmd} ]; then
printf "${title}${txtred} Check run privileges of ${checker_cmd}\n"
exit 1
fi
else
printf "${title}${txtred} Check qstat/quakestat binar\n"
fi

checknoresp=`${checker_cmd} -retry 5 -interval 2 -a2s ${hlds_ip}:${hlds_port} | grep response`
if [ -n "${checknoresp}" ]; then
printf "${title} ${server_name} server is: ${txtred}[NO RESPONSE]\n"
printf "[${time} - ${date}] *[NO RESPONSE]* ${checknoresp}\n" >> $path/checker.log
kill_process
sleep 1
start
sleep 1
printf "StartUP ${title}:" >> ${path}/checker.log
if [ "`ps -ef | grep hlds_ | grep -v hlds_run | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | awk '{print $2}'`" = "`cat $path/$hlds_pid`" ]; then
printf " *[OK]* \n" >> ${path}/checker.log
else
printf " *[FAILED]* \n" >> ${path}/checker.log
fi
exit 1
fi

checkdown=`${checker_cmd} -retry 5 -interval 2 -a2s ${hlds_ip}:${hlds_port} | grep DOWN`
if [ -n "${checkdown}" ]; then
printf "${title} ${server_name} server is: ${txtred}[DOWN]\n"
printf "[{$time} - ${date}] *[DOWN]* ${checkdown}\n" >> ${path}/checker.log
start
sleep 1
printf "StartUP ${title}:" >> ${path}/checker.log
if [ "`ps -ef | grep hlds_ | grep -v hlds_run | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | awk '{print $2}'`" = "`cat $path/$hlds_pid`" ]; then
printf " *[OK]* \n" >> ${path}/checker.log
else
printf " *[FAILED]* \n" >> ${path}/checker.log
fi
exit 1
fi

checkup=`${checker_cmd} -retry 5 -interval 2 -a2s ${hlds_ip}:${hlds_port} | grep cstrike`
if [ -n "${checkup}" ]; then
printf "${title} ${server_name} server is: ${txtgrn}[OK]\n"
printf "[${time} - ${date}] *[OK]* ${checkup}\n" >> ${path}/checker.log
fi
if [ "`ps -e -o pid,cpuid,nice,cmd | grep hlds_ | grep -v SCREEN | grep -v grep | grep -v sh | grep -v hlds_run | grep ${hlds_ip} | grep ${hlds_port} | awk '{print $3}'`" != ${priority} ]; then
if [ "`ps -ef | grep hlds_ | grep -v hlds_run | grep ${hlds_ip} | grep ${hlds_port} | grep -v grep | awk '{print $2}'`" = "`cat $path/$hlds_pid`" ]; then
printf "${title}${txtylw} ${server_name} server priority is changed because server is crashed\n"
${start1} taskset -pc ${usecore} "`cat ${path}/${hlds_pid}`" > /dev/null
${start1} renice -n ${priority} -p "`cat ${path}/${hlds_pid}`" > /dev/null
else
printf "${title}${txtylw} ${server_name} server priority cant be restore because not found pidfile!\n"
fi
else
printf "${title} ${server_name} server priority is good!\n"
fi
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
kill_process
sleep 2
start
;;
status)
status
;;
console)
console
;;
checker)
checker
;;
*)
printf "${title} How to use: ${txtgrn}$0 {start|stop|restart|status|console|checker}${txtwht}\n"
exit 1
esac


!
Предупреждение:
В данном разделе обсуждаются вопросы, связанные с клиентской частью.
Перемещено.


Отредактировал: Bloo, - 28.5.2014, 11:06
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя CSSIBERIA
сообщение 26.4.2014, 19:24
Сообщение #2
Стаж: 12 лет

Сообщений: 70
Благодарностей: 45
Полезность: 336

/cstrike/logs или же qconsole.log можно?
instant_autoteambalance.amxx - попробуйте отключить и понаблюдать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя s0h
сообщение 26.4.2014, 19:27
Сообщение #3


Стаж: 17 лет

Сообщений: 670
Благодарностей: 897
Полезность: 1164

Дело в онлайне, ночью его меньше от сюда и отталкивайся. У меня была такая проблема с картами.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя se7en2614
сообщение 26.4.2014, 19:59
Сообщение #4


Стаж: 14 лет

Сообщений: 1096
Благодарностей: 126
Полезность: < 0

Цитата(CSSIBERIA @ 26.4.2014, 20:24) *
/cstrike/logs или же qconsole.log можно?
instant_autoteambalance.amxx - попробуйте отключить и понаблюдать.

попозже скину если писались они.
Вот именно онлайн 15 человек примерно в последний раз было, и потом коннект админа и Shut Down
Логов нету с cstrike/logs. Последний был месяц назад.

Если что вот лог онлайна на сервере. _www.gamearmy.ru/monitor/info130891.html

Отредактировал: se7en2614, - 26.4.2014, 20:45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Gig142
сообщение 26.4.2014, 20:46
Сообщение #5
Стаж: 12 лет

Сообщений: 123
Благодарностей: 41
Полезность: 0

Какой билд сервера и версия amx?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя se7en2614
сообщение 26.4.2014, 21:05
Сообщение #6


Стаж: 14 лет

Сообщений: 1096
Благодарностей: 126
Полезность: < 0

Цитата(Gig142 @ 26.4.2014, 21:46) *
Какой билд сервера и версия amx?

Билд старый 5787 вроде. Amx 1.8.1 metamod 1.2 вроде, точно не помню, ибо с планшета сижу.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя alexx
сообщение 26.4.2014, 21:51
Сообщение #7


Стаж: 12 лет

Сообщений: 147
Благодарностей: 145
Полезность: 397

Сколько хоть озу у VDS? sys_ticrate какое значение? И вообще если ночью падает, то в чем проблемы? как раз никого нет, скрипт поднимает сервер. Попробуй еще привязку ко всем ядрам по стандарту сделать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: