Установка GameAP: различия между версиями

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
м
 
(не показано 26 промежуточных версий 3 участников)
Строка 1: Строка 1:
[[Категория:АдминПанель|Установка]]
+
{{Старая_документация_GameAP}}
 +
 
 
== Требования ==
 
== Требования ==
  
 
=== Web-сервер ===
 
=== Web-сервер ===
 
* База данных (MySQL, PostgreSQL, MSSQL, SQLite или Oracle)
 
* База данных (MySQL, PostgreSQL, MSSQL, SQLite или Oracle)
* Apache 2 с модулем mod_rewrite
 
 
* PHP 5.1+
 
* PHP 5.1+
  
Строка 24: Строка 24:
 
* SSH2 (для работы с локальным сервером не требуется)
 
* SSH2 (для работы с локальным сервером не требуется)
  
'''Установка GD на Linux:'''
+
==== Установка PHP GD ====
 +
Debian/Ubuntu:
 
  sudo apt-get install php5-gd
 
  sudo apt-get install php5-gd
  
'''Установка модуля SSH2:'''
+
CentOS:
  pecl install -f ssh2
+
yum install php-gd
 +
 
 +
==== Установка PHP SSH2 ====
 +
Debian/Ubuntu:
 +
  sudo apt-get install libssh2-php
 +
 
 +
CentOS:
 +
<pre>
 +
yum install -y php-devel libssh2-devel php-pear
 +
pecl install -f ssh2
 +
echo "extension=ssh2.so" > /etc/php.d/ssh2.ini
 +
</pre>
  
 
== Установка Web-части АдминПанели ==
 
== Установка Web-части АдминПанели ==
Строка 34: Строка 46:
 
===  Автоматическая установка ===
 
===  Автоматическая установка ===
 
* Скопируйте содержимое директории upload на сервер.
 
* Скопируйте содержимое директории upload на сервер.
* Запустите мастер установки, перейдя по адресу http://<ваш_сайт>/install, например http://www.gameap.ru/install
+
* Запустите мастер установки, перейдя по адресу  
 +
<pre>http://<ваш_сайт>/install</pre>
 +
например  
 +
http://www.gameap.ru/install  
 
* Выполните все действия мастера установки.
 
* Выполните все действия мастера установки.
 
* Удалите каталог install с сервера.
 
* Удалите каталог install с сервера.
  
Для повторной установки удалите файлы config.php и database.php в директории application/config
+
==== Если отсутствует mod_rewrite ====
 +
Установка, при отсутствии mod_rewrite и .htaccess аналогична, за исключением некоторых деталей.
  
=== Ручная установка ===
+
Откройте файл '''application/config/config.php''' и измените следующие значения переменных
* Распакуйте содержимое архива в нужную директорию.
+
<pre>
* Откройте файл '''applications/config/database.php''' и настройте параметры базы данных:
+
$config['index_page'] = 'index.php';
<syntaxhighlight lang="php">
+
$config['uri_protocol'] = 'QUERY_STRING';
$db['default']['hostname'] = 'localhost';     // Хост базы данных
+
$config['enable_query_strings'] = TRUE;
$db['default']['username'] = 'username';     // Имя пользователя
+
</pre>
$db['default']['password'] = 'password';      // Пароль
 
$db['default']['database'] = 'db';            // Имя базы данных
 
$db['default']['dbdriver'] = 'mysql';        // Тип базы данных (mysql, postgre, obdc и др.). Указывается в нижнем регистре
 
$db['default']['dbprefix'] = '';             // Префикс базы данных
 
</syntaxhighlight>
 
  
Если файл отсутствует, то найдите в дистрибутиве '''install/database_install.tmp''', скопируйте его в '''applications/config/''' и переименуйте в '''database.php'''
+
Перейдите по адресу http://<ваш_сайт>/index.php?install, например http://www.gameap.ru/index.php?install
  
* Откройте файл '''applications/config/config.php''' и настройте параметры:
+
После установки панели не забудьте настроить выполнение cron заданий.
<syntaxhighlight lang="php">
+
Для повторной установки панели удалите файл gameap_config.php и database.php из директории application/config
$config['base_url'] = 'http://www.gameap.ru/'; // URL сайта с http:// и слешем в конце
 
$config['language'] = 'english'; // Язык
 
$config['local_os'] = 'Linux'; // Локальная ос (на которой установлена панель)
 
$config['local_script_path'] = '/home/servers'; // Путь к игровым сервером на локальном сервере
 
$config['system_email'] = 'no-reply@hldm.org'; // Email, используемый для отправки информационных сообщений другим пользователям
 
$config['register_users'] = FALSE; // Регистрация пользователей
 
</syntaxhighlight>
 
 
 
Если файл отсутствует, то найдите в дистрибутиве '''install/config_install.tmp''', скопируйте его в '''applications/config/''' и переименуйте в '''config.php'''
 
 
 
Неуказанные параметры редактировать не рекомендуется.
 
  
 
=== Настройка cron ===
 
=== Настройка cron ===
 
Настройте автоматическое выполнение задач. Добавив выполняться задания CRON каждые 5-10 минут:
 
Настройте автоматическое выполнение задач. Добавив выполняться задания CRON каждые 5-10 минут:
  "*/5 * * * * php -f /path/to/adminpanel/index.php cron"
+
  */5 * * * * php -f /path/to/adminpanel/index.php cron
  
 
==== Настройка автоматического выполнения задач Linux ====
 
==== Настройка автоматического выполнения задач Linux ====
Строка 82: Строка 82:
  
 
==== Настройка автоматического выполнения задач Windows ====
 
==== Настройка автоматического выполнения задач Windows ====
 +
[[Файл:Gameap cronset windows51.png|thumb|Настройка выполнения задач в Windows XP]]
 
В Windows есть свое средство для запуска программ и скриптов по расписанию. Инструмент "Назначенные задания" поможет вам настроить автоматическое выполнение скрипта.
 
В Windows есть свое средство для запуска программ и скриптов по расписанию. Инструмент "Назначенные задания" поможет вам настроить автоматическое выполнение скрипта.
  
 
Порядок выполнения:
 
Порядок выполнения:
 
* Откройте инструмент "'''Назначенные задания'''", '''ПУСК''' -> '''Все программы''' -> '''Стандартные''' -> '''Служебные''' -> '''Назначенные задания'''.
 
* Откройте инструмент "'''Назначенные задания'''", '''ПУСК''' -> '''Все программы''' -> '''Стандартные''' -> '''Служебные''' -> '''Назначенные задания'''.
* Откройте мастера "'''Добавить задание'''".
+
* Кликните по "'''Добавить задание'''".
* У вас откроется окно мастера. Кликните далее и выберите файл '''php.exe''' из вашего комплекта PHP интерпретатора.
+
* У вас откроется окно мастера. Кликните далее и выберите файл '''php.exe''' вашего вебсервера.
 
* В следующем окне укажите имя этому заданию и выберите "'''ежедневно'''" в качестве периода выполнения задания.
 
* В следующем окне укажите имя этому заданию и выберите "'''ежедневно'''" в качестве периода выполнения задания.
 
* Следующий диалог можете оставить как есть. В этом диалоге вы можете задать время начала выполнения задания.
 
* Следующий диалог можете оставить как есть. В этом диалоге вы можете задать время начала выполнения задания.
Строка 94: Строка 95:
 
* Появится окно свойств этого задания. В поле ''выполнить'' будет команда запуска скрипта. На Windows она выглядит так:
 
* Появится окно свойств этого задания. В поле ''выполнить'' будет команда запуска скрипта. На Windows она выглядит так:
 
  C:\path\to\php\php.exe -f "C:\path\to\adminpanel\index.php" cron
 
  C:\path\to\php\php.exe -f "C:\path\to\adminpanel\index.php" cron
Пример:
+
* Перейдите во вкладку '''Расписание''' и поставьте время начала выполнения в '''0:00'''; нажмите на кнопку '''Дополнительно'''.
C:\data\xampp\php\php.exe -f "C:\data\www\start-in-game.ru\admin_panel_servers\index.php" cron
 
* Перейдите во вкладку '''Расписание''' и поставьте время начало выполнения в '''0:00'''; нажмите на кнопку '''Дополнительно'''.
 
 
* Поставьте галочку напротив '''Повторять задание''' и задайте период запуска скрипта.
 
* Поставьте галочку напротив '''Повторять задание''' и задайте период запуска скрипта.
* Настройте выполнение скрипта в течении '''23 часов''' и '''50 минут'''. Это даст нам возможность повторять это задание каждые n минут в течении дня.
+
* Настройте выполнение скрипта в течении '''24 часов'''.
 
* После чего нажмите "OK" и проверьте выполнение скрипта.
 
* После чего нажмите "OK" и проверьте выполнение скрипта.
  
Строка 131: Строка 130:
  
 
* Для автоматической установки серверов необходимо наличие утилиты [[SteamCMD]] в директории с исполняемыми файлами АдминПанели (server.sh)
 
* Для автоматической установки серверов необходимо наличие утилиты [[SteamCMD]] в директории с исполняемыми файлами АдминПанели (server.sh)
  http://media.steampowered.com/client/steamcmd_linux.tar.gz
+
  wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
 +
tar xvfz steamcmd_linux.tar.gz
 +
 
 +
* Для работы ограничений требуются пакеты cpulimit, tricle и ulimit. Установка для Debian/Ubuntu:
 +
apt-get install cpulimit tricle
  
 
=== Windows ===
 
=== Windows ===
Удаленное управление серверами под управлением ОС Windows происходит по протоколу Telnet.  
+
Для удаленного управления машинами под ОС Windows рекомендуется использовать [[GDaemon]]. Также можно использовать Telnet или SSH.
 +
==== Запуск сервера GDaemon ====
 +
 
 +
* Скачайте файлы daemon.exe и daemon.cfg с GitHub - https://github.com/GameAP/GameAP_Daemon/tree/master/compiled/Windows
 +
* Скопируйте эти файлы в директорию, где будут игровые серверы, например C:\servers\
 +
* Откройте командную строку Windows - cmd.exe
 +
* Отправьте команду:
 +
sc create "GameAP Daemon" start= auto binpath= C:\servers\daemon.exe
 +
sc failure "GameAP Daemon" reset= 600 actions= run/5000/reboot/800
 +
Где C:\servers\daemon.exe - путь к исполняемому файлу daemon.exe
 +
 
 +
* Настройте GDaemon, откройте файл daemon.cfg в блокноте и измените параметры на свои.
 +
 
 +
* Откройте порт на файрволе, в стандартном брандмауэре Windows это делается отправкой команды в cmd:
 +
netsh advfirewall firewall add rule name=GDaemon dir=in action=allow protocol=TCP localport=31707
 +
Где 31707 - это порт, который слушает [[GDaemon]].
 +
 
 +
* Запустите службу GameAP Daemon.
 +
 
 +
После этого можете переходить к настройке выделенного сервера в самой панели управления.
 +
 
 
==== Запуск сервера Telnet ====
 
==== Запуск сервера Telnet ====
 +
 +
Примечание! Для управления выделенными серверами из панели рекомендуется использовать протокол GDaemon. О его настройке [[Установка_GameAP#.D0.97.D0.B0.D0.BF.D1.83.D1.81.D0.BA_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.B0_GDaemon|читайте здесь]].
 +
 
* Зайдите в меню '''"Пуск"''' -> '''"Администрирование"''' -> '''"Управление службами"''', либо нажмите комбинацию клавиш '''"<Win> + R"''' и в появившемся окошке введите '''"services.msc"'''.
 
* Зайдите в меню '''"Пуск"''' -> '''"Администрирование"''' -> '''"Управление службами"''', либо нажмите комбинацию клавиш '''"<Win> + R"''' и в появившемся окошке введите '''"services.msc"'''.
 
* В списке служб найдите Telnet и включите эту службу.
 
* В списке служб найдите Telnet и включите эту службу.
Строка 145: Строка 171:
  
 
Управление игровым сервером под управлением ОС Windows возможно по протоколу SSH, в этом случае понадобится любой сервер SSH для Windows, например FreeSSHd. Подобный вид управления игровыми серверами не желателен.
 
Управление игровым сервером под управлением ОС Windows возможно по протоколу SSH, в этом случае понадобится любой сервер SSH для Windows, например FreeSSHd. Подобный вид управления игровыми серверами не желателен.
 +
 +
{{Категория:Документация_GameAP}}
 +
 +
[[Категория:АдминПанель]]
 +
[[Категория:Документация_GameAP]]

Текущая версия на 12:00, 19 июня 2019

Это документация к устаревшей версии GameAP. Документация для последней версии расположена здесь: https://docs.gameap.ru/ru

Требования

Web-сервер

  • База данных (MySQL, PostgreSQL, MSSQL, SQLite или Oracle)
  • PHP 5.1+

Linux

  • SSH сервер (для локального сервера не требуется)
  • Screen

Для стабильной работы игровых серверов на 64-битных системах рекомендуется установить 32-битные библиотеки Для установки:

apt-get install ia32-libs

Windows

  • Настроенный Telnet сервер (для локального сервера не требуется)
  • Psexec или Paexec для Windows сервера (входит в дистрибутив с панелью)

Необходимые модули PHP

  • GD
  • FTP
  • SSH2 (для работы с локальным сервером не требуется)

Установка PHP GD

Debian/Ubuntu:

sudo apt-get install php5-gd

CentOS:

yum install php-gd

Установка PHP SSH2

Debian/Ubuntu:

sudo apt-get install libssh2-php

CentOS:

yum install -y php-devel libssh2-devel php-pear
pecl install -f ssh2
echo "extension=ssh2.so" > /etc/php.d/ssh2.ini

Установка Web-части АдминПанели

Автоматическая установка

  • Скопируйте содержимое директории upload на сервер.
  • Запустите мастер установки, перейдя по адресу
http://<ваш_сайт>/install

например

http://www.gameap.ru/install 
  • Выполните все действия мастера установки.
  • Удалите каталог install с сервера.

Если отсутствует mod_rewrite

Установка, при отсутствии mod_rewrite и .htaccess аналогична, за исключением некоторых деталей.

Откройте файл application/config/config.php и измените следующие значения переменных

$config['index_page'] = 'index.php';
$config['uri_protocol'] = 'QUERY_STRING';
$config['enable_query_strings'] = TRUE;

Перейдите по адресу http://<ваш_сайт>/index.php?install, например http://www.gameap.ru/index.php?install

После установки панели не забудьте настроить выполнение cron заданий. Для повторной установки панели удалите файл gameap_config.php и database.php из директории application/config

Настройка cron

Настройте автоматическое выполнение задач. Добавив выполняться задания CRON каждые 5-10 минут:

*/5 * * * * php -f /path/to/adminpanel/index.php cron

Настройка автоматического выполнения задач Linux

Выполняем команду

crontab -e

Добавляем в конец

*/5 * * * * php -f /path/to/adminpanel/index.php cron

Где /path/to/adminpanel/ - путь до web-части АдминПанели, например /home/www-data/gameap.ru/www/

Примечание! Указывайте абсолютный серверный путь, а не путь к сайту. "php -f http://www.gameap.ru/cron" - неправильно

Настройка автоматического выполнения задач Windows

Настройка выполнения задач в Windows XP

В Windows есть свое средство для запуска программ и скриптов по расписанию. Инструмент "Назначенные задания" поможет вам настроить автоматическое выполнение скрипта.

Порядок выполнения:

  • Откройте инструмент "Назначенные задания", ПУСК -> Все программы -> Стандартные -> Служебные -> Назначенные задания.
  • Кликните по "Добавить задание".
  • У вас откроется окно мастера. Кликните далее и выберите файл php.exe вашего вебсервера.
  • В следующем окне укажите имя этому заданию и выберите "ежедневно" в качестве периода выполнения задания.
  • Следующий диалог можете оставить как есть. В этом диалоге вы можете задать время начала выполнения задания.
  • Далее введите данные для входа в систему, данные пользователя, от которого будет запускаться задание.
  • Поставьте флажок напротив: "Установить дополнительные параметры после нажатия кнопки Готово." и нажмите Готово.
  • Появится окно свойств этого задания. В поле выполнить будет команда запуска скрипта. На Windows она выглядит так:
C:\path\to\php\php.exe -f "C:\path\to\adminpanel\index.php" cron
  • Перейдите во вкладку Расписание и поставьте время начала выполнения в 0:00; нажмите на кнопку Дополнительно.
  • Поставьте галочку напротив Повторять задание и задайте период запуска скрипта.
  • Настройте выполнение скрипта в течении 24 часов.
  • После чего нажмите "OK" и проверьте выполнение скрипта.


Примечание! Указывайте абсолютный серверный путь, а не путь к сайту. "php -f http://www.gameap.ru/cron" - неправильно

Установка серверной части АдминПанели

Linux

Удаленное управление серверами под управлением ОС Linux происходит по протоколу SSH, однако возможно использовать Telnet. Также понадобится утилита Screen.

  • Скопируйте файл bin/Linux/server.sh из дистрибутива с панелью в каталог на сервере (каталог не должен быть общедоступным)
  • Для автоматической установки серверов необходимо наличие утилиты SteamCMD в директории с исполняемыми файлами АдминПанели (server.sh)
http://media.steampowered.com/client/steamcmd_linux.tar.gz
  • Если у Вас локальный сервер, то для управления игровыми серверами необходимо сделать следующее:

sudo nano /etc/sudoers Добавить в конец: www-data ALL = NOPASSWD: /путь/к/server.sh Где www-data - пользователь, от которого запущен Apache и выполняются php скрипты.


Загрузка необходимых программ

  • Для установки SSH сервера выполните команду:
sudo apt-get install ssh
  • Для установки Screen выполните команду:
sudo apt-get install screen
  • Для стабильной работы игровых серверов на 64-битных системах рекомендуется установить 32-битные библиотеки
apt-get install ia32-libs
  • Для автоматической установки серверов необходимо наличие утилиты SteamCMD в директории с исполняемыми файлами АдминПанели (server.sh)
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
tar xvfz steamcmd_linux.tar.gz
  • Для работы ограничений требуются пакеты cpulimit, tricle и ulimit. Установка для Debian/Ubuntu:
apt-get install cpulimit tricle

Windows

Для удаленного управления машинами под ОС Windows рекомендуется использовать GDaemon. Также можно использовать Telnet или SSH.

Запуск сервера GDaemon

  • Скачайте файлы daemon.exe и daemon.cfg с GitHub - https://github.com/GameAP/GameAP_Daemon/tree/master/compiled/Windows
  • Скопируйте эти файлы в директорию, где будут игровые серверы, например C:\servers\
  • Откройте командную строку Windows - cmd.exe
  • Отправьте команду:
sc create "GameAP Daemon" start= auto binpath= C:\servers\daemon.exe
sc failure "GameAP Daemon" reset= 600 actions= run/5000/reboot/800

Где C:\servers\daemon.exe - путь к исполняемому файлу daemon.exe

  • Настройте GDaemon, откройте файл daemon.cfg в блокноте и измените параметры на свои.
  • Откройте порт на файрволе, в стандартном брандмауэре Windows это делается отправкой команды в cmd:
netsh advfirewall firewall add rule name=GDaemon dir=in action=allow protocol=TCP localport=31707

Где 31707 - это порт, который слушает GDaemon.

  • Запустите службу GameAP Daemon.

После этого можете переходить к настройке выделенного сервера в самой панели управления.

Запуск сервера Telnet

Примечание! Для управления выделенными серверами из панели рекомендуется использовать протокол GDaemon. О его настройке читайте здесь.

  • Зайдите в меню "Пуск" -> "Администрирование" -> "Управление службами", либо нажмите комбинацию клавиш "<Win> + R" и в появившемся окошке введите "services.msc".
  • В списке служб найдите Telnet и включите эту службу.

Загрузка необходимых программ

  • Для запуска сервера понадобится утилита PsExec, скачать, она необходима чтобы игровой сервер оставался онлайн при выходе из Telnet.
  • Для автоматической установки серверов необходимо наличие утилиты SteamCMD в директории с исполняемыми файлами АдминПанели (server.exe, psexec.exe)
http://media.steampowered.com/client/steamcmd_win32.zip

Управление игровым сервером под управлением ОС Windows возможно по протоколу SSH, в этом случае понадобится любой сервер SSH для Windows, например FreeSSHd. Подобный вид управления игровыми серверами не желателен.