Решение проблем с запуском серверов GameAP
Здесь обсуждается наиболее частая проблема, связанная с использованием web-панели управления игровыми серверами GameAP - невозможно запустить игровой сервер.
Локальный сервер - сервер находящийся на одной машине (выделенном сервере) с АдминПанелью и управляемый при помощи обычных shell команд, а не SSH или Telnet. Если панель расположена на одной машине, но управляется через SSH или Telnet, то такой сервер Панель считает за удаленный.
Содержание
Указаны ли необходимые настройки игрового сервера?
Если вы используете стандартные данные АдминПанели, то зайдите в настройки игрового сервера (Главная -> выбираем сервер -> другие команды -> Настройки сервера), укажите все параметры для сервера, некоторые параметры должны указываться в определенных пределах и быть валидными, если указывается карта по умолчанию, то эта карта должна присутствовать на игровом сервере.
Проверка команд запуска
Проверьте команду запуска игрового сервера, в случае необходимости отредактируйте ее. Если используются исполняемые файлы админпанели, то параметры команды запуска должны быть следующими:
./server.sh start <директория_игрового_сервера> <имя_screen> <IP> <порт> <"команда_запуска_игрового_сервера"> <пользователь> server.exe start <директория_игрового_сервера> <имя_сервера> <IP> <порт> <"команда_запуска_игрового_сервера">
Например, для запуска Counter-Strike сервера команда может быть следующей
./server.sh start {dir} {name} {ip} {port} "./hlds_run -console -game cstrike +ip {ip} +port {port} +map de_dust2" server.exe start {dir} {name} {ip} {port} "hlds.exe -console -game cstrike +ip {ip} +port {port} +map de_dust2"
Обратите внимание, что в случае Linux, необходимо указать ./ перед исполняемым файлом АдминПанели.
Проверка путей
Предполагается, что в некоторой директории находится исполняемый файл АдминПанели (server.sh или server.exe), через который панель управляет игровыми серверами. Во внутренних директориях должны располагаться файлы игровых серверов. Если у вас Counter-Strike 1.6 сервер, в этом случае исполняемым файлом игрового сервера будет hlds_run или hlds.exe. Допустим путь до вашего игрового сервера следующий:
/путь/до/server.sh/путь/до/hlds_run
В пути к исполняемым файлам админ панели должен быть указан путь до server.sh, например:
/путь/до/server.sh
В пути игрового сервера должен быть указан путь до исполняемого файла игрового сервера (hlds_run, hlds.exe, srcds_run и т.п.). Например:
путь/до/hlds_run
Проверка прав
У исполняемых файлов админ панели и игрового сервера должны быть права на выполнения, если их не будет, то сервер не будет запущен.
Если у вас локальный Linux сервер, то необходимо дать доступ пользователю, от которого запущен Web-сервер sudo права на исполняемый файл панели (server.sh). Откройте файл /etc/sudoers и добавьте в конец:
www-data ALL = NOPASSWD: /путь/к/server.sh
Где www-data - пользователь, от которого запущен web-сервер.
Правильно ли установлен сервер?
Попробуйте запустить сервер вручную, без помощи АдминПанели. Используйте команду, которую написала вам панель, при запуске сервера, либо найдите ее в логах. Если сервер запускается в консоли, но панель не может его запустить - проверьте права пользователей от которых запущен сервер. В некоторых случаях, обычно на виртуальных серверах, требуется задать CPU_MHZ, для этого откройте исполняемый файл server.sh и добавьте строчку после #!/bin/bash
export CPU_MHZ=2000
где 2000 - частота процессора
Unable to determine CPU Frequency. Try defining CPU_MHZ
Подобная ошибка обычно появляется на виртуальных серверах при запуске игровых серверов Valve или SteamCMD. Откройте файл server.sh и добавьте в него строчку
export CPU_MHZ=2000
А чтобы игровые серверы могли устанавливаться, необходимо добавить эту же строчку в файл steamcmd.sh
Установлены ли необходимые приложения?
Для Linux сервера должен быть установлен Screen
apt-get install screen
Для удаленных серверов Linux и Windows должны быть установлены SSH или Telnet. Для php должен быть установлен модуль ssh2, если используется протокол управления SSH.
В некоторых случаях игровой сервер не может быть запущен из-за отсутствия 32-битных библиотек, если используется 64-битный дистрибутив Linux
dpkg --add-architecture i386 apt-get update apt-get install ia32-libs
(при необходимости добавьте sudo)
Если ничего не помогло
Если ничего из вышеперечисленного не помогло, попробуйте подключиться вручную к консоли вашего сервера и запустить игровой сервер вручную, возможно он не может запуститься из-за каких-либо настроек, библиотек и т.д.