Страница 1 из 2

Free MasterServer on PHP

Добавлено: 27.06.2013, 07:40
Stolen96
Добрый день, представляю Вам бесплатный мастер сервер на php.
Так как за последнее время открылось куча мастер серверов, то некоторые умные люди начали продавать мастера со скудным функционалом за не маленькие деньги(от 200$ до 600$). Именно поэтому я решил выложить данный мастер сервер бесплатно.
Мастер сервер будет дорабатываться и улучшаться.
Функции:
На данный момент их не так много, но я занимаюсь улучшением мастера.
1) Резолвинг домена в ip
2) Веб-интерфейс для управления
3) Возможность отключить сортировку по пингу, т.е. вы можете полностью контролировать порядок выдачи серверов клиенту.
4) Статистика запросов, данная функция будет переделана т.к. один запрос из кс может генерировать до 7 запросов на мастер.

Планируется ещё куча всего, в том числе и обновление списка с заданным интервалом, статистика запросов на мастер сервер в виде графика, отправка серверов клиенту несколькими пакетами(при большом кол-ве серверов) и так далее.
Инструкция по установке:
!Установка только на VDS\Dedicated Server
1) Установить screen на ваш сервер
CentOS: yum install screen
Debian: apt-get install screen
Ubuntu: sudo apt-get install screen
2) В файле /etc/php.ini найти переменную disable_functions и убрать оттуда фунцию exec
3) Залить всё в директорию домена на котором ставите ПУ
4) Настройте файл master/config.php
5) Зайдите в ПУ и запустите мастер сервер
История версий:
0.1 - Первый релиз.
0.2 - Добавлен резолвинг, панель управления.
Автор: Stolen, то есть Я.

Скачать:
masterserver_v0.2.rar
(141.08 КБ) 511 скачиваний
masterserver_v0.2.rar
(141.08 КБ) 511 скачиваний
Страница на github:
https://github.com/Stolenko/Masterserver

Re: Free MasterServer on PHP

Добавлено: 27.06.2013, 21:45
MOZGIII
Stolen96
Советую воспользоваться Github-ом для большего удобства.

Написано кстати неплохо, правда запускать процессы из PHP - плохой стиль, да и сам PHP не очень хорошо подходит для того, что-бы быть запущенным в фоне (сильно утекает память). Не думали воспользоваться для этого nodejs например? Ещё mysql можно было-бы на redis заменить (раз уж для VDS - там не важно что ставить), или вообще всё хранить в памяти внутри демона...

Эти проекты могут помочь вам ускорить процесс разработки:
https://github.com/Austinb/GameQ
https://github.com/kostya0shift/GameQ3

Re: Free MasterServer on PHP

Добавлено: 29.06.2013, 04:10
Stolen96
MOZGIII
На другой язык не особо хочется всё переносить, так как на этом функционал ещё не весь в МС воплотил :)
С redis никогда не сталкивался, а читать тонну манов лень.
Интересно, чем мне скрипт опроса серверов может помочь?)

Re: Free MasterServer on PHP

Добавлено: 29.06.2013, 12:10
MOZGIII
Stolen96
Так потом переносить сложнее будет...
Redis тут даже не нужен - достаточно просто всё в памяти хранить, хотя и mysql тоже сработает наверное.
Не знаю чем может помочь сейчас, но вообще можно и количество онлайн игроков в панели показывать... Но это так, пример, может ещё для чего придумать получиться.

Re: Free MasterServer on PHP

Добавлено: 10.07.2013, 18:36
MvPRO Administrator
Переместите на github или аналоги. Тогда действительно будет возможность сделать качественный мс совместными усилиями.

Re: Free MasterServer on PHP

Добавлено: 10.07.2013, 19:21
MOZGIII
MvPRO Administrator
+1

Stolen96
Мы могли бы и сами организовать работу, но правильнее будет если исходный репо сделаете вы.

Re: Free MasterServer on PHP

Добавлено: 10.07.2013, 22:05
Stolen96
Пытался и на github и на code.google залить, но что-то не получается -_-

Re: Free MasterServer on PHP

Добавлено: 10.07.2013, 23:36
MvPRO Administrator
Stolen96 писал(а):Пытался и на github и на code.google залить, но что-то не получается -_-
А в чём проблема? Я никакого опыта не имею, но смог за 5 минут сделать проект...

https://github.com/MvPRO-Administrator/php-masterserver

Напишите ник на гите.

Re: Free MasterServer on PHP

Добавлено: 10.07.2013, 23:48
Stolen96
MvPRO Administrator писал(а):
Stolen96 писал(а):Пытался и на github и на code.google залить, но что-то не получается -_-
А в чём проблема? Я никакого опыта не имею, но смог за 5 минут сделать проект...

https://github.com/MvPRO-Administrator/php-masterserver

Напишите ник на гите.
https://github.com/Stolenko/masterserver

Re: Free MasterServer on PHP

Добавлено: 10.07.2013, 23:53
MvPRO Administrator
Stolen96 писал(а):
MvPRO Administrator писал(а):
Stolen96 писал(а):Пытался и на github и на code.google залить, но что-то не получается -_-
А в чём проблема? Я никакого опыта не имею, но смог за 5 минут сделать проект...

https://github.com/MvPRO-Administrator/php-masterserver

Напишите ник на гите.
https://github.com/Stolenko/masterserver
Вам надо форк сделать) А лучше самому залить, например при помощи этого: http://github-windows.s3.amazonaws.com/GitHubSetup.exe

Re: Free MasterServer on PHP

Добавлено: 11.07.2013, 00:10
Stolen96
MvPRO Administrator писал(а):Вам надо форк сделать) А лучше самому залить, например при помощи этого: http://github-windows.s3.amazonaws.com/GitHubSetup.exe
Вроде всё сделал, благодарю

Re: Free MasterServer on PHP

Добавлено: 11.07.2013, 16:22
MvPRO Administrator
Stolen96 писал(а):
MvPRO Administrator писал(а):Вам надо форк сделать) А лучше самому залить, например при помощи этого: http://github-windows.s3.amazonaws.com/GitHubSetup.exe
Вроде всё сделал, благодарю
Всё, что на данный момент увидел добавил в форке: https://github.com/MvPRO-Administrator/ ... er/compare

Добавлено спустя 15 часов 11 минут 24 секунды:
Также думаю будет полезно сделать вывод системной команды для php в конфиг, потому что не у всех установлен базовый php, для работы php достаточно фреймворка php-fpm, скажем в моей системе команда php - "php5-fpm", а не "php", как вы используйте в скрипте запуска мс.

Re: Free MasterServer on PHP

Добавлено: 11.07.2013, 16:37
Stolen96
MvPRO Administrator писал(а): Также думаю будет полезно сделать вывод системной команды для php в конфиг, потому что не у всех установлен базовый php, для работы php достаточно фреймворка php-fpm, скажем в моей системе команда php - "php5-fpm", а не "php", как вы используйте в скрипте запуска мс.
В версии 0.3 сделаю

Re: Free MasterServer on PHP

Добавлено: 13.07.2013, 03:58
MvPRO Administrator
Один человек с этого форума попросил для него ваш мс запустить... так что вот какие проблемы возникли, опишу.

Функция выключения у меня не сработала, уверены, что правильно написали функцию?

Пока сделал так:
костыль =)
/*$fsock = fsockopen("udp://".$settings['host'],$settings['port'],$errnum,$errstr,2);
fwrite($fsock, "\x31\xFF\x30\x2E\x30\x2E\x30\x2E\x30\x3A\x30\x00\x5C\x67\x61\x6D\x65\x64\x69\x72\x5C\x63\x73\x74\x72\x69\x6B\x65\x00");*/
exec("killall screen");
в ms.php немного не понял что значит if(!$status['0']) - что такое ['0']?

Сделал так:
code
if(!$status)
{
echo("exited, something is wrong");
exit;
}
else echo("ms works and binded");
Пока так и не понял в какой момент мс обновляет сервера из БД. Не хотелось бы перезагружать мс только для того, чтобы обновить список серверов. Может быть сделать обновление из БД каждые 5 минут?

Re: Free MasterServer on PHP

Добавлено: 13.07.2013, 06:58
Stolen96
MvPRO Administrator писал(а):Один человек с этого форума попросил для него ваш мс запустить... так что вот какие проблемы возникли, опишу.

Функция выключения у меня не сработала, уверены, что правильно написали функцию?

Пока сделал так:
костыль =)
/*$fsock = fsockopen("udp://".$settings['host'],$settings['port'],$errnum,$errstr,2);
fwrite($fsock, "\x31\xFF\x30\x2E\x30\x2E\x30\x2E\x30\x3A\x30\x00\x5C\x67\x61\x6D\x65\x64\x69\x72\x5C\x63\x73\x74\x72\x69\x6B\x65\x00");*/
exec("killall screen");
в ms.php немного не понял что значит if(!$status['0']) - что такое ['0']?

Сделал так:
code
if(!$status)
{
echo("exited, something is wrong");
exit;
}
else echo("ms works and binded");
Пока так и не понял в какой момент мс обновляет сервера из БД. Не хотелось бы перезагружать мс только для того, чтобы обновить список серверов. Может быть сделать обновление из БД каждые 5 минут?
Мастер пока что не обновляет список. Сделаю в 0.3
code
if(!$status)
{
echo("exited, something is wrong");
exit;
}
else echo("ms works and binded");
Что это вообще?