Web интерфейс запуска и остановки dedicated server-ов

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Сообщение
Автор
Destroyer
Нович0к
Нович0к
Сообщения: 29
Зарегистрирован: 09.05.2006
Контактная информация:

#1 Сообщение 15.03.2008, 19:32

Как-то поднимал тут эту тему, но ничего так и не нашел, кроме 1й какой-то платной системы. В итоге пришлось писать свой скрипт. Он написан для сайтового движка e107, но также есть и самостоятельный режим.
Этот скрипт будет полезен для держателей серверов под Windows и Linux. Подходит для любых игровых серверов от Valve, т.к. они все имеют одинаковую структуру.

Возможности:
  • + Запуск сервера
  • + Остановка сервера
  • + Принудительная остановка сервера (нужна, например, если он завис)
  • + Апдейт через HLDSUpdateTool с выводом результатов на веб страничку
  • + Загрузка и распаковка .zip архивов в папку игрового сервера (удобно для создания патчей и заливки дополнений)
  • + Весь интерфейс сделан на Ajax, т.е. подгружается только обновляемая часть веб страницы, что значительно сокращает время загрузки страницы (например если скрипт интегрирован в сайт с множеством картинок и большим лого)
  • + Для работы скрипта не нужна база данных!
Описание:
Для windows версии:
Все файлы из папки web залить в отдельную папку на веб сервере. Доступ к файлу server_status.txt должен быть на запись и чтение, к остальным можно только чтение.
Фаил server_monitor_launcher.exe лучше положить в папку с игровым сервером. Это небольшая программка, которая запускает, останавливает, убивает если надо и проверяет статус сервера. (Кому интересно - пример его параметров запуска есть в config.php).
Отредактировать фаил config.php в соотвестствии со своим случаем.
Подразумевается, что сервер запускается .bat файлом, в котором прописаны все параметры запуска игрового сервера.
Для Linux версии:
Распаковать архив, выбрать папку в соответствии с нужной кодировкой (utf-8 или cp1251). Все содержимое выбранной папки залить в отдельную папку на веб сервере. Отредактировать фаил config.php в соотвестствии со своим случаем. Выставить права на запуск для запускаемого файла игрового сервера и для апдейтера.
Для работы понадобится Screen (если он не установлен, то установить командой apt-get install screen или скачать: http://www.gnu.org/software/screen/#downloading )

Ограничение доступа к этому скрипту осуществляется так: в самостоятельном режиме по логину и паролю, для e_107: в админке е107 создается класс (по умолчанию 'cssadmin', менять можно в конфиге) и разрешается доступ к этому скрипту только этому классу.

Update 2:
Версия v2 теперь доступна для Linux.

Архив содержит скрипт для utf-8 и cp1251 кодировок.

Теперь подробнее об интеграции в е107:
1. копируем содержимое папки web в новую директорию на веб сервере, скажем в "web_admin".
2. редактируем фаил config.php в соответствии со своим случаем. Обязательно выставить режим скрипта "е107" ($gameserver_script = 'e107';)
3. в админке е107 в разделе Классы пользователей создаем новый класс, по умолчанию это "cssadmin" (его имя можно менять в config.php).
4. в админке е107 в разделе Пользователи назначаем нужным пользователям этот класс. Таким образом мы разрешаем доступ только им к этому скрипту.
5. Добавляем ссылку в меню сайта: в админке е107 в разделе Ссылки сайта добавляем новую ссылку, для этого примера она будет выглядеть так: "web_admin", имя ссылки любое, например CSS Serv Admin, класс - cssadmin.
Готово, теперь у нас на сайте в главном меню есть ссылка на администрацию сервера и видят ее только избранные пользователи.

Для самостоятельного режима:
1. Копируем содержимое папки web в новую директорию на веб сервере, скажем в "web_admin".
2. Редактируем фаил config.php в соответствии со своим случаем. Обязательно выставить режим скрипта "standalone" ($gameserver_script = 'standalone';)
3. Выставляем логин и пасс тамже.
4. Заходим по ссылке из браузера в только что созданную папку.
Готово.

Всем кто копирует данный пост и всю информацию отсюда, следует указывать первоисточник и ставить копирайт: Автор Destroyer!
Cкриншоты:
интегрировано в е107:
Изображение
самостоятельный режим:
Изображение
Вложения
DS_web_admin_v2_nix.rar
Для Linux
(108.38 КБ) 559 скачиваний
DS_web_admin_v2_nix.rar
Для Linux
(108.38 КБ) 559 скачиваний
DS_web_admin_v2.rar
Для Windows
(424.71 КБ) 4039 скачиваний
DS_web_admin_v2.rar
Для Windows
(424.71 КБ) 4039 скачиваний
Последний раз редактировалось Destroyer 16.07.2009, 20:23, всего редактировалось 7 раз.
Изображение

Аватара пользователя
pnzadvisor
Сержант
Сержант
Сообщения: 87
Зарегистрирован: 30.10.2007

#2 Сообщение 15.03.2008, 23:57

Если бы я такую штуку нашел полгода назад я был бы счастив :)
А сейчас я уже написал свой скрипт, запуск сервера через функцию system(); и остановка через ркон (вот это плохо)
Но всё равно thanks за такую работу :good:

Destroyer
Нович0к
Нович0к
Сообщения: 29
Зарегистрирован: 09.05.2006
Контактная информация:

#3 Сообщение 16.03.2008, 15:32

Вот в этом скрипте остановка реализована через cron и через принудительное закрытие - оч. помогает при настройке вешающих серв плагинов.
Изображение

Аватара пользователя
argnist
VIP
VIP
Сообщения: 1083
Зарегистрирован: 21.05.2006
Откуда: Украина, Днепропетровск
Поблагодарили: 1 раз

#4 Сообщение 19.03.2008, 15:19

Низкий поклон автору.

Аватара пользователя
RomanSnegov
Капитан
Капитан
Сообщения: 365
Зарегистрирован: 07.10.2007
Откуда: CCCР
Контактная информация:

#5 Сообщение 19.03.2008, 16:22

Присоединяюсь! ОГРОМНОЕ СПАСИБО!
вопрос он сделан плагином к е107 или нет? если нет, то как именно интегрируется?
и какая версия е 107? у меня Версия 0.7.11 - чет не работает....
Последний раз редактировалось RomanSnegov 19.03.2008, 19:53, всего редактировалось 2 раза.
Изображение
Изображение
Изображение
Изображение

punkil
Нович0к
Нович0к
Сообщения: 15
Зарегистрирован: 28.10.2007

#6 Сообщение 19.03.2008, 18:20

Все отлично только у меня все в закарлючках(((Стоит кодировка сp1251


Destroyer
Нович0к
Нович0к
Сообщения: 29
Зарегистрирован: 09.05.2006
Контактная информация:

#8 Сообщение 20.03.2008, 00:48

RomanSnegov писал(а):Присоединяюсь! ОГРОМНОЕ СПАСИБО!
вопрос он сделан плагином к е107 или нет? если нет, то как именно интегрируется?
и какая версия е 107? у меня Версия 0.7.11 - чет не работает....
Он сделан не как плагин, т.к. изначально как самостоятельная фишка задумывался. Установка как в описании в первом посте. От версии е107 не зависит.
punkil писал(а):Все отлично только у меня все в закарлючках(((Стоит кодировка сp1251
Все правильно, все файлы написаны в кодировке UTF-8 надо открыть их в блокноте, например Notepad2, и перекодировать в cp1251.
Вот выкладываю туже версию, но в кодировке cp1251.

Всем спасибо за комменты, может дальше будет развиваться проект.
Вложения
DS_web_admin_cp1251.rar
(208.65 КБ) 348 скачиваний
DS_web_admin_cp1251.rar
(208.65 КБ) 348 скачиваний
Изображение

smak
Нович0к
Нович0к
Сообщения: 11
Зарегистрирован: 26.01.2007
Контактная информация:

#9 Сообщение 20.03.2008, 02:08

Если кто сделает этот скрипт самостоятельным ,ну чтобы он шел без системы e107 , скиньте сюда :]

PYRO14055
Сержант
Сержант
Сообщения: 87
Зарегистрирован: 02.10.2007
Откуда: Из Half-Life2

#10 Сообщение 20.03.2008, 11:43

Спасибо ! ! Реальная штука +5 :beer:
Скачай все gcf через uTorrent тут
Изображение
Изображение
Изображение

Destroyer
Нович0к
Нович0к
Сообщения: 29
Зарегистрирован: 09.05.2006
Контактная информация:

#11 Сообщение 21.03.2008, 00:01

Думаю в ближайшую неделю сделаю самостоятельную версию или универсальную.
Изображение

Аватара пользователя
RomanSnegov
Капитан
Капитан
Сообщения: 365
Зарегистрирован: 07.10.2007
Откуда: CCCР
Контактная информация:

#12 Сообщение 21.03.2008, 00:50

Destroyer писал(а):
RomanSnegov писал(а):Присоединяюсь! ОГРОМНОЕ СПАСИБО!
вопрос он сделан плагином к е107 или нет? если нет, то как именно интегрируется?
и какая версия е 107? у меня Версия 0.7.11 - чет не работает....
Он сделан не как плагин, т.к. изначально как самостоятельная фишка задумывался. Установка как в описании в первом посте. От версии е107 не зависит.
значит, я тупой.... :blush:
я так и не понял как его можно "интегрировать", и у меня он в серваке не запускается..... :dash:
ЗЫ: может, для таких дятлов, как я, в картинках???? :blush:
Изображение
Изображение
Изображение
Изображение

Аватара пользователя
tiffolk
Нович0к
Нович0к
Сообщения: 25
Зарегистрирован: 14.02.2008

#13 Сообщение 26.03.2008, 14:18

ребят,скрины можно?

Аватара пользователя
tiffolk
Нович0к
Нович0к
Сообщения: 25
Зарегистрирован: 14.02.2008

#14 Сообщение 26.03.2008, 14:22

не не надо,этож винда

Destroyer
Нович0к
Нович0к
Сообщения: 29
Зарегистрирован: 09.05.2006
Контактная информация:

#15 Сообщение 04.04.2008, 23:50

Ну вот и дождались новой версии.
Что нового:
- класс юзеров (для движка е107), имеющих доступ к скрипту, теперь указывается в файле config.php
- появился самостоятельный режим
- пасс и логин указываются в файле config.php
- не нужна база данных

Файлы обновлены в первом посте. Архив содержит скрипт для utf-8 и cp1251 кодировок.

Теперь подробнее об интеграции в е107:
1. копируем содержимое папки web в новую директорию на веб сервере, скажем в "web_admin".
2. редактируем фаил config.php в соответствии со своим случаем. Обязательно выставить режим скрипта "е107" ($gameserver_script = 'e107';)
3. в админке е107 в разделе Классы пользователей создаем новый класс, по умолчанию это "cssadmin" (его имя можно менять в config.php).
4. в админке е107 в разделе Пользователи назначаем нужным пользователям этот класс. Таким образом мы разрешаем доступ только им к этому скрипту.
5. Добавляем ссылку в меню сайта: в админке е107 в разделе Ссылки сайта добавляем новую ссылку, для этого примера она будет выглядеть так: "web_admin", имя ссылки любое, например CSS Serv Admin, класс - cssadmin.
Готово, теперь у нас на сайте в главном меню есть ссылка на администрацию сервера и видят ее только избранные пользователи.

Для самостоятельного режима:
1. копируем содержимое папки web в новую директорию на веб сервере, скажем в "web_admin".
2. редактируем фаил config.php в соответствии со своим случаем. Обязательно выставить режим скрипта "standalone" ($gameserver_script = 'standalone';)
3. Выставляем логин и пасс тамже.
4. Заходим по ссылке из браузера в только что созданную папку.
Готово.

Прикрепляю скриншоты:
интегрировано в е107:
Изображение
самостоятельный режим:
Изображение


На счет nix систем, довольно просто переделать этот скрипт и для них, возможно со временем и появится такая версия. Но значительно ускорит процесс если кто-нибудь сделает фаил аналогичный универсальному лоадеру (тот что в комплекте со скриптом) для nix систем.
Изображение

Ответить Вложения 3