Найти в Дзене
Unity и геймдев | aks2dio

Читеры в многопользовательских играх

Последний шэр хорошего доклада с Unite 2025. В этот раз Making games that keep cheaters away 📺 Тут тему читов тоже уже ранее немного однажды задевал: пуньк 💬 И на Хабре ранее натыкался на серию статей: про сами читы и про анти-читы 📝 Что было внутри доклада, с небольшими дополнениями от себя: Это в т.ч. коррелирует с мыслью, которую я давно прочно ухватил из "45 татуировок менеджера" Батырева: если хочешь, чтобы следовали правилам, нужно создать условия, в которых нарушать правила настолько сложно, что проще им следовать.
Оглавление

Последний шэр хорошего доклада с Unite 2025.

В этот раз Making games that keep cheaters away 📺

Тут тему читов тоже уже ранее немного однажды задевал: пуньк 💬

И на Хабре ранее натыкался на серию статей: про сами читы и про анти-читы 📝

Что было внутри доклада, с небольшими дополнениями от себя:

1️⃣ Мотивации читеров:

  • Заработок (P2E, продажа прокаченных аккаунтов и читов, влияние на игровую хард-экономику).
  • Соц. статус: получение признания и статуса без усилий.
  • Доминирование.

2️⃣ Типы читов:

  • Локальные (Wall Hack, Radar, Aim Bots и т.д.)
  • Сетевые (Lag Switch, Fake Lag Drop Hack и т.д.)
  • Читы, изменяющие состояние игры (Speed Hack, Fly Hack и т.д.).

3️⃣ Способы реализации читов:

  • Изменение данных в RAM.
  • Реверс инжениринг, патчинг кода, подмена ассетов.
  • Перехват системных вызовов.
  • Подмена сетевых пакетов.

4️⃣ Модели авторитарность:

  • Server Authority, когда всё решает сервер, самый безопасный и подходящий для PvP.
  • виды авторитарности и топологий я ранее собирал более подробный материал💬

5️⃣ Технические барьеры для читеров:

  • Code Obfuscation: беспорядочное переименование, перемешивание и замусоривание итогового кода.
  • Memory Scrambling: случайное смещение адресов в RAM.
  • Projection: смещение чисел в RAM, чтобы не хранить их в памяти в явном виде.
  • Network Encryption: шифрование сетевого трафика.
  • Data Encryption: шифрование сохраняемых данных.
  • Code Virtualization: использование кастомного языка для части кода игры, который может понять только встроенная в игру "виртуальная машина".
  • Integrity Protection: хэширование и сверка файлов и участков памяти игры.
  • Anti-cheats инструменты: Client-side, Server-side.
  • Runtime-проверка подключенных дебаггеров.
  • Анализ паттернов поведения.

6️⃣ Правила разработки:

  • Запрещено хранить пароли и API-ключи в коде или системах контроля версий.
  • Серверный и клиентский код должны находиться в разных сборках и не попадать друг в друга.
  • Хранить в RAM минимально необходимую информацию для продолжения игры текущего конкретного игрока.
  • Не хранить в RAM избыточные данные других игроков.

7️⃣ Стратегии наказания:

  • Платные игры: бан для читера в бесплатной игре ничего не стоит.
  • Банить отложено, не сразу, чтобы читеры не поняли, из-за чего именно случился бан.

8️⃣ Задача в борьбе с читерами:

  • Искоренить читеров невозможно, но можно сделать взлом настолько дорогим и скучным, чтобы им было проще уйти в другой проект.

Это в т.ч. коррелирует с мыслью, которую я давно прочно ухватил из "45 татуировок менеджера" Батырева: если хочешь, чтобы следовали правилам, нужно создать условия, в которых нарушать правила настолько сложно, что проще им следовать.