Имеется ограниченное количество сборок GameAP Daemon под разные дистрибутивы.
Возможно, вам потребуется собрать Daemon самостоятельно для своего дистрибутива или установить более новую версию для старого или неподдерживаемого дистрибутива.
Некоторые сборки для старых дистрибутивов вы можете найти здесь:
http://packages.gameap.ru/gameap-daemon/
Ручная установка на примере Debian 8
Генерация сертификатов
В первую очередь необходимо установить OpenSSL
apt-get install openssl
Создайте каталог, в котором будут сертификаты:
mkdir -p /etc/gameap-daemon/certs
cd /etc/gameap-daemon/certs
Генерируем корневой сертификат:
openssl genrsa -out rootca.key 2048
openssl req -x509 -new -nodes -key rootca.key -days 3650 -out rootca.crt
Генерируем и подписываем сертификат сервера:
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=$(hostname)/O=GameAP Daemon" -out server.csr
openssl x509 -req -in server.csr -CA rootca.crt -CAkey rootca.key -CAcreateserial -out server.crt -days 3650
Генерируем и подписываем сертификат клиента:
openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.csr
openssl x509 -req -in client.csr -CA rootca.crt -CAkey rootca.key -CAcreateserial -out client.crt -days 3650
Генерируем DH сертификат:
openssl dhparam -out dh2048.pem 2048
Добавление клиентского сертификата в панели
Загрузите client.crt
и client.key
в панель.
Перейдите в Администрирование -> Выделенные серверы -> Клиенские сертификаты -> Создать сертификат
Установка бинарников GameAP Daemon
Компилируем исходники GameAP Daemon. Либо скачиваем скомпилированные:
wget http://packages.gameap.ru/gameap-daemon/gameap-daemon-jessie.tar.gz
Если вы скачали бинарники, то распакуйте архив и переместите его в /opt/gameap-daemon
:
tar xvf gameap-daemon-jessie.tar.gz -C /opt
Конфигурация GameAP Daemon
Создайте файл /etc/gameap-daemon/gameap-daemon.cfg
со следующим содержимым:
; Dedicated server ID
ds_id=0
listen_ip=0.0.0.0
listen_port=31717
password_authentication=false
api_host=localhost
api_key=IWDGQhu9dCPQC7CVyQYuxk40ddTUC8F1pGkGWOc3XJnK7G94d5QYDWlMrJjIcJFd
ca_certificate_file=/etc/gameap-daemon/certs/rootca.crt
certificate_chain_file=/etc/gameap-daemon/certs/server.crt
private_key_file=/etc/gameap-daemon/certs/server.key
dh_file=/etc/gameap-daemon/certs/dh2048.pem
; Interfase list
; Space is delimiter
; Example:
; if_list=lo eth0 eth1
; Default Value: eth0 eth1
if_list=eth0
; Drives list
; No Spaces in path. Space is delimiter
; Example:
; drives_list=/ /home/servers
drives_list=/
stats_update_period=60
stats_db_update_period=300
О параметрах конфигурации можете посмотреть в документации http://docs.gameap.ru/ru/gameap_daemon.html#конфигурация
Добавление новоговыделенного сервера в панели
Перейдите в Администрирование -> Выделенные серверы -> Создать
В качестве сертификата загрузите файл rootca.crt
, который вы сгенерировали ранее. Логин и пароль можете оставить пустыми, для авторизации используются сертификаты.
После того, как вы создали выделенный сервер, необходимо узнать его ID и API Key. Перейдите в Администрирование -> Выделенные серверы -> Выберите свой выделенный сервер -> Просмотр
Откройте на сервере файл /etc/gameap-daemon/gameap-daemon.cfg
и укажите значения для ds_id
и api_key
. Параметру api_host
укажите хост панели управления.
ds_id=2
...
api_host=http://example.com
api_key=sdUyPWeWGYXmsb89OdO1mec91lJw1PIDW02ywtxiec7oulu97qu2thi1hC4Kihf2
...
Запуск GameAP Daemon
Запуск GameAP Daemon осуществляется следующей командой:
LD_LIBRARY_PATH=/opt/gameap-daemon/lib/ /opt/gameap-daemon/bin/gameap-daemon -c /etc/gameap-daemon/gameap-daemon.cfg
Выполните команду выше, чтобы проверить, что всё в порядке. Файл gameap-daemon должен запуститься без ошибок и без вывода каких-либо сообщений. Чтобы остановить просто нажмите Ctrl+C и подождите несколько секунд (обычно не более 10).
После остановки проверьте логи в /var/log/gameap-daemon/
. Откройте файл error.log
он должен быть пустым.
cat /var/log/gameap-daemon/error.log
Запуск в фоне
Скачайте и распакуйте скрипты
wget http://packages.gameap.ru/gameap-daemon/initrd-script-debian.tar.gz
tar xvf initrd-script-debian.tar.gz -C /etc
После этого можете запустить gameap-daemon:
/etc/init.d/gameap-daemon start
Остановка осуществляется командой:
/etc/init.d/gameap-daemon stop
Проверка статуса:
/etc/init.d/gameap-daemon status
Перезапуск:
/etc/init.d/gameap-daemon status
Установка SteamCMD и дополнительных библиотек
Чтобы была возможность устанавливать игровые серверы через SteamCMD выполните следующие команды:
curl -O https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
mkdir -p /srv/gameap/steamcmd
tar -xvzf steamcmd_linux.tar.gz -С /srv/gameap/steamcmd
При использовании 64 битной архитектуры, установите 32 битные версии пакетов:
apt install lib32gcc1 lib32stdc++6