Читеры в многопользовательских играх
Уровень материала: 🐥 #middle #multiplayer
Последний шэр хорошего доклада с 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 татуировок менеджера" Батырева: если хочешь, чтобы следовали правилам, нужно создать условия, в которых нарушать правила настолько сложно, что проще им следовать.
Post #249
620

- ❤ 7
- 🔥 5