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

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
м
 
(не показана 31 промежуточная версия 3 участников)
Строка 1: Строка 1:
[[Категория:АдминПанель]]
+
{{Старая_документация_GameAP}}
== Установка АдминПанели ==
+
 
 +
== Требования ==
 +
 
 +
=== Web-сервер ===
 +
* База данных (MySQL, PostgreSQL, MSSQL, SQLite или Oracle)
 +
* PHP 5.1+
 +
 
 +
=== Linux ===
 +
* SSH сервер (для локального сервера не требуется)
 +
* Screen
  
АдминПанель находится на стадии разработки, поэтому публично дистрибутивы пока не распространяются.
+
Для стабильной работы игровых серверов на 64-битных системах рекомендуется установить 32-битные библиотеки
 +
Для установки:
 +
apt-get install ia32-libs
  
=== Установка Web-части АдминПанели ===
+
=== Windows ===
* Распакуйте содержимое архива в нужную директорию.
+
* Настроенный Telnet сервер (для локального сервера не требуется)
* Откройте файл '''applications/config/database.php''' и настройте параметры базы данных:
+
* Psexec или Paexec для Windows сервера (входит в дистрибутив с панелью)
<syntaxhighlight lang="php">
 
$db['default']['hostname'] = 'localhost';    // Хост базы данных
 
$db['default']['username'] = 'username';      // Имя пользователя
 
$db['default']['password'] = 'password';      // Пароль
 
$db['default']['database'] = 'db';            // Имя базы данных
 
$db['default']['dbdriver'] = 'mysql';        // Тип базы данных (mysql, postgre, obdc и др.). Указывается в нижнем регистре
 
$db['default']['dbprefix'] = '';              // Префикс базы данных
 
</syntaxhighlight>
 
  
==== Необходимые модули PHP ====
+
=== Необходимые модули PHP ===
 
* GD
 
* GD
* SSH2
+
* FTP
 +
* SSH2 (для работы с локальным сервером не требуется)
  
'''Установка GD на Linux:'''
+
==== Установка PHP GD ====
 +
Debian/Ubuntu:
 
  sudo apt-get install php5-gd
 
  sudo apt-get install php5-gd
  
=== Подготовка серверов для работы с АдминПанелью ===
+
CentOS:
 +
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-части АдминПанели ==
 +
 
 +
===  Автоматическая установка ===
 +
* Скопируйте содержимое директории upload на сервер.
 +
* Запустите мастер установки, перейдя по адресу
 +
<pre>http://<ваш_сайт>/install</pre>
 +
например
 +
http://www.gameap.ru/install
 +
* Выполните все действия мастера установки.
 +
* Удалите каталог install с сервера.
 +
 
 +
==== Если отсутствует mod_rewrite ====
 +
Установка, при отсутствии mod_rewrite и .htaccess аналогична, за исключением некоторых деталей.
 +
 
 +
Откройте файл '''application/config/config.php''' и измените следующие значения переменных
 +
<pre>
 +
$config['index_page'] = 'index.php';
 +
$config['uri_protocol'] = 'QUERY_STRING';
 +
$config['enable_query_strings'] = TRUE;
 +
</pre>
 +
 
 +
Перейдите по адресу 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 ====
 +
[[Файл:Gameap cronset windows51.png|thumb|Настройка выполнения задач в Windows XP]]
 +
В Windows есть свое средство для запуска программ и скриптов по расписанию. Инструмент "Назначенные задания" поможет вам настроить автоматическое выполнение скрипта.
 +
 
 +
Порядок выполнения:
 +
* Откройте инструмент "'''Назначенные задания'''", '''ПУСК''' -> '''Все программы''' -> '''Стандартные''' -> '''Служебные''' -> '''Назначенные задания'''.
 +
* Кликните по "'''Добавить задание'''".
 +
* У вас откроется окно мастера. Кликните далее и выберите файл '''php.exe''' вашего вебсервера.
 +
* В следующем окне укажите имя этому заданию и выберите "'''ежедневно'''" в качестве периода выполнения задания.
 +
* Следующий диалог можете оставить как есть. В этом диалоге вы можете задать время начала выполнения задания.
 +
* Далее введите данные для входа в систему, данные пользователя, от которого будет запускаться задание.
 +
* Поставьте флажок напротив: "'''Установить дополнительные параметры после нажатия кнопки Готово.'''" и нажмите Готово.
 +
* Появится окно свойств этого задания. В поле ''выполнить'' будет команда запуска скрипта. На Windows она выглядит так:
 +
C:\path\to\php\php.exe -f "C:\path\to\adminpanel\index.php" cron
 +
* Перейдите во вкладку '''Расписание''' и поставьте время начала выполнения в '''0:00'''; нажмите на кнопку '''Дополнительно'''.
 +
* Поставьте галочку напротив '''Повторять задание''' и задайте период запуска скрипта.
 +
* Настройте выполнение скрипта в течении '''24 часов'''.
 +
* После чего нажмите "OK" и проверьте выполнение скрипта.
  
==== Windows ====
 
Удаленное управление серверами под управлением ОС Windows происходит по протоколу Telnet.
 
===== Запуск сервера Telnet =====
 
* Зайдите в меню '''"Пуск"''' -> '''"Администрирование"''' -> '''"Управление службами"''', либо нажмите комбинацию клавиш '''"<Win> + R"''' и в появившемся окошке введите '''"services.msc"'''.
 
* В списке служб найдите Telnet и включите эту службу.
 
  
===== Загрузка необходимых программ =====
+
'''Примечание!''' Указывайте абсолютный серверный путь, а не путь к сайту. "php -f http://www.gameap.ru/cron" - неправильно
* Для запуска сервера понадобится утилита PsExec, [http://technet.microsoft.com/en-us/sysinternals/bb897553 скачать], она необходима чтобы игровой сервер оставался онлайн при выходе из Telnet.
 
  
Управление игровым сервером под управлением ОС Windows возможно по протоколу SSH, в этом случае понадобится любой сервер SSH для Windows, например FreeSSHd. Подобный вид управления игровыми серверами не желателен.
+
== Установка серверной части АдминПанели ==
  
==== Linux ====
+
=== Linux ===
 
Удаленное управление серверами под управлением ОС Linux происходит по протоколу SSH, однако возможно использовать Telnet. Также понадобится утилита Screen.
 
Удаленное управление серверами под управлением ОС 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 сервера выполните команду:
 
* Для установки SSH сервера выполните команду:
Строка 46: Строка 125:
 
* Для установки Screen выполните команду:
 
* Для установки Screen выполните команду:
 
  sudo apt-get install 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. О его настройке [[Установка_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"'''.
 +
* В списке служб найдите Telnet и включите эту службу.
 +
 +
==== Загрузка необходимых программ ====
 +
* Для запуска сервера понадобится утилита PsExec, [http://technet.microsoft.com/en-us/sysinternals/bb897553 скачать], она необходима чтобы игровой сервер оставался онлайн при выходе из Telnet.
 +
* Для автоматической установки серверов необходимо наличие утилиты [[SteamCMD]] в директории с исполняемыми файлами АдминПанели (server.exe, psexec.exe)
 +
http://media.steampowered.com/client/steamcmd_win32.zip
 +
 +
Управление игровым сервером под управлением ОС 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. Подобный вид управления игровыми серверами не желателен.