GameAP. Web-панель управления игровыми серверами

Тема в разделе "Веб-технологии", создана пользователем et-nik, 14 авг 2013.

  1. et-nik

    et-nik

    Сообщения:
    13
    Симпатии:
    24
    GameAP (или АдминПанель) - бесплатная web-панель, позволяющую управлять параметрами игрового сервера на движке GoldSource и Source. Теоретически панель может запускать любые игровые серверы и программы, и управлять файлами любых серверов. Работает с локальными и удаленными серверами под ОС Linux и Windows.

    Возможности:
    - Управление игровыми серверами на движке GoldSource и Source;
    - Поддержка операционных систем Linux и Windows;
    - Поддержка MySQL, PostgreSQL, Oracle, Microsoft SQL Server;
    - Смена карт на сервере, остановка, перезагрузка серверов;
    - Просмотр логов серверов;
    - Управление игроками (бан, кик, смена ника);
    - Отправка rcon команд на сервер;
    - Редактирование конфигурационных файлов (server.cfg, mapcycle.txt и др.);
    - Загрузка игровых файлов (карт, плагинов);
    - Создание пользователей с разными правами на определенные серверы;
    - Поддержка модулей;
    - Регистрация пользователей (при необходимости выключается);
    - Автоматическая установка серверов (через SteamCMD);
    - Возможность установки в поддиректории сайта;
    - Автоматический перезапуск сервера, в случае его падения;

    ДемоВерсия (v0.6.3):
    http://demo.gameap.ru/
    Логин: demo
    Пароль: demo

    Разработчик: ET-NiK
    Тестеры: kissbb, GordonFreeman, Pontiy
    Последняя версия на момент публикации этой записи: 0.6.5 [15.08.2013]
    Скачать: http://www.gameap.ru/download/
    Документация на русском: http://wiki.hldm.org/index.php/Категория:АдминПанель

    Установка:
    Веб-часть:
    1. Скопируйте содержимое директории upload на сервер.
    2. Запустите мастер установки, перейдя по адресу http://<ваш_сайт>/install, например httр://www.gameap.ru/install
    3. Выполните все действия мастера установки.
    4. Удалите каталог install с сервера.
    5. Настройте автоматическое выполнение задач. Добавив выполняться задания CRON каждые 5-10 минут:
    "*/5 * * * * php -f /path/to/adminpanel/index.php cron"
    Примечание! Указывайте абсолютный серверный путь, а не путь к сайту. Неправильно - "php -f http://www.gameap.ru/cron"

    Серверная часть:
    1. Скопируйте содержимое каталога bin/<OS> в любую директорию на сервере, в зависимости от операционной системы
    сервера (Linux или Windows). Директория не должна быть общедоступной.
    2. Выставите права запуска для исполняемых файлов (Linux).
    3. Укажите абсолютный путь до исполняемых файлов в АдминПанели.
    4. Для автоматической установки серверов необходимо наличие утилиты SteamCMD (http://wiki.hldm.org/index.php/SteamCMD),
    в директории с исполняемыми файлами АдминПанели (server.sh или server.exe).
    Ссылки для загрузки SteamCMD:
    Linux: http://media.steampowered.com/client/steamcmd_linux.tar.gz
    Windows: http://media.steampowered.com/client/steamcmd_win32.zip
    Распакуйте содержимое одного из архивов, в зависимости от ОС в директорию с исполняемыми файлами АдминПанели (server.sh или server.exe).

    Если у Вас локальный сервер под управлением Linux, то необходимо сделать следующее:
    sudo nano /etc/sudoers
    добавить в конец:
    www-data ALL = NOPASSWD: /путь/к/server.sh
    Это действие выполняется, для того, чтобы бесправный пользователь, от которого выполняется apache (обычно www-data) мог беспрепятственно выполнять действия над игровыми серверами.
     

    Вложения:

    • gameap_064.jpg
      gameap_064.jpg
      Размер файла:
      20,2 КБ
      Просмотров:
      366
    • gameap_064_2.jpg
      gameap_064_2.jpg
      Размер файла:
      10,7 КБ
      Просмотров:
      204
    Последнее редактирование: 15 авг 2013
    BatyaMedic, FreeDOMz, Dj_Andrey_01 и 7 другим нравится это.
  2. Sam_Fisher

    Sam_Fisher

    Сообщения:
    703
    Симпатии:
    202
    А кто является автором? В смысле сайт разработчика.
    И еще, антивирик при загрузке архива ругается)))
     
  3. et-nik

    et-nik

    Сообщения:
    13
    Симпатии:
    24
  4. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    По какой лицензии идет, GPL? Или что-то другое? Если по GPL (или BSD/...) - исходники программ будут?

    PS: "www-data ALL = NOPASSWD: /путь/к/server.sh"
    Не у всех вебсайт и сервера на одной машине, да почему бы при локальном соединении php-ssh2 не использовать?
     
  5. et-nik

    et-nik

    Сообщения:
    13
    Симпатии:
    24
    Лицензия своя, информация о ней входит в дистрибутив. Исходники каких программ? server.exe и psexec.exe?

    server.exe представляет из себя php-скрипт, скомпиленный через bam compile, если исходник так нужен, можно включить в дистрибутив.
    psexec.exe (http://technet.microsoft.com/ru-ru/sysinternals/bb897553.aspx) - сторонняя утилита от Марка Руссиновича, исходников этой программы нет, либо я не находил их.

    Всего остального исходный код есть.
     
  6. Sam_Fisher

    Sam_Fisher

    Сообщения:
    703
    Симпатии:
    202
    Такой вопрос. У меня web хостинг отдельно от серверов, а сами сервера находятся на своей машине. Будет ли дружить данная панелька с моими серверами? Все ли функции будут исправно работать?
     
  7. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.977
    Sam_Fisher, всё будет нормально
     
    Sam_Fisher нравится это.
  8. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Sam_Fisher, будет, однако вопрос в том, стоит ли на web-хостинге расширение php-ssh2. если не стоит, с линуксовыми серверами работать не будет (хотя может я ошибаюсь и там что-то еще, но насколько я понял для линуксовых серверов только ssh2 либо локальный апач)
     
    Sam_Fisher нравится это.
  9. et-nik

    et-nik

    Сообщения:
    13
    Симпатии:
    24
    Панель можно запустить хоть на Денвере (denwer.ru), и управлять.
    На случай, если что-то не работает - есть кнопка "Сообщить об ошибке", это сообщение будет отправлено разработчику и он исправит ошибку в следующей версии.

    Добавлено через 3 минуты
    Расширение php-ssh2 поставить не составляет никакого труда.
    Работать с линуксовыми серверами можно и по telnet, но рекомендую всё же использовать ssh2, если сервер удаленный.
     
    Последнее редактирование: 14 авг 2013
    Sam_Fisher нравится это.
  10. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.977
    поставил, когда авторизируюсь получаю это:
    путь такой: http://поддомен/panel/
     
  11. et-nik

    et-nik

    Сообщения:
    13
    Симпатии:
    24
    На поддоменах и в подкаталогах панель работает нормально.

    .htaccess включен? mod_rewrite в апач включен? Если да, то попробуйте выставить права 777 на корневую директорию.
    Код:
    chmod 777 -R ./www/
    При переходе на страницу site.ru/auth/in должна отображаться форма авторизации.
     
    Последнее редактирование: 14 авг 2013
  12. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.977
    et-nik, у меня нет папки auth/in/
     
  13. et-nik

    et-nik

    Сообщения:
    13
    Симпатии:
    24
    Ее и не должно быть. Это делается через .htaccess и mod_rewrite
     
  14. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Если web-часть не на своем сервере или vds, а на виртуальном веб-хостинге, то там ведь нет возможности поставить расширения, я это имел ввиду
     
  15. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    На случай, если сервер зависнет, защиты нет?
     
  16. et-nik

    et-nik

    Сообщения:
    13
    Симпатии:
    24
    Есть возможность перезапуска сервера в случае падения и зависания.
    Для этого нужно настроить выполнение cron скрипта разв в 5-10 минут.

    Если нет возможности поставить расширения, то использовать альтернативные пути. Например для использования telnet никакого расширения не нужно.

    Разрешите поинтересоваться, какое расширение не установлено на хостинге? SSH2 ?
    Хостинг платный или бесплатный?
     
  17. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    et-nik, да, бывает, что на хостингах не установлено расширение ssh2. Сходу хостинг не вспомню, поскольку сам хостингами практически не пользовался, а там, где пользовался, ssh2 был не нужен (хотя сейчас зашел на хостинг, с которым дело имел - там ssh2 есть), однако у одного из знакомых подобная проблема была, но не могу точно вспомнить у кого и, как следствие, не могу узнать что за хостинг. Там был платный хостинг и ответом техподдержки было "SSH2 у нас нет для безопасности", в общем ключе аргументируя на возможные проведения атак на подбор пароля через их хостинг, а большинству пользователей мол это не надо. Кажется смешным, но увы, такие есть хостинги, и в основном неплохие, а вот в таких нюансах уже FAIL.
     
  18. onotole.myarena.ru

    onotole.myarena.ru

    Сообщения:
    42
    Симпатии:
    34
    CodeIgniter...
    Хороший был фреймворк =)

    На первый взгляд код красив. Достаточно комментирован и, самое главное - нормально отформатирован.
    Улыбнуло =)
    В модели server.php удали строки 428 и 429.

    В модели valve_rcon.php короткий тэг открытия. На многих хостингах, особенно на всяких там домашних денверах они отключены.

    Моя оценка: 7 из 10.

    Плюсы:
    • Красивый, читаемый код
    • Хорошее форматирование кода
    • Использован фреймворк

    Минусы:
    • Фреймворк устаревший
    • В некоторых местах нет проверок, где они нужны, но не критичны

    Мне интересно, почему при установке система сама не вставила админа в базу, а попросила меня сделать запрос? И второе: Почему в этом запросе вместо почты прописан пароль?

    А не, это я просто прописал 12345 и в пароль и в почту =) Кстати, почта не проверяется на валидность =)

    Форма входа отправляет на http://localhost/panel/auth/in/{code}. Видимо где-то не заменяется шоткод. Завтра погляжу, лень уже =)
     
    Последнее редактирование: 14 авг 2013
    R1KO нравится это.
  19. et-nik

    et-nik

    Сообщения:
    13
    Симпатии:
    24
    KorDen, у некоторых хостеров можно попросить в технической поддержке запустить ssh2. Но мне кажется бессмысленно выключать ssh2, достаточно популярный модуль.

    Ооо, с этим telnet'ом я провозился очень долго, что не находил толком не работало. Нашел какой-то кривой код, и он как ни странно работал лучше всех.

    Удалил. Баги исправлял - забыл удалить дебаг код:)

    При установке ничего не проверяется, её делал на скорую руку, буду переписывать. Шоткод {code} заметил, уже исправил. Интернет у меня сейчас не очень, поэтому обновить оперативно не могу. Завтра утром будет новая версия.

    Добавлено через 15 часов 50 минут
    Панель обновлена до версии 0.6.5 [15.08.2013]

    Изменения:
    [fix] Улучшено редактирование сведений о конфигурационных файлах, контент директориях, алиасах и пр. в типах игры.
    [fix] Исправлена ошибка с отправкой писем администраторам при изменении прав пользователям.
    [fix] Удалено отображение шаблонного тега {code} в форме авторизации на главной странице.
    [fix] Проверка расширения SSH2 php перед отправкой команды. При добавлении нового выделенного сервера, если будет отсутствовать модуль, то поля данных ssh отображаться не будут.
    [fix] Исправлена ошибка регистрации.
    [fix] Параметры запуска/остановки/перезапуска/ храняться также в сведении о типах игры, данные о них уже включены в стандартную базу админпанели.
    [fix] Исправлена ошибка с проверкой данных SSH. Чтобы изменить некоторые данные требовалось заново писать пароль SSH.
    [fix] Нормально отображение шоткода на главной странице файлов, если отсутствуют сведения о файлах и директориях в типе игры.
    [*] Для Windows серверов некоторые ненужные параметры игрового сервера не отображаются.
    [*] Обновлены сведения об играх, добавлены новые игры в базу данных.

    Для обновления с предыдущей версии замените файлы и импортируйте sql файл db/update_064to065.sql
    Для обновления сведений об играх импортируйте sql файл db/new_game_data065.sql
     
    Последнее редактирование: 15 авг 2013
    Dj_Andrey_01, ★Сириус★ и Серый™ нравится это.
  20. ★Сириус★

    ★Сириус★

    Сообщения:
    748
    Симпатии:
    199
    et-nik, на первой странице когда начинаешь установку есть одна ошибочка во фразе