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

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
(Windows)
(Запуск сервера Telnet)
Строка 157: Строка 157:
 
==== Запуск сервера Telnet ====
 
==== Запуск сервера Telnet ====
  
Примечание! Для управления выделенными серверами из панели рекомендуется использовать протокол GDaemon.
+
Примечание! Для управления выделенными серверами из панели рекомендуется использовать протокол 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"'''.

Версия 14:19, 31 марта 2015


Требования

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

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

Где 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. Подобный вид управления игровыми серверами не желателен.