Среда, 13 Ноября 2024, 10:30

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Защита от читеров - почему это так сложно?
RangerДата: Вторник, 22 Апреля 2014, 10:33 | Сообщение # 21
почти ветеран
Сейчас нет на сайте
А как работает автоаим?

TiendilДата: Вторник, 22 Апреля 2014, 10:43 | Сообщение # 22
участник
Сейчас нет на сайте
Игра одно- или много-пользовательская?

Если синглплеер, то в лес все защиты от читерства — они не нужны.

Если мультиплеер, то два варианта:

- расчёт и проверка контрольной суммы состояния мира у всех игроков со всеми;
- расчёт всего важного на сервере.


Участвовал в разработке Order of War (C++ UI & логика) и WoT (Python портал worldoftanks.ru почти всё :-) )

Текущий проект: the-tale.org - indie mmozpg
MisterTimeChipДата: Вторник, 22 Апреля 2014, 12:33 | Сообщение # 23
частый гость
Сейчас нет на сайте
Вообще в Unity есть стандартная анти-чит функция, вызывается одной строкой. Только вот какой, я не помню.

Программист - не профессия. Это судьба.
Storm54Дата: Вторник, 22 Апреля 2014, 14:56 | Сообщение # 24
постоянный участник
Сейчас нет на сайте
Цитата
Вообще в Unity есть стандартная анти-чит функция, вызывается одной строкой. Только вот какой, я не помню.

Нету такого, т.к. универсального античита не существует. Разве что запрет какой-нить на инжект длл
PoqXertДата: Вторник, 22 Апреля 2014, 16:11 | Сообщение # 25
постоянный участник
Сейчас нет на сайте
Network.InitializeSecurity

Расширения для Unity3D
Блог программиста - PoqXert.ru
robertonoДата: Вторник, 22 Апреля 2014, 16:28 | Сообщение # 26
Чокнутый Кот
Сейчас нет на сайте
Это для юнити сервера. У меня photon server

Добавлено (22.04.2014, 16:28)
---------------------------------------------
Так как защищать переменные то?

LightsoftДата: Вторник, 22 Апреля 2014, 17:09 | Сообщение # 27
частый гость
Сейчас нет на сайте
Цитата robertono ()
Так как защищать переменные то?

Обрабатывать все переменные клиента на сервере. Т.е. при отправке их клиентом на сервер, проверять на корректность. Больше никак, иначе их можно будет подделать.
EchoITДата: Вторник, 22 Апреля 2014, 18:57 | Сообщение # 28
старожил
Сейчас нет на сайте
Цитата
Обрабатывать все переменные клиента на сервере. Т.е. при отправке их клиентом на сервер, проверять на корректность. Больше никак, иначе их можно будет подделать.

Если отправлять все клиентские переменные на серв (если такие есть), то он просто опухнет от запросов. biggrin


Долгожданный анонсик: State of War
robertonoДата: Вторник, 22 Апреля 2014, 19:42 | Сообщение # 29
Чокнутый Кот
Сейчас нет на сайте
А я и не могу обрабатывать всё на сервере. Сервер понятия не имеет как выглядит моя карта. Ведь это фотон) Не графический сервер. Сервер принимает запросы, обрабатывает, отвечает. Но он понятия не имеет как выглядит карта и мир в котором находится игроки.
Поэтому из простого - проверки различные на сервере.
Storm54Дата: Вторник, 22 Апреля 2014, 23:29 | Сообщение # 30
постоянный участник
Сейчас нет на сайте
Либо писать свой аналог возможностей Unity3D, то бишь систему загрузки геометрии, расчет коллизии и т.п. Либо создать специальный системный клиент, каждый экземпляр которого будет закинут в соответствующую комнату с игроками и будет контролировать весь игровой процесс. Собственно идентификацию такого клиента на сервере можно производить по очень длинному ключу.
Однако, тут нужно смотреть, насколько это будет затратный процесс. По сути можно ограничиться и одним экземпляром такого системного клиента - это позволит значительно сократить расход оперативной памяти, но реализовать такое приложение будет значительно труднее.


Сообщение отредактировал Storm54 - Вторник, 22 Апреля 2014, 23:29
robertonoДата: Вторник, 22 Апреля 2014, 23:38 | Сообщение # 31
Чокнутый Кот
Сейчас нет на сайте
Ещё вопрос по поводу программ для читеров. Cheat Engine и его аналоги - копаются в оперативке.
Снифферы - могут изменять и отлавливать данные передаваемые через интернет.
Я всё правильно понимаю?
А если допустим я проверяю в игре, запущен ли процесс 123.exe, читер может сказать игре что процесс запущен, когда на самом деле нет?
Storm54Дата: Вторник, 22 Апреля 2014, 23:50 | Сообщение # 32
постоянный участник
Сейчас нет на сайте
Конечно может. Либо посредством изменения функции, которая проверяет этот процесс, либо чит может запустить левый процесс с этим именем. В общем любую проверку на клиенте можно свести на нет. Сервер должен анализировать работу клиента и в случае некорректных данных принимать меры - других вариантов нет. На клиенте же реализовывать какой-либо античит - только усложнить работу создателям читов, тем самым снизить потенциальное количество читеров.

Сообщение отредактировал Storm54 - Вторник, 22 Апреля 2014, 23:52
robertonoДата: Среда, 23 Апреля 2014, 00:08 | Сообщение # 33
Чокнутый Кот
Сейчас нет на сайте
Storm54, а в каком виде читер видит переменные? так и видит, vector3 pos = vector3.zero ?

Добавлено (23.04.2014, 00:08)
---------------------------------------------

Цитата EchoIT ()
б) "Инъекция" DLL. Используется для создания читов типа wallhack, esp и aimbot (в основном). Чаще всего работают, с рендером игры (D3D или OpenGL) и меняют, к примеру, приоритет рендера какого-либо типа моделей (wallhack) или отрисовывают квадраты вокруг определённых моделей на карте (esp). Защититься от такого гораздо сложнее, ибо никакие переменные эти взаимодействия с рендером не затрагивают.


Я под directx делаю. Значит wallhack сделать сложнее?
Storm54Дата: Среда, 23 Апреля 2014, 00:23 | Сообщение # 34
постоянный участник
Сейчас нет на сайте
Класс Vector3 по большому счету содержит в себе 3 float переменных. Каждую переменную можно найти по отдельности, достаточно найти первую переменную - остальные по сути лежат в смещении +4 и +8 байт соответственно.

Цитата
Я под directx делаю. Значит wallhack сделать сложнее?

Меньше чем за 1 день сделают. Их клепают десятками. Как написали выше:
Цитата
Чаще всего работают, с рендером игры (D3D или OpenGL)

Так что технологии остаются такими же, соответственно и способы реализации те же.
robertonoДата: Среда, 23 Апреля 2014, 00:36 | Сообщение # 35
Чокнутый Кот
Сейчас нет на сайте
Эх,ох уж эти читы, почему нельзя жить в мире sad
_ToBe_Дата: Среда, 23 Апреля 2014, 02:08 | Сообщение # 36
постоянный участник
Сейчас нет на сайте
Обещают что в раю всё иначе и там нет читов, но я в этом тоже сомневаюсь happy

Сам раньше занимался ботоводством и до сих пор иногда страдаю этим biggrin
Самые крутые боты - это конечно боты, которые ковыряются в памяти процессов. Конечно, если это интернет игра, то менять что-то в клиенте они не будут, т.к. сразу палево и бан отхватят. Но!!! Ничто не мешает им отслеживать процесс о нахождении врага и его головы. Как только юзер кликнет левой кнопкой мыши, курсор автоматически наводится на голову врага и совершает выстрел. При этом отследить такое практически не возможно. Таких хитрых ботов обычно определяют по длительной слежке за ними и оценке их действия, записи логов, сканируя и оценивая smile Но для этого надо отслеживать все перемещения его прицела.

Второй, менее умный бот - это пиксельный. Когда фигурку врага раскрашивают в статичный однотонный цвет и определяют куда стрелять
robertonoДата: Среда, 23 Апреля 2014, 11:23 | Сообщение # 37
Чокнутый Кот
Сейчас нет на сайте
Я вот неплохой античит нашел.
http://unity3d.ru/distribution/viewtopic.php?f=12&t=19744&st=0&sk=t&sd=a
Часто обновляется, дешевый, имеет уже хорошее количество функций.
nwsxДата: Среда, 23 Апреля 2014, 23:24 | Сообщение # 38
постоянный участник
Сейчас нет на сайте
нужно сделать игру в которую никто не будет играть, кроме тебя самого, тогда никто и не взломает.

Westboro
Dungeon Journey на Google Play
robertonoДата: Среда, 23 Апреля 2014, 23:36 | Сообщение # 39
Чокнутый Кот
Сейчас нет на сайте
nwsx, тоже вариант, но не очень выгодный. Ты это, не расстраивайся что не можешь продать свою игру)
nwsxДата: Четверг, 24 Апреля 2014, 21:33 | Сообщение # 40
постоянный участник
Сейчас нет на сайте
а ты не расстраивайся что являешься унылым летсплейщиком)

Westboro
Dungeon Journey на Google Play
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг