Этот скрипт будет полезен для держателей серверов под 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:
самостоятельный режим: