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

et-nik

Участник
Сообщения
14
Реакции
26
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
    16.5 КБ · Просмотры: 1,215
  • gameap_064_2.jpg
    gameap_064_2.jpg
    9 КБ · Просмотры: 965
Последнее редактирование:

Sam_Fisher

Участник
Сообщения
703
Реакции
203
А кто является автором? В смысле сайт разработчика.
И еще, антивирик при загрузке архива ругается)))
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
По какой лицензии идет, GPL? Или что-то другое? Если по GPL (или BSD/...) - исходники программ будут?

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

et-nik

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

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

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

Sam_Fisher

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

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #7
Sam_Fisher, всё будет нормально
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Sam_Fisher, будет, однако вопрос в том, стоит ли на web-хостинге расширение php-ssh2. если не стоит, с линуксовыми серверами работать не будет (хотя может я ошибаюсь и там что-то еще, но насколько я понял для линуксовых серверов только ssh2 либо локальный апач)
 

et-nik

Участник
Сообщения
14
Реакции
26
Такой вопрос. У меня web хостинг отдельно от серверов, а сами сервера находятся на своей машине. Будет ли дружить данная панелька с моими серверами? Все ли функции будут исправно работать?

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

Добавлено через 3 минуты
Sam_Fisher, будет, однако вопрос в том, стоит ли на web-хостинге расширение php-ssh2. если не стоит, с линуксовыми серверами работать не будет (хотя может я ошибаюсь и там что-то еще, но насколько я понял для линуксовых серверов только ssh2 либо локальный апач)

Расширение php-ssh2 поставить не составляет никакого труда.
Работать с линуксовыми серверами можно и по telnet, но рекомендую всё же использовать ssh2, если сервер удаленный.
 
Последнее редактирование:

et-nik

Участник
Сообщения
14
Реакции
26
На поддоменах и в подкаталогах панель работает нормально.

.htaccess включен? mod_rewrite в апач включен? Если да, то попробуйте выставить права 777 на корневую директорию.
C-подобный:
chmod 777 -R ./www/

При переходе на страницу site.ru/auth/in должна отображаться форма авторизации.
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #12
et-nik, у меня нет папки auth/in/
 

et-nik

Участник
Сообщения
14
Реакции
26
Ее и не должно быть. Это делается через .htaccess и mod_rewrite
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Расширение php-ssh2 поставить не составляет никакого труда.

Если web-часть не на своем сервере или vds, а на виртуальном веб-хостинге, то там ведь нет возможности поставить расширения, я это имел ввиду
 

TolikCorp

Участник
Сообщения
874
Реакции
334
На случай, если сервер зависнет, защиты нет?
 

et-nik

Участник
Сообщения
14
Реакции
26
На случай, если сервер зависнет, защиты нет?

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

Если web-часть не на своем сервере или vds, а на виртуальном веб-хостинге, то там ведь нет возможности поставить расширения, я это имел ввиду

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

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

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
et-nik, да, бывает, что на хостингах не установлено расширение ssh2. Сходу хостинг не вспомню, поскольку сам хостингами практически не пользовался, а там, где пользовался, ssh2 был не нужен (хотя сейчас зашел на хостинг, с которым дело имел - там ssh2 есть), однако у одного из знакомых подобная проблема была, но не могу точно вспомнить у кого и, как следствие, не могу узнать что за хостинг. Там был платный хостинг и ответом техподдержки было "SSH2 у нас нет для безопасности", в общем ключе аргументируя на возможные проведения атак на подбор пароля через их хостинг, а большинству пользователей мол это не надо. Кажется смешным, но увы, такие есть хостинги, и в основном неплохие, а вот в таких нюансах уже FAIL.
 

onotole.myarena.ru

Участник
Сообщения
42
Реакции
33
CodeIgniter...
Хороший был фреймворк =)

На первый взгляд код красив. Достаточно комментирован и, самое главное - нормально отформатирован.
Улыбнуло =)
/*
* Все что ниже работает исключительно на магии, лучше не трогать.
*/

В модели server.php удали строки 428 и 429.

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

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

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

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

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

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

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

et-nik

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

/*
* Все что ниже работает исключительно на магии, лучше не трогать.
*/

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

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

Мне интересно, почему при установке система сама не вставила админа в базу, а попросила меня сделать запрос? И второе: Почему в этом запросе вместо почты прописан пароль?
А не, это я просто прописал 12345 и в пароль и в почту =) Кстати, почта не проверяется на валидность =)
Форма входа отправляет на http://localhost/panel/auth/in/{code}. Видимо где-то не заменяется шоткод. Завтра погляжу, лень уже =)

При установке ничего не проверяется, её делал на скорую руку, буду переписывать. Шоткод {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
 
Последнее редактирование:

★Сириус★

Участник
Сообщения
743
Реакции
197
et-nik, на первой странице когда начинаешь установку есть одна ошибочка во фразе
Данный мастер поможет установить АдминПанель и подготовить ее к дальнейшей работе. Прежде чем начать устновку убедитесь, что все файлы дистрибутива загружены на сервер, отсутствие файлов АдминПанели может сделать некоторые функции или панель в целом неработоспособной.
 
Сверху Снизу