Решение проблем с запуском серверов GameAP: различия между версиями
Nikita (обсуждение | вклад) |
Nikita (обсуждение | вклад) |
||
(не показано 13 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
[[Категория:АдминПанель|Решение проблем с запуском серверов]] | [[Категория:АдминПанель|Решение проблем с запуском серверов]] | ||
+ | [[Категория:Документация_GameAP|Решение проблем с запуском серверов]] | ||
Здесь обсуждается наиболее частая проблема, связанная с использованием web-панели управления игровыми серверами GameAP - невозможно запустить игровой сервер. | Здесь обсуждается наиболее частая проблема, связанная с использованием web-панели управления игровыми серверами GameAP - невозможно запустить игровой сервер. | ||
Строка 12: | Строка 13: | ||
server.exe start <директория_игрового_сервера> <имя_сервера> <IP> <порт> <"команда_запуска_игрового_сервера"> | server.exe start <директория_игрового_сервера> <имя_сервера> <IP> <порт> <"команда_запуска_игрового_сервера"> | ||
Например, для запуска Counter-Strike сервера команда может быть следующей | Например, для запуска Counter-Strike сервера команда может быть следующей | ||
− | ./server.sh start {dir} {name} {ip} {port} "hlds_run -console -game cstrike +ip {ip} +port {port} +map de_dust2" | + | ./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" | server.exe start {dir} {name} {ip} {port} "hlds.exe -console -game cstrike +ip {ip} +port {port} +map de_dust2" | ||
Обратите внимание, что в случае Linux, необходимо указать ./ перед исполняемым файлом АдминПанели. | Обратите внимание, что в случае Linux, необходимо указать ./ перед исполняемым файлом АдминПанели. | ||
== Проверка путей == | == Проверка путей == | ||
+ | |||
Предполагается, что в некоторой директории находится исполняемый файл АдминПанели (server.sh или server.exe), через который панель управляет игровыми серверами. Во внутренних директориях должны располагаться файлы игровых серверов. | Предполагается, что в некоторой директории находится исполняемый файл АдминПанели (server.sh или server.exe), через который панель управляет игровыми серверами. Во внутренних директориях должны располагаться файлы игровых серверов. | ||
− | Если у вас [[Counter-Strike]] 1.6 сервер, | + | Если у вас [[Counter-Strike]] 1.6 сервер, то исполняемым файлом игрового сервера будет hlds_run или hlds.exe. |
Допустим путь до вашего игрового сервера следующий: | Допустим путь до вашего игрового сервера следующий: | ||
/путь/до/server.sh/путь/до/hlds_run | /путь/до/server.sh/путь/до/hlds_run | ||
Строка 25: | Строка 27: | ||
В пути игрового сервера должен быть указан путь до исполняемого файла игрового сервера (hlds_run, hlds.exe, srcds_run и т.п.). Например: | В пути игрового сервера должен быть указан путь до исполняемого файла игрового сервера (hlds_run, hlds.exe, srcds_run и т.п.). Например: | ||
путь/до/hlds_run | путь/до/hlds_run | ||
+ | |||
+ | Пример с Windows. Файлы server.exe и psexec.exe должны располагаться в директории | ||
+ | C:\Servers | ||
+ | А во всех внутренних директория должны располагаться игровые серверы, например сервер игры [[Half-Life]] тогда будет располагаться в | ||
+ | C:\Servers\my_hl | ||
+ | В этой директории должен находится hlds.exe | ||
+ | |||
+ | === Примечание === | ||
+ | Файлы hlds_run и server.sh (Для Windows - hlds.exe и server.exe) не должны располагаться в одной директории. Расположите исполняемые файлы GameAP в директории выше каталога с игровым сервером. | ||
== Проверка прав == | == Проверка прав == | ||
Строка 35: | Строка 46: | ||
== Правильно ли установлен сервер? == | == Правильно ли установлен сервер? == | ||
− | Попробуйте запустить сервер вручную, без помощи АдминПанели. | + | Попробуйте запустить сервер вручную, без помощи АдминПанели. Используйте команду, которую написала вам панель, при запуске сервера, либо найдите ее в логах. |
+ | Если сервер запускается в консоли, но панель не может его запустить - проверьте права пользователей от которых запущен сервер. В некоторых случаях, обычно на виртуальных серверах, требуется задать 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) | ||
+ | |||
+ | == Пароли и пользователи == | ||
+ | Панель не умеет запускать игровые серверы, если при отправке команды запуска запрашивается пароль. | ||
+ | |||
+ | Разберем подробнее, если в SSH панель работает от пользователя ssh_user, а в настройке "Пользователь, от которого будет запущен сервер (Linux)" указан game_user, то при соединении с SSH и вводе в консоли | ||
+ | su game_user | ||
+ | мы должны перейти в сессию пользователя game_user без ввода пароля. | ||
+ | |||
+ | == Если ничего не помогло == | ||
+ | Если ничего из вышеперечисленного не помогло, попробуйте подключиться вручную к консоли вашего сервера и запустить игровой сервер вручную, возможно он не может запуститься из-за каких-либо настроек, библиотек и т.д. | ||
+ | |||
+ | {{Категория:Документация_GameAP}} |
Текущая версия на 12:31, 15 мая 2014
Здесь обсуждается наиболее частая проблема, связанная с использованием 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
Пример с Windows. Файлы server.exe и psexec.exe должны располагаться в директории
C:\Servers
А во всех внутренних директория должны располагаться игровые серверы, например сервер игры Half-Life тогда будет располагаться в
C:\Servers\my_hl
В этой директории должен находится hlds.exe
Примечание
Файлы hlds_run и server.sh (Для Windows - hlds.exe и server.exe) не должны располагаться в одной директории. Расположите исполняемые файлы GameAP в директории выше каталога с игровым сервером.
Проверка прав
У исполняемых файлов админ панели и игрового сервера должны быть права на выполнения, если их не будет, то сервер не будет запущен.
Если у вас локальный 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)
Пароли и пользователи
Панель не умеет запускать игровые серверы, если при отправке команды запуска запрашивается пароль.
Разберем подробнее, если в SSH панель работает от пользователя ssh_user, а в настройке "Пользователь, от которого будет запущен сервер (Linux)" указан game_user, то при соединении с SSH и вводе в консоли
su game_user
мы должны перейти в сессию пользователя game_user без ввода пароля.
Если ничего не помогло
Если ничего из вышеперечисленного не помогло, попробуйте подключиться вручную к консоли вашего сервера и запустить игровой сервер вручную, возможно он не может запуститься из-за каких-либо настроек, библиотек и т.д.
Документация GameAP | |
---|---|
Подготовка к работе | •Установка •Конфигурация |
Администрирование |
•Выделенные серверы •Игровые серверы •Игры •Типы игр •Пользователи |
Модули | •GameAP Commercial |
FAQ. Ответы на частозадаваемые вопросы |