Безопасность сетевой игры: предотвращение читерства и т д..

Сеть в Unity3D

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение gnoblin 11 май 2011, 19:35

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

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение mentors 11 май 2011, 19:53

gnoblin писал(а):Какая горячая дискуссия :ymdevil:

А у нас по другому бывает? ;)
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение Guyver 12 май 2011, 07:41

вы же врядли видели реализацию контры, где одновременный онлайн в 1й комнате (читайте игровом мире) чуть больше чем пара человек? ... все чёто бьют народ по группам ... онож не с проста так происходит.

я нигде не говорил про синхронизацию каждый кадр (разочек в секунду будет разумнее ... можно реже .. можно подстраиваться по скорости канала как часто чувака придётся поправлять) ... я говорил о векторе и скорости движения ... каждый KeyDown или MouseDown уходит команда об изменении поведения игрока (пока он не нажал на кнопку или по расчёту не уткнулся в стену - вот вам предсказание же). ... ещё я упомянул о видимости игроков (слышали про 2 зоны видимости и актуальности данных даже ? ... это типа борьба с броад кастами)

гео дата разумеется упрошённая до безобразия .... я даже думаю если хочется ММО в режиме контры ... то можно исхитриться и поставить отдельные серваки для обсчёта коллизий в определённых секторах (бить на сектора по нагрузке на каждый, без фанатизма) .... и склеить эти серваки файбером в 1й стойке - будет быстро.

если вы не про ММО то всё просто (система комнат с боями как много где) ... делаете лобби, делаете кучку серваков отвечающих за бои ... лобби отправляет на боевые серваки когда нада, те проводят бои ... проблем с нагрузкой не будет .. всё решается рублём и количеством металлолома в стойках (в случае нехватки мощностей, расширяете парк металлолома).
п.с. я сейчас работаю как раз над последним вариантом ...
Xcombat: 3D шутер на летающих тарелках!
Аватара пользователя
Guyver
UNIверсал
 
Сообщения: 392
Зарегистрирован: 21 июл 2010, 08:04
Откуда: Челябинск

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение mentors 12 май 2011, 09:20

Guyver писал(а):если вы не про ММО то всё просто (система комнат с боями как много где) ... делаете лобби, делаете кучку серваков отвечающих за бои ... лобби отправляет на боевые серваки когда нада, те проводят бои ... проблем с нагрузкой не будет .. всё решается рублём и количеством металлолома в стойках (в случае нехватки мощностей, расширяете парк металлолома).
п.с. я сейчас работаю как раз над последним вариантом ...

Хм, я конечно понимаю, что все можно решить железом... Но представьте что Вы Инди, у Вас маленький стартовый капитал, хватит максимум на аренду полноценного сервера (на хорошем канале), у Вас есть потрясающая игра (например про вторую мировую) и Вы жаждите масштабных баталий (игроки тоже жаждут)... И планируется по несколько сот игроков на одной карте...
Все упирается в рамки... Если вы готовы плодить клоны CS - не ждите популярности и коммерческого успеха... Для нормального старта нужны свежие идеи, для свежих идей - нужны правильные решения, не всегда правильные решения бывают безопасными, но они в любом случае должны быть эффективными, иначе потеряете игроков.
ИМХО: Алгоритмы защиты игр от читерства - штука очень индивидуальная и разрабатывается обычно в несколько этапов.
Этап 1. На этапе разработки приложения (следим за паблик переменными, прорабатываем протоколы передачи данных и шифрование, реализуем алгоритмы логической защиты).
Этап 2. После Альфа и Бета тестирования ищем баланс производительность/защита.
Этап 3. После релиза (штопаем дыры и стараемся не понизить производительность).
Обычно на втором этапе защита переходит на очень далекие планы бытия, всерьез ею начинают заниматься во время бета теста, когда уже что-то работает...

Хм... Сори за лирику...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение Kann 12 май 2011, 10:47

mentors писал(а):
gnoblin писал(а):Да ладно - зачем каждый кадр-то? :ymsmug:
Я с Guyver согласен, правда единственный нормальный вариант для симуляции мира который мне видится - это запускать на стороне сервера инстанс юнити с упрощенной сценой :)

Ну смотря для какой игры... Для РПГ аля Lineage - подойдет, а вот симуляторы и шутеры - уже не потянет, слишком большие накладки в управлении будут, особенно там где не самая большая скорость у клиентов... Представьте, жмешь клавишу вперед, и сразу прыжок, а он тебе движение с задержкой в 1/10 секунды возвращает (потери времени на прохождение пакетов в обе стороны+накладные расходы при обработке на сервере)... Кажется не много, но на самом деле - очень заметно будет...
Ну и соответственно представьте что у Вас 2000-3000 клиентов... Нагрузка на канал будет тоже не слабой...


у меня выходит примерно 12к.бит\сек на одного клиента, это прямое управление кораблем, теоретические расчеты дают 10к игроков на 1 гигабит, задержки допустимы до 300мс, далее играть накладно самому игроку, но не другим, я использую предсказание ввода, то есть движение клиента начинается сразу, не ожидая пока сервер пришлет ответ, далее по приходу ответа от сервера, местоположение игрока корректируется на клиенте, так же сделаны зоны видимости, отсюда трафик оптимален для игроков, все это построено на стандартной сети юнити, что бы не было перегрузки игрового сервера, нужно делить игровой мир на несколько игровых серверов, а не пихать всех в одну кучу на 3к рыл, так что нет не чего невозможного.
Kann
Старожил
 
Сообщения: 553
Зарегистрирован: 05 ноя 2009, 14:06

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение mentors 12 май 2011, 11:09

Kann писал(а):так что нет не чего невозможного.
Кто спорит - возможно все... Но у всех - разные задачи. Я высказал свое ИМХО, критиковать его или нет - Ваше дело.
Если у Вас такие показатели по производительности - не значит что они будут аналогичными на другой игре.

ИМХО: Топик пора прикрывать, противоположные точки зрения высказаны, обсуждены, далее будут только священные войны...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение Guyver 12 май 2011, 11:46

да нет .. что вы .. какие холивары..

Я просто предложил своё видиние проблемы и возможные решения, которые смог выдать мой моск основываясь на опыте/теории которую знаю .. только и всего. т.к. была реакция на мои мысли .. я продолжил/попытался растолковать подробнее мои мысли. как только начинается холи вар я испаряюсь .. я ваапще не очень люблю писать что то на форумах, но если комуто интересно ...

а про системы безопасности, масштабы железа, сеттинги игр ... это же индивидуально всё .. если вы инди и у вас нет бюджета, то имеет смысл трезво оценивать и уровень игры которую вы делаете и степени свобод игроков на поле боя в вашей игре.

вы же понимаете что не возможно на 386м процессоре + модеме 2400, который валялся у вас в кладовке из детства накавырять ММО сервак с онлайном 1кк да ещё и чтобы все бегали на 1й огромной карте ... и коллизии проверялись как в КС. Будь хоть 7 пядей во лбу.

п.с. КС я тут привожу не как жанр .. а как принцип построения гейм плея + просчёт коллизий.
Xcombat: 3D шутер на летающих тарелках!
Аватара пользователя
Guyver
UNIверсал
 
Сообщения: 392
Зарегистрирован: 21 июл 2010, 08:04
Откуда: Челябинск

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение mentors 12 май 2011, 12:35

Guyver писал(а):да нет .. что вы .. какие холивары...
Я не про то.. Холивара еще не было, но дальнейшая дискуссия может в таковой перерасти...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение debuger1 16 май 2011, 06:53

смотри если ты реализуешь симулятор гонок. то конечно легче отправлять пакеты(типа нажатых клавиш) и уже расчеты все проводить на стороне сервера а обратно клиент получал уже все данные необходимые клиенту. Так реализуешь практически непробиваемую защиту от читеров и спид хаков.
Аватара пользователя
debuger1
UNец
 
Сообщения: 48
Зарегистрирован: 08 мар 2010, 19:05

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение zhbanito 16 май 2011, 09:01

Мы знаем доступные области карты, мы знаем доступные скорости машин. Достаточно проверять находится ли центр масс в белой области черно-белой карты доступных точек и смотреть, что бы скорость между двумя последними точками не превышала допустимые пределы. Вот и вся защита от хакеров, все остальное красиво просчитает физика клиента. На сервере достаточно будет 30 просчетов в секунду, при этом мы гарантируем, что читера не пройдут и выдаем потрясающую физику на клиенте. А то что на двух соседних компьютерах машины будут немного по разному ударяться в стены, то это, я считаю, не беда.

Можно еще вести статистику изменения скорости и отслеживать слишком резкие ее скачки. Короче вариантов устранения читеров море, так же как и вариантов считерить. На каждый замок все-равно найдется ключ, либо окажется, что добыча не стоит усилий на подбор ключа.
zhbanito
UNец
 
Сообщения: 33
Зарегистрирован: 01 дек 2010, 15:29

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение debuger1 16 май 2011, 16:43

zhbanito писал(а):Можно еще вести статистику изменения скорости и отслеживать слишком резкие ее скачки. Короче вариантов устранения читеров море, так же как и вариантов считерить. На каждый замок все-равно найдется ключ, либо окажется, что добыча не стоит усилий на подбор ключа.

Человек немного заблуждается представим такую ситуацию.

Клиент отсылает допустим такие пакеты.
UP=100
Down=101
Left=102
Right=103
SpeedUp=104
SpeedDown=105
Stop=106
размер пакета 1 байт.
сервер проверяет если длинна пакета больше чем 1 байт пакет игнорируется.
если байт в пределах<100..106> пакет обрабатывается в противном случае пакет игнорируется.
попробуй обойди)

Если ты говоришь что можно ко всему подобрать ключ то почему читов допустим в LineageII в разы больше чем допустим World of tanks
Аватара пользователя
debuger1
UNец
 
Сообщения: 48
Зарегистрирован: 08 мар 2010, 19:05

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение mentors 16 май 2011, 17:45

debuger1 писал(а):Если ты говоришь что можно ко всему подобрать ключ то почему читов допустим в LineageII в разы больше чем допустим World of tanks

Во сколько раз дольше существует Lineage по сравнению с World of tanks?
Во сколько раз больше аудитория Lineage по сравнению с World of tanks?
Во сколько раз больше крутится денег в Lineage по сравнению с World of tanks?
Покажите хоть с пару читов работающих на оф сервере Lineage, и которые не ловятся (имеются в виду читы которые возможно воспроизвести, заявления типа: Вася написал что у него есть супер чит - не принимаются)...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение gnoblin 16 май 2011, 18:35

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

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение mentors 16 май 2011, 18:48

gnoblin писал(а):Популярность проектов сравнивать смысла нету,
WoT и так уже монстр в плане популярности (145к онлайн на русскоязычном сервере, а что в китае и европе - хз).

Я не про популярность, а про то, что защита WoT несколько преувеличина, и сравнивать ее с защитой старичка Lineage - просто не корректно...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение gnoblin 16 май 2011, 20:37

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

Пред.След.

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

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

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