Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Защита online html5 игры от читеров, Думки по поводу защиты игры от читеров 
:(
    Опции темы
DeLuxis
  Дата 4.12.2012, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 13.6.2012

Репутация: нет
Всего: нет



Тут для опыта делаю небольшую игрушку. 
Для игры в офисе.
И планирую сделать мультиплеер. 

Игрок может перемещаться и стрелять. Соответственно если попал в противника, то противник погибает. 

Собственно хотел бы почитать, кто как решал такие проблемы.

Сам рассматриваю такие способы (все через сокеты само собой):

1. При перемещении и стрельбе отправлять данные на сервер, после чего ждать ответ сервера и производить действие в зависимости от ответа.
Тут проблема. Отправлять запрос для каждой пули? Но сервер тогда нагнется. 

2. Просто отправлять нажатия клавиш, а сервер сам вышлет пакет перемещения и выстрелов, по которому уже рисуем действия. Тогда будет задержка в анимации, и заметные лаги. 

3. Парралельно на сервере проверять попадания и координаты. Если идет рассинхронизация, то синхранизировать всех клиентов согласно данным на сервере. 

4. Вести два лога - на сервере и клиенте. По завершении игры сверять. У кого нарушен лог, тот читер. Тут минус в том, что читерство проверяется только по окнчанию игры.

Может я не правильно высказался, или еще что-то не понятно. Задайте уточнающие вопросы. 
Мне важно обменяться опытом и узнать как правильнее решить эту задачу. Не обязательно на js. 

Это сообщение отредактировал(а) DeLuxis - 4.12.2012, 13:25
PM MAIL   Вверх
Aliance
Дата 5.12.2012, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата(DeLuxis @  4.12.2012,  14:23 Найти цитируемый пост)
3. Парралельно на сервере проверять попадания и координаты. Если идет рассинхронизация, то синхранизировать всех клиентов согласно данным на сервере. 

Может будет полезно: http://habrahabr.ru/post/135306/
PM MAIL WWW ICQ Skype   Вверх
DeLuxis
Дата 6.12.2012, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 13.6.2012

Репутация: нет
Всего: нет



Цитата(Aliance @ 5.12.2012,  14:28)
Цитата(DeLuxis @  4.12.2012,  14:23 Найти цитируемый пост)
3. Парралельно на сервере проверять попадания и координаты. Если идет рассинхронизация, то синхранизировать всех клиентов согласно данным на сервере. 

Может будет полезно: http://habrahabr.ru/post/135306/

Спасибо за ссылку.

Цитата

 Для того, чтобы определить, что игрок задел что-то выстрелом, клиент передает на сервер саму цель и намерение игрока выстрелить. Сервер считает разницу во времени, «возвращается в прошлое» на уже посчитанное время и проверяет – попал ли стрелок во что-нибудь. Если попал, то к цели «применяется» урон.


Собственно это наблюдаю когда играю в urban terror. Забавно видеть, как игрок падает спустя полсекунды после попадания. Так же если ты выстрелил, и точно попал в кого-то, но тебя во время выстреля убила, то твое попадание не засчитывается. 

До этого на хабре читал статью про бомбермена.
http://habrahabr.ru/post/143699/

Это сообщение отредактировал(а) DeLuxis - 6.12.2012, 08:14
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0433 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.