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

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


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

11-апр
02-дек
17-апр
30-дек


8 страниц V   1 2 ... 6 7 »
Раскрутка Counter-Strike 1.6

Скрипт запуска HLDS-серверов + Source NEW

, 0.96
Статус пользователя lexikon
сообщение 26.3.2011, 20:38
Сообщение #1


Стаж: 12 лет

Сообщений: 35
Благодарностей: 27
Полезность: 543

Столкнувшись с разными проблемками пришлось написать для себя скрипт для запуска серверов! Написал :D Выкладываю.

Поддержка Counter-Strike SOURCE серверов! :P

Обновление 02.05.2011
Версия: 0.98

Автор: LeXiKoN
Офф сайт [Поддержка]: http://forum.eqline.ru/topic/361-skript-za...-hlds-serverov/

ChangeLog:

Полный changlog на офф сайте!! Под спойлер не прячу! Есть очень важное нововведение!!
0.98
  • Форматирование вывода информации
  • Мелкий баг-фикс остановки сервера ( иногда сервер после остановки все равно зависал вместо надписи "Server shutting down" )
  • При рестарте в чате сервера пишутся сообщения о том, через сколько будет произведен ребут( была добавлена новая квара restarttime=10 ( в секундах ) ( спасибо опять же Aion )
    Прикрепленное изображение

    0.96
    -Удалены левые переходы по каталогам
    -Удалены левые комментарии в скрипте
    -Поддержка Source-серверов!!!
    -ПОЛНАЯ КОРРЕКТНАЯ ОСТАНОВКА игрового сервера и screen-сессии ( ВПЕРВЫЕ в паблике ) // Выражаю благодарность Aion за замеченные недочеты и баги, а также за помощь в решении данной проблемы!
    Прикрепленное изображение


    Особенности:
    -Цветовая индикация, что позволит вам легко понять информацию
    -Распределения серверов по ядрам ( подробнее ниже )
    -Подключение по команде к консоли сервера
    -Определение статуса работы сервера
    -Возможность компиляции плагинов в каталоге scripting AmxModX
    -Проверка версии скрипта
    -Предстартовая проверка на запущенный процесс hlds
    -Проверка работоспособности сервера ( необходимо добавить фунцию в crontab - читаем раздел "Установка" )
  • Ведение лога консоли сервера в файл cstrike/qconsole.log
    -Ведение лога проверки работоспособности сервера в файл checker.log
    -Очистка логов checker.log и qconsole.log при превышении размера в 10Мб. ( необходимо добавить фунцию в crontab - читаем раздел "Установка" )Конфигурирование:
    Конфигурация происходит напрямую в самом файле с помощью блокнота

    Код
    SERVER_NAME="My Server" #Название сервера
    screen_name=server #Название screen-сессии
    path="/home/hlds/server/"  #Путь до ROOT-директории сервера
    hlds_ip=0.0.0.0  #IP сервера
    hlds_port=27015  #Порт сервера
    hlds_gametype=cstrike  #Тип игры
    hlds_players=20  #Максимальное количество игроков на сервере
    hlds_map=de_inferno  #Имя первоначальной карты при запуске
    hlds_pid=server.pid
    screen_pid=$screen_name-screen.pid
    hlds_options="-pingboost 3 +exec server.cfg +log on"  #Дополнительные параметры запуска
    use_user=hlds #Имя юзера от которого запускается сервер
    condebug=1
    check_version=0
    checker_command="quakestat" #Команда пакета qStat отвечающего за проверку сервера
    restarttime=10 #Время после которого сервер будет перезагружен ( выводится в чат на сервере )

    #----------------------------------------------------
    # Номер ядра/процессора в линуксе
    # 2х-ядерные: 0 - первое ядро, 1 - второе ядро
    # 4x-ядерные: 0 - первое ядро ... 3 - четвертое ядро
    # По аналогии с другими многоядерными процессорами
    use_core=0
    #----------------------------------------------------

    Требования:


    • Установленные пакеты: qstat, tail, screen, wget, crontab

    Установка:

    • Скачиваем txt файл для нужной системы
      Код
      server_deb.txt - Для систем на дистрибутиве Debian
      Код
      server_rh.txt - Для систем на дистрибутиве RedHat
    • Переименовываем в нужное вам имя без расширения
    • Копируем в /etc/init.d/
    • Устанавливаем пакет qstat, а также другие необходимые для работы пакеты, описанные в разделе "Требования"[list]
    • Debian подобные дистрибы:
      Код
      aptitude install qstat
    • Fedora/Mandriva/CentOS подобные дистрибы:
      Код
      yum install qstat
    • Если данный пакет отсутствует в ваших дистрибутивах то скачиваем исходники и собираем!
  • Устанавливаем права
    Код
    chmod +x /etc/init.d/hlds_runscript
  • Добавляем в автозагрузку:
    • Системы RedHat:
      Код
      chkconfig --add [имя скрипта]
    • Системы Debian:
      Код
      update-rc.d [имя скрипта] defaults
  • Добавляем проверку работы сервера по расписанию в Crontab (!!!!!!! Проверка будет происходить каждые 30 минут !!!!!!!)
    Код
    crontab -e
    и вносим туда строку
    Код
    0,30 * * * * /etc/init.d/[имя скрипта] checker
  • Добавляем проверку размеров логов по расписанию в Crontab (!!!!!!! Проверка будет происходить каждую неделю !!!!!!!)
    Код
    crontab -e
    и вносим туда строку
    Код
    0 0 * * 0 /etc/init.d/[имя скрипта] logsize
  • Конфигурируем скрипт!!
    • Не забудьте
      Код
      checker_command="quakestat" #Команда пакета qStat отвечающего за проверку сервера
      В Вашем дистрибутиве она может быть иной! Иначе не будет работать проверка сервера по расписанию
  • Пользуемся
Для Debian Squeeze ВАЖНО! Если вы используете несколько скриптов для каждого сервера в отдельности то НЕОБХОДИМО поменять в заголовке файла параметр
Код
# Provides:

для каждого сервера он должен быть разный, к примеру:
Код
# Provides: server1



Пример:



Скачать #1

Скачать #2
Debian/Ubuntu и прочие
HLDS:
Код
wget http://eqline.ru/project/hlds_init_script/server_deb.txt
SOURCE:
Код
wget http://eqline.ru/project/hlds_init_script/server_deb_source.txt

RedHat/Fedora и прочие
HLDS:
Код
wget http://eqline.ru/project/hlds_init_script/server_rh.txt
SOURCE:
Код
wget http://eqline.ru/project/hlds_init_script/server_rh_source.txt


Скачать #3
Прикрепленный файл  server_deb.txt ( 13,3 килобайт ) Кол-во скачиваний: 978

Прикрепленный файл  server_deb_source.txt ( 12,53 килобайт ) Кол-во скачиваний: 223

Прикрепленный файл  server_rh.txt ( 13,03 килобайт ) Кол-во скачиваний: 424

Прикрепленный файл  server_rh_source.txt ( 12,26 килобайт ) Кол-во скачиваний: 110


Отредактировал: lexikon, - 2.5.2011, 22:24
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 23 раз
   Цитировать сообщение
Статус пользователя 330863
сообщение 27.3.2011, 10:44
Сообщение #2


Стаж: 11 лет

Сообщений: 4358
Благодарностей: 1079
Полезность: 497

lexikon,
заного меня обошли с реализацией нормального выключения сервера :biggrin:
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя c0rax
сообщение 27.3.2011, 17:10
Сообщение #3


Стаж: 13 лет

Сообщений: 1077
Благодарностей: 530
Полезность: 884

lexikon,
Еще наверное не помешало бы добавить в скрипт переменную, для запуска сервера, с определенным приоритетом derisive.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Aion13
сообщение 27.3.2011, 18:11
Сообщение #4


Стаж: 13 лет

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

Парились долго, но нормальную остановку сервера сделали! :biggrin:
На счёт приоритета неплохо было бы, однако не у всех она прокатит. Например, у меня нет доступа к команде по изменению приоритета процесса, т.к. я не root, поэтому мне в этом будет облом :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 330863
сообщение 27.3.2011, 19:52
Сообщение #5


Стаж: 11 лет

Сообщений: 4358
Благодарностей: 1079
Полезность: 497

Aion13,
Код
su root
echo "%`whoami` ALL=NOPASSWD: /usr/bin/renice" >> /etc/sudoers
echo "%`whoami` ALL=NOPASSWD: /usr/bin/taskset" >> /etc/sudoers

а так прокатит %)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя lexikon
сообщение 28.3.2011, 6:29
Сообщение #6


Стаж: 12 лет

Сообщений: 35
Благодарностей: 27
Полезность: 543

чтоб остановить корректно сервер....не достаточно его убить или послать в скрин команду quit ( screen -X quit )
Все способы что в инете и гроша ломаного не стоят!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя нуб
сообщение 28.3.2011, 8:52
Сообщение #7


Стаж: 11 лет

Сообщений: 1966
Благодарностей: 580
Полезность: 37

Наконец то. Спасибо.


!
Аккаунт пользователя заблокирован до: 26.8.2285, 9:17
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя lexikon
сообщение 28.3.2011, 9:52
Сообщение #8


Стаж: 12 лет

Сообщений: 35
Благодарностей: 27
Полезность: 543

может темку прилепим?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 330863
сообщение 28.3.2011, 10:53
Сообщение #9


Стаж: 11 лет

Сообщений: 4358
Благодарностей: 1079
Полезность: 497

lexikon,
смысла небудет тк в данном разделе мало тем и они все на виду :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Hitmaaaaan
сообщение 28.3.2011, 15:07
Сообщение #10


Стаж: 10 лет

Сообщений: 178
Благодарностей: 20
Полезность: 99

если у меня один сервер на моем отдельном компе , стоит ли мне вообще пользоватся скриптами запуска ???
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя c0rax
сообщение 28.3.2011, 15:56
Сообщение #11


Стаж: 13 лет

Сообщений: 1077
Благодарностей: 530
Полезность: 884

Цитата(Hitmaaaaan @ 28.3.2011, 16:07) *
если у меня один сервер на моем отдельном компе , стоит ли мне вообще пользоватся скриптами запуска ???

Ну это уже по твоему желанию.. как тебе будет удобнее.

PS: случайно спасибку поставил, хотел нажать ответ, но малехо промахнулсяперепутал кнопку :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 6 раз
   + Цитировать сообщение
Статус пользователя Hitmaaaaan
сообщение 28.3.2011, 16:56
Сообщение #12


Стаж: 10 лет

Сообщений: 178
Благодарностей: 20
Полезность: 99

c0rax,
ахаха тебе тоже тогда спасибо +
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kapik
сообщение 28.3.2011, 20:19
Сообщение #13
Стаж: 10 лет

Сообщений: 72
Благодарностей: 4
Полезность: 48

Цитата(Hitmaaaaan @ 28.3.2011, 16:07) *
стоит ли мне вообще пользоватся скриптами запуска ???

Итересно как же ты тогда вообще запустил сервер )))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя knaus-94
сообщение 19.4.2011, 16:28
Сообщение #14
Стаж: 10 лет

Сообщений: 58
Благодарностей: 20
Полезность: 266

запустил 1 сервер,потом проделал все тоже самое запуская второй - в ответ получил дулю sad.gif .как запустить ещё один сервер этим скриптом?
p.s CentOS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 330863
сообщение 19.4.2011, 16:36
Сообщение #15


Стаж: 11 лет

Сообщений: 4358
Благодарностей: 1079
Полезность: 497

knaus-94,
сделать 2 скрипта
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя knaus-94
сообщение 19.4.2011, 17:52
Сообщение #16
Стаж: 10 лет

Сообщений: 58
Благодарностей: 20
Полезность: 266

первый:
CODE
SERVER_NAME="Deathrun"
screen_name=deathrun
path="/home/hlds/hlds_deathrun"
hlds_ip=********
hlds_port=27015
hlds_gametype=cstrike
hlds_players=32
hlds_map=deathrun_sfa
hlds_pid=server.pid
screen_pid=$screen_name-screen.pid
hlds_options="-pingboost 3 +exec server.cfg"
use_user=hlds
condebug=1
check_version=0
checker_command="quakestat"

#----------------------------------------------------
# Номер ядра/процессора в линуксе
# 2х-ядерные: 0 - первое ядро, 1 - второе ядро
# 4x-ядерные: 0 - первое ядро ... 3 - четвертое ядро
# По аналогии с другими многоядерными процессорами
use_core=1

второй:
CODE
SERVER_NAME="Public​"
screen_name=public
path="/home/hlds/hlds_pub"
hlds_ip=*******
hlds_port=27016
hlds_gametype=cstrike
hlds_players=32
hlds_map=de_dust2
hlds_pid=server.pid
screen_pid=$screen_name-screen.pid
hlds_options="-pingboost 3 +exec server.cfg"
use_user=hlds
condebug=1
check_version=0
checker_command="quakestat"

#----------------------------------------------------
# Номер ядра/процессора в линуксе
# 2х-ядерные: 0 - первое ядро, 1 - второе ядро
# 4x-ядерные: 0 - первое ядро ... 3 - четвертое ядро
# По аналогии с другими многоядерными процессорами
use_core=0


Отредактировал: knaus-94, - 19.4.2011, 17:53
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя knaus-94
сообщение 19.4.2011, 19:11
Сообщение #17
Стаж: 10 лет

Сообщений: 58
Благодарностей: 20
Полезность: 266

все,доперло
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SiziF
сообщение 22.4.2011, 21:31
Сообщение #18


Стаж: 10 лет

Сообщений: 1042
Благодарностей: 133
Полезность: 18

так а как тушить серв??=)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя laursen
сообщение 23.4.2011, 1:25
Сообщение #19


Стаж: 12 лет

Сообщений: 515
Благодарностей: 316
Полезность: 863

./scriptname stop
где scriptname - это имя твоего скрипта.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 330863
сообщение 23.4.2011, 9:22
Сообщение #20


Стаж: 11 лет

Сообщений: 4358
Благодарностей: 1079
Полезность: 497

SiziF,
quit
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
8 страниц V   1 2 ... 6 7 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: