PHP Master Server вопросы

Сеть в Unity3D

PHP Master Server вопросы

Сообщение qmaks 20 май 2011, 00:07

Хочу написать мастер сервер на PHP. Клиент на веб плере, сервер создается из под клиента.
Регистрировать новую игру понятно как, отправляем запрос к PHP скрипту, который сохраняет в табличке параметры созданного сервера.
Что делать если сервер на клиенте закрыли, и он не отослал сообщение на PHP сервер о том, что он выключен. Допустим просто закрыли вкладку с игрой. Как на пхп можно определить что данный сервер мертв и убрать его из списка?

p.s В веб плеере OnApplicationQuit, не работает.
qmaks
UNIт
 
Сообщения: 57
Зарегистрирован: 03 окт 2010, 23:07

Re: PHP Master Server вопросы

Сообщение gnoblin 20 май 2011, 02:01

периодически слать с игрового сервера на мастер сервер т.н. heartbeat
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: PHP Master Server вопросы

Сообщение Neodrop 20 май 2011, 02:43

В вебплеере можно запросто определить потерю фокуса страницей. Или использовать метод OnDestroy()
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: PHP Master Server вопросы

Сообщение t.key 22 сен 2011, 19:46

В вебплеере можно запросто определить потерю фокуса страницей.

Можно по подробней?
Или использовать метод OnDestroy()

Как это работает? Страницу закрываем, а плеер все еще будет работать, все сотрет и закроется?
Если соберутся восемь ваххабитов, получится один ваххаByte.
Казахстанским геймдеверам: _ttp://gamez.kz
Аватара пользователя
t.key
UNIт
 
Сообщения: 72
Зарегистрирован: 03 авг 2011, 17:38
Откуда: Казахстан

Re: PHP Master Server вопросы

Сообщение t.key 23 сен 2011, 09:55

MonoBehaviour.OnApplicationQuit();

ЗЫ Форум умер. Я сам с собой разговариваю. ~x(
Если соберутся восемь ваххабитов, получится один ваххаByte.
Казахстанским геймдеверам: _ttp://gamez.kz
Аватара пользователя
t.key
UNIт
 
Сообщения: 72
Зарегистрирован: 03 авг 2011, 17:38
Откуда: Казахстан

Re: PHP Master Server вопросы

Сообщение Rip 04 окт 2011, 00:06

:D :D :D конечно давно уже пост висит.
Вот определить так просто не получится потому, что пхп только принемает запрос и отсылает и сразу валится.
Поэтому при запросе в туже комнату др. пользователем сверять время всех (гдето в бд) и у кого большой тайаут выкидывать из комнаты.
правка: Про потерю фокуса наверно имелось ввиду что можно отловить закрытие окна браузера, и в этом событии
отправить запрос на удаление записей из бд, чистке так сказать. :-B (на самом деле я не знаю, но похоже на правду :ymhug: )
Изображение
Реальность существует независимо от вас, до тех пор пока вы с этим согласны.
Изображение
Аватара пользователя
Rip
UNIт
 
Сообщения: 103
Зарегистрирован: 30 янв 2010, 14:11
Откуда: Оренбугская обл. г.Орск
  • ICQ

Re: PHP Master Server вопросы

Сообщение t.key 04 окт 2011, 13:05

Обновление страницы веб плеер не отлавливает. Если сервер обновит страницу или просто рухнет (выключится комп), будет сложно.
Если соберутся восемь ваххабитов, получится один ваххаByte.
Казахстанским геймдеверам: _ttp://gamez.kz
Аватара пользователя
t.key
UNIт
 
Сообщения: 72
Зарегистрирован: 03 авг 2011, 17:38
Откуда: Казахстан

Re: PHP Master Server вопросы

Сообщение DavilSin 05 окт 2011, 07:57

Посылать с клиента запрос в бд на запись времени с периодичностью допустим 5 минут. А на сервере обходить скриптом эти записи и где больше 6 минут грохать
Изображение
Аватара пользователя
DavilSin
UNIт
 
Сообщения: 74
Зарегистрирован: 16 апр 2011, 11:10

Re: PHP Master Server вопросы

Сообщение Rip 08 окт 2011, 11:13

Да, при создании комнаты показываеш все доступные комнаты, и проверяеш время если оч устарело удаляется вся комната. А в нутри комнаты определяют сами клиенты в ней, кто давно не обновлял время тот значит офф, и удаляется сервером.
Изображение
Реальность существует независимо от вас, до тех пор пока вы с этим согласны.
Изображение
Аватара пользователя
Rip
UNIт
 
Сообщения: 103
Зарегистрирован: 30 янв 2010, 14:11
Откуда: Оренбугская обл. г.Орск
  • ICQ

Re: PHP Master Server вопросы

Сообщение t.key 08 окт 2011, 12:59

Только не в минутах, а в секундах. (popcorn)
Синтаксис:
Используется php
$del = mysql_query("delete from servers where timediff(now(), time) > sec_to_time(30);");
$res = mysql_query("select * from servers where timediff(now(), time) < sec_to_time(12) order by id desc;");
 


А потом отобразить.
Если соберутся восемь ваххабитов, получится один ваххаByte.
Казахстанским геймдеверам: _ttp://gamez.kz
Аватара пользователя
t.key
UNIт
 
Сообщения: 72
Зарегистрирован: 03 авг 2011, 17:38
Откуда: Казахстан

Re: PHP Master Server вопросы

Сообщение DavilSin 10 окт 2011, 09:09

Функция TimeDiff
Синтаксис:
Используется csharp
public function TimeDiff($filter='dhis',$nozerro=false){}

Где:
$filter - фильтр единиц для вывода (d - дни, h - часы, i - минуты, s - секунды)
$nozerro - определяет показывать ли нулевые значения (false - показывать, true - не показывать)

Пример вызова
Синтаксис:
Используется csharp
// русские единицы
$text=new timediff('01.01.2009 00:00:00',false, 'ru');
echo 'До Нового года осталось: '.$text->TimeDiff('dhis',true);
// единица на английском
$text=new timediff('01.01.2009 00:00:00',false, 'en');
echo 'До Нового года осталось: '.$text->TimeDiff('dhis',true);
$text=new timediff('26.12.2008 00:00:00',false, 'ru');
// выводим с нулями
echo 'До конца этого дня : '.$text->TimeDiff('dhis',false);
$text=new timediff('26.12.2008 00:00:00',false, 'ru');
// прячем нули и секунды
echo 'До конца этого дня : '.$text->TimeDiff('dhi',true);
// разницу в конкретных датах
$text=new timediff('25.12.2008 10:15:00','25.12.2008 19:00:00', 'ru');
echo 'Я работаю сегодня : '.$text->TimeDiff('dhis',true);
 
Изображение
Аватара пользователя
DavilSin
UNIт
 
Сообщения: 74
Зарегистрирован: 16 апр 2011, 11:10

Re: PHP Master Server вопросы

Сообщение Gamelov 17 янв 2012, 14:07

Добрый день! Требуется специалис для создания- настройки мастер-сервера на кс 1.6, готов щедро проплатить, если таковы найдутся посьба обращятся в скайп - Ganja_cs.
С Ув. Борис Александрович. ;)
Gamelov
UNец
 
Сообщения: 1
Зарегистрирован: 17 янв 2012, 14:03


Вернуться в Сеть

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4