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

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

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

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

5 страниц V  « 4 5

[init.d] Скрипт запуска HLDS

, Only Linux
Статус пользователя Gecko
сообщение 5.8.2020, 10:24
Сообщение #81
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 346

dimamelnic, запуск сервера под скрином уже означает что убив скрин-сессию ты тем самым потушишь сервер. Значит при краше сервера, реаниматор не получив ответа от сервера должен принудительно убить скрин-сессию и запустить сервер то есть команда restart = stop(убиваем сессию)+start (запуск сервера под скрином)

Цитата(ForestQ @ 5.8.2020, 8:47) *
Как поменять приоритет запуска hlds_run в скрипте?

В смысле?


Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vavarik
сообщение 5.8.2020, 14:12
Сообщение #82


Стаж: 15 лет
Город: Саратов

Сообщений: 942
Благодарностей: 318
Полезность: 143

SarHosting.ru
Gecko, это типа nice -n -20 .hlds_run ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя dimamelnic
сообщение 5.8.2020, 19:03
Сообщение #83
Стаж: 11 лет

Сообщений: 1862
Благодарностей: 229
Полезность: 9

Gecko, у меня че то убивать процесс не желает(( сегментация появляется. и зависает. вручную убиваю. сервер потом запускается сам по крону
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gecko
сообщение 5.8.2020, 20:30
Сообщение #84
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 346

Цитата(dimamelnic @ 5.8.2020, 19:03) *
Gecko, у меня че то убивать процесс не желает(( сегментация появляется. и зависает. вручную убиваю. сервер потом запускается сам по крону

а если под рутом запускать скрипт?

Скрипт ниже корректно завершит работу и запустить твой сервак.
Всё что нужно это прописать запуск этого скрипта в реаниматоре.

что-то типа:
Код
192.168.0.28:27015: cd /home/MyUser/autostart/27015 && ./27015.sh restart

Если используешь sudo, то нужно добавить в /etc/sudoers пользователя под которым запускаешь скрипт.
Код
MyUser ALL=(ALL:ALL) ALL


27015.sh
Код
#!/bin/bash
GAME_PATH=Путь к  hlds_run
SERVER_IP=192.168.0.28
SERVER_PORT=27015

start()
{
cd $GAME_PATH && screen -A -m -d -S CS3 sudo ./hlds_run -pingboost 1 -game cstrike -master +ip $SERVER_IP +port $SERVER_PORT -noipx +maxplayers 32 +map de_dust2
}
stop()
{
PID=`ps fax | grep CS3 | grep SCREEN | awk '{ print $1 }'`
kill $PID
}
restart()
{
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0


Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gecko
сообщение 5.8.2020, 20:37
Сообщение #85
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 346

Цитата(vavarik @ 5.8.2020, 14:12) *
Gecko, это типа nice -n -20 .hlds_run ?

Это не мне вопрос, я сам не понял что имелось ввиду под приоритетом запуска.
Цитата
приоритет запуска hlds_run в скрипте?


Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
podbot
сообщение 5.8.2020, 20:55
Сообщение #86
Стаж: 11 лет

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

Цитата(dimamelnic @ 5.8.2020, 20:03) *
Gecko, у меня че то убивать процесс не желает(( сегментация появляется. и зависает. вручную убиваю. сервер потом запускается сам по крону

естественно он не убъется, в новых билдах кривой hlds_run
удали там строчки через notepad
Код:
"-norestart")	
RESTART="" ;;
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gecko
сообщение 5.8.2020, 20:56
Сообщение #87
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 346

Цитата(dimamelnic @ 5.8.2020, 19:03) *
Gecko, у меня че то убивать процесс не желает(( сегментация появляется. и зависает. вручную убиваю. сервер потом запускается сам по крону

К стати вот самая простая проверка скрипта:

Устанавливаешь NetCat
Код
sudo apt-get install netcat


Скрипт check.sh ложишь в папку root (к примеру)
check.sh

Код
HOST=192.168.0.28
PORT=27015

if nc -vz $HOST $PORT
then
echo "OK"        
else    
cd /home/MyUser/autostart/27015 && ./27015.sh restart
fi



Скрипт прописываешь в системном кроне
Водишь под рутом (к примеру)
Код
crontab -e

и добавляешь на запуск следующее:
Код
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin

*/1 * * * * /root/check.sh

Раз в минуту программа NC (NetCat) будет проверять порт сервера, если порт будет недоступен то check.sh перезапустит сервак выполнив следующую команду
Код
./27015.sh restart

Но это грубый реаниматор
Я советую из тех что есть на питоне от jesuspunk для cs 1.6 и вроде работает для Source (там открытый исходный код и можно переделать под что угодно) главное это принцип по которому он работает

PS.
IP выдуманный, естественно подставляешь свои данные ip и port а также путь к скрипту перезапуска сервера.

Отредактировал: Gecko, - 5.8.2020, 21:09


Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gecko
сообщение 5.8.2020, 21:14
Сообщение #88
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 346

podbot,
Я может чего-то не понял, но каким боком тут Screen к hlds_run???
Скрину вообще побоку что под ним запущено, суть проблемы в убийстве pid скрина.


Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
podbot
сообщение 5.8.2020, 21:16
Сообщение #89
Стаж: 11 лет

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

Цитата(Gecko @ 5.8.2020, 22:14) *
podbot,
Я может чего-то не понял, но каким боком тут Screen к hlds_run???
Скрину вообще побоку что под ним запущено, суть проблемы в убийстве pid скрина.

я написал, как проще, безо всяких левых скриптов)))
зачем что-то убивать, если можно поднять там-же, при этом логи краша запишутся
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
5 страниц V  « 4 5
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 3 гостей читают эту тему: