Решение проблем с запуском серверов GameAP: различия между версиями

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
Строка 43: Строка 43:
 
Для удаленных серверов Linux и Windows должны быть установлены SSH или Telnet.
 
Для удаленных серверов Linux и Windows должны быть установлены SSH или Telnet.
 
Для php должен быть установлен модуль ssh2, если используется протокол управления SSH.
 
Для php должен быть установлен модуль ssh2, если используется протокол управления SSH.
 +
 +
В некоторых случаях игровой сервер не может быть запущен из-за отсутствия 32-битных библиотек, если используется 64-битный дистрибутив Linux
 +
dpkg --add-architecture i386
 +
apt-get update
 +
apt-get install ia32-libs
 +
(при необходимости добавьте sudo)
 +
 +
== Если ничего не помогло ==
 +
Если ничего из вышеперечисленного не помогло, попробуйте подключиться вручную к консоли вашего сервера и запустить игровой сервер вручную, возможно он не может запуститься из-за каких-либо настроек, библиотек и т.д.

Версия 10:18, 24 августа 2013


Здесь обсуждается наиболее частая проблема, связанная с использованием 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-сервер.

Правильно ли установлен сервер?

Попробуйте запустить сервер вручную, без помощи АдминПанели. Если запускается в консоли

Установлены ли необходимые приложения?

Для 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)

Если ничего не помогло

Если ничего из вышеперечисленного не помогло, попробуйте подключиться вручную к консоли вашего сервера и запустить игровой сервер вручную, возможно он не может запуститься из-за каких-либо настроек, библиотек и т.д.