Страница 1 из 5

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

Добавлено: 15.03.2008, 19:32
Destroyer
Как-то поднимал тут эту тему, но ничего так и не нашел, кроме 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:
Изображение
самостоятельный режим:
Изображение

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

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

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

Добавлено: 16.03.2008, 15:32
Destroyer
Вот в этом скрипте остановка реализована через cron и через принудительное закрытие - оч. помогает при настройке вешающих серв плагинов.

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

Добавлено: 19.03.2008, 15:19
argnist
Низкий поклон автору.

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

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

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

Добавлено: 19.03.2008, 18:20
punkil
Все отлично только у меня все в закарлючках(((Стоит кодировка сp1251

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

Добавлено: 19.03.2008, 20:12
DimonCJ
Мега Пасибки!ТРУ!

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

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

Всем спасибо за комменты, может дальше будет развиваться проект.

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

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

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

Добавлено: 20.03.2008, 11:43
PYRO14055
Спасибо ! ! Реальная штука +5 :beer:

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

Добавлено: 21.03.2008, 00:01
Destroyer
Думаю в ближайшую неделю сделаю самостоятельную версию или универсальную.

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

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

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

Добавлено: 26.03.2008, 14:18
tiffolk
ребят,скрины можно?

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

Добавлено: 26.03.2008, 14:22
tiffolk
не не надо,этож винда

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

Добавлено: 04.04.2008, 23:50
Destroyer
Ну вот и дождались новой версии.
Что нового:
- класс юзеров (для движка е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 систем.