Всем привет! На связи Алексей Gorlyli, руководитель команды по разработке античита EXens. Я работаю в компании EXBO уже более восьми лет, и всё это время моя главная обязанность — борьба с читами. И кто бы тогда мог мне рассказать, чем всё обернётся! То, что начиналось с простого размахивания «банхаммером», превратилось в захватывающую технологическую гонку с невероятно высокими ставками.
Читы — это рак любой популярной онлайн-игры. И в зависимости от жанра разработчики либо принимают их существование как должное, либо это становится чуть ли не вопросом выживания.
STALCRAFT: X — MMO шутер с упором на PvP, поэтому для нас критически важно держать ситуацию с читерами под контролем.
Борьба с запрещённым программным обеспечением — это теневая игра. Чем больше злоумышленники будут знать о наших методах и инструментах, тем сложнее их будет отслеживать. И у этого есть печальная обратная сторона — чем больше деталей о нашей работе держится в тайне, тем больше остаётся простора для распространения всевозможных домыслов и мифов, вызывающих беспокойство у честных игроков.
Поэтому в этой статье мы постараемся настолько подробно рассказать о нашем античите EXens, насколько это вообще возможно. На самом деле, это один из важнейших материалов о разработке STALCRAFT: X, который следует прочитать каждому! В качестве мотивации я даже спрятал в статье промокод! Ищите подозрительные латинские буквы с цифрами.
Начнём с того, что SC: X по умолчанию защищён от большинства видов читов за счёт проверки данных на сервере: все действия игрока, попадания и физика обрабатываются именно там. Это означает, что вся информация, передаваемая игровым клиентом*, полностью контролируются. Поэтому игрок ни при каких обстоятельствах не сможет использовать читы для ускоренного передвижения: SpeedHack, полёта или манипуляций с предметами.
* Игровой клиент — это программа которая использует файлы игры и подключается к серверу, чтобы показывать графику (изображение), воспроизводить звуки и обрабатывать действия игрока. Запуская STALCRAFT: X, вы запускаете игровой клиент, который выполняет все эти задачи.
Однако эффекта, похожего на SpeedHack, можно достичь с помощью Lag Switch — программы, которая искусственно увеличивает пинг. С её помощью читер начинает лагать у других игроков во время перемещения, из-за чего по нему становится намного сложнее попасть.
Ранее мы уже уничтожили первую волну подобных читов, и сейчас, после обновления сетевого протокола, собираемся расправиться со следующей.
Помимо проверки данных на сервере, наша команда уделяет большое внимание обфускации*, шифрованию* и прочим способам борьбы с читами, которые взаимодействуют с клиентом и файлами игры, чтобы значительно повысить порог входа в разработку читов. При этом мы не забываем после каждого обновления немного менять внутреннюю структуру игры, чтобы ломать уже существующие читы.
* Обфускация усложняет код, затрудняя его чтение и анализ, а шифрование защищает данные от несанкционированного доступа.
Таким образом, мы стремимся заставить разработчиков читов тратить как можно больше времени на их обновление и заниматься кропотливой ручной работой, которую тяжело автоматизировать.
Более того, изменение определенных файлов игры может давать значительное преимущество в SC: X, поэтому наш античит постоянно их проверяет. Например, в недавнем обновлении мы приняли меры против возможности заменять или удалять модели игроков, деревьев и других важных объектов.
На этом EXens не останавливается и после запуска STALCRAFT: X постоянно проверяет оперативную память, используемую игрой, в поисках следов инжекта*, которых там быть не должно.
* Инжект — это процесс внедрения дополнительного кода или модулей в память запущенной игры. В контексте читов это делается для того, чтобы изменять или расширять возможности игрового клиента.
Важно понимать, что инжект — это не та вещь, от которой можно избавиться полностью.
Основная причина — инжект используется множеством легальных и нужных игроку программ. Антивирусы, оверлеи: Discord и Steam, запись видео: OBS, Bandicam, Action — все эти программы объединяет одно: они внедряют свои модули в процесс игры для своих задач, не оказывая помощи игроку.
Чаще всего модули легальных программ можно легко отличить от модулей читов, поскольку у них есть цифровая подпись, которую мы можем проверить. А случайный модуль, который появился из ниоткуда и не имеет подписи — всегда вызывает подозрения.
К сожалению, ни проверка действий игрока на сервере, ни защита клиента и файлов игры не помогут против читов на автоприцеливание (AimBot) и рентгеновское зрение (WallHack). Они представляют огромную проблему для любых онлайн-шутеров, и до сих пор не существует методов, которые могли бы полностью их устранить.
Дело в том, что AimBot и WallHack используют данные, которые сервер в любом случае отправляет на игровой клиент 1C. Иными словами, эти читы работают лишь в рамках возможностей, изначально доступных игроку.
Бороться с WallHack на уровне сервера возможно, и этот метод заключается в том, чтобы не передавать клиенту информацию о противниках, находящихся за препятствиями. Однако такой подход требует стабильного интернет-соединения: без него противники будут внезапно появляться из ниоткуда, а преимущество в PvP окажется полностью зависящим от пинга. Поэтому подобные решения не применимы для динамичных шутеров от первого лица, таких как STALCRAFT: X.
AimBot же в принципе не делает никаких действий, которые не может в теории сделать сам игрок. Борьба с ним на стороне сервера сводится к анализу статистики действий каждого игрока и более детальной проверки на инжект. Чем мы и занимаемся с определённым успехом на протяжении длительного времени.
На данный момент нет более эффективного средства против этих читов — чем оперативное обнаружение (детект) и блокировка пользователей, которые их используют. Мы скармливаем все новые читы автоматической системе, которая затем выявляет их использование и передаёт списки злоумышленников ответственному за блокировки.
К сожалению, мы не можем раскрыть детали работы нашей автоматической системы, ведь это было бы равносильно распахиванию крепостных ворот перед разбойниками.
Однако можем поделиться тем, что если чит находится в детекте, в среднем его пользователь улетает в бан за 2 часа использования.
Для нейросетевых читов этот срок сейчас дольше, но мы активно работаем над ускорением нашей реакции. И в этом, кстати, нам помогаете именно вы!
Чтобы ускорить блокировку замеченных в нечестной игре читеров и быстрее находить новое запрещённое программное обеспечение (ПО), мы используем помощь игроков, которые отправляют жалобы на подозреваемых через экран смерти. В скором времени мы планируем добавить эту функцию также в профиль, чат и почту.
Жалобы моментально и автоматически попадают в систему, получая разную приоритетность в зависимости от количества совпадений, чтобы ускорить реакцию на особо наглых фокусников.
Сервер хранит данные даже о самых мельчайших действиях игроков, поэтому у нас есть возможность анализировать их шаблоны поведения, боевую, экономическую и любую иную эффективность, а затем сравнивать со средними показателями и тем, что мы считаем физически возможным 5B. Любые критические отклонения сигнализируют о подозрительности игрока и возможности наличия на его компьютере запрещённого ПО.
Как раз в этот момент наступает финальный этап — изучение его игрового клиента и поиск следов инжекта или нейросетевых читов. После которого, в случае обнаружения чего-то запрещенного, игрок резко превращается из подозреваемого в злоумышленника и заслуженно получает «удар банхаммером» по кубоголове.
Мы не осуществляем блокировку аккаунта, пока не зафиксируем следы запрещенного программного обеспечения.
Такая политика связана с тем, что баны за читы осуществляются перманентно без возможности пересмотра, поэтому нам необходимо стопроцентное доказательство их использования. Кроме того, персонаж с прокаченным снаряжением обладает огромной ценностью для игрока — ведь в него было вложено много времени, сил, а иногда даже средств. Поэтому блокировать аккаунт только на основании подозрений — просто безответственно.
Любые скриншоты переписок невозможно достоверно проверить на подлинность, и даже видео с очень подозрительными движениями обвиняемого, которые намекают на AimBot, могут оказаться банальными флик-шотами — техникой стрельбы, при которой невероятно опытный игрок в шутеры резко и точно переводит прицел между целями с помощью мышки:
Демонстрация флик-шотов которые можно перепутать с AimBot 8D
Таким образом, мы приходим к тому, что в онлайн-шутерах бывает сложно отличить читера от игрока с выдающимися навыками, и вся эта неразбериха порой вызывает серьёзную паранойю у честных игроков…
Проигрывать всегда неприятно, поэтому часть игроков, будучи на эмоциях, подсознательно пытаются оправдаться нечестной игрой противника. Это скользкая дорожка, и мы не раз видели случаи, когда в результате человеку начинают мерещиться читеры чуть ли не в каждом третьем противнике.
Особенно эта проблема актуальна для EU региона, где ещё молодая аудитория временами сталкивается с опытными игроками из СНГ.
На европейском регионе мы регулярно получаем множество жалоб на игроков, чья эффективность по меркам того же RU считалась бы достаточно средненькой. Что уж говорить об одном игроке, который играет в нашу игру уже почти десять лет и имеет настолько серьёзный разрыв в игровом опыте с остальными, что становится практически ежедневной причиной полыханий на англоязычных площадках.
На самом деле, по сравнению с весной 2024 года, ситуация с читерами сейчас находится более-менее под контролем. А прошлогодний всплеск был связан с резким скачком в развитии нейросетевых технологий, из-за которых нам пришлось учиться обнаруживать программы, которые никак не взаимодействуют с клиентом. Однако до «дня X», который стукнул прошлым летом, мы успели адаптироваться и научиться эффективно бороться с ними:
Процент смертей от читеров на RU регионе
Процент смертей от читеров на NA + EU + SEA регионах
В итоге в STALCRAFT: X сейчас лишь каждая тысячная смерть происходит от рук читера.
Хочется отметить, что достичь такого результата помогает ещё одна немаловажная деталь. Хоть наша игра и является условно-бесплатной, в ней существуют пороги входа в конкурентные PvP активности.
Если на южных локациях с каждым обновлением PvP становится всё менее обязательным, то для доступа к северным требуется пройти достаточно длительный основной сюжет. Поэтому если читера забанили — ему, скорее всего, будет слишком лень развиваться заново, и он либо перестанет читерить, либо, что более вероятно, попытается купить чужой аккаунт за реальные деньги, например, на одном из чёрных рынков.
И как раз для таких сценариев у нас тоже припасены некоторые приколы!
Но давайте по порядку… Чёрные рынки — это нелегальные площадки, на которых происходит RMT, то есть продажа или покупка внутриигровых предметов, валюты, аккаунтов или даже услуг за реальные деньги, что нарушает множество правил и с максимальной строгостью наказывается в большинстве онлайн-игр.
Главный вред от чёрных рынков заключается не в том, что какие-то деньги проходят мимо разработчиков, а в том, что они непосредственно помогают читерам в их вредительской деятельности. Благодаря таким площадкам злоумышленники могут быстро приобретать новые аккаунты и продолжать препятствовать честному игровому процессу на всех этапах игры, при этом маскируясь под случайных игроков с нормальной статистикой и разнообразным снаряжением.
Борьбой с такими «читерами-хамелеонами» и RMT в целом занимается отдел игровой безопасности. Они вручную анализируют подозрительные входы в аккаунт и просматривают всю цепочку задействованных аккаунтов в передаче или получении игровых ценностей, обращая внимание даже на тех хитрецов, которые пытаются выглядеть «чистенькими». Таким образом, кстати, читер невольно подставляет и продавцов на чёрных рынках, сообщая нам о их нелегальном «эндгейм контенте».
Разумеется, это не касается обычных игроков, которые могли не знать о сверхспособностях своего случайного тиммейта или партнёра по торговле.
Тем не менее, внезапный подарок за красивые глазки — может быть изъят.
В результате, благодаря быстрому обнаружению читера отделом EXens и тщательному анализу аккаунта отделом безопасности, злоумышленник не способен многократно окупить затраты на купленный аккаунт и подписку на свой приватный чит, продавая добытые нечестным путём игровые ценности на чёрном рынке.
К слову, бесплатные читы без подписки — это как бесплатный сыр в мышеловке. Такие программы часто крадут личные данные своих пользователей и обычно уже находятся в детекте, что приводит к незамедлительной блокировке аккаунта.
В настоящее время отдел безопасности проектирует новые инструменты для предотвращения краж игровых ценностей и упрощения ручного анализа действий игроков. Это позволит более оперативно проверять жалобы на подозрительные аккаунты, отмеченные отделом EXens, и более эффективно выявлять помощь читерам в их махинациях для заработка.
К тому же эти инструменты могут также пригодиться в битвах подразделений, где уже давно чешутся руки ограничивать доступ к битвам для игроков и подразделений, которые злоупотребляют нарушением пункта лицензионного соглашения о запрете передачи своего аккаунта третьим лицам.
Но вернёмся к теме читов. Бывают случаи, когда изначально легальное программное обеспечение начинает использоваться для получения нечестных преимуществ в игре. Недавний пример — отладчики графики Intel GPA и NSight. Обычно эти программы используются при разработке игр для оптимизации отображения кадров, но со временем было обнаружено, что некоторые их функции позволяют буквально включать легальный WallHack.
Мы не изверги, чтобы банить игроков за использование изначально легальной программы. Поэтому сначала мы публикуем новость о её запрете на наших социальных площадках проекта и добавляем её в список запрещённых приложений на нашем сайте. А уже после — просто отключаем игрока от сервера при обнаружении теперь уже запрещенной программы, уведомляя его об этом.
Однако если игрок попытается обойти детект и обмануть античит с целью использования приложения из списка запрещенных — вот тогда ему гарантированно прилетит блокировка.
Другой пример ранее легального ПО, который давал преимущество в игре — макросы. Это программы, упрощающие выполнение повторяющихся действий на компьютере. Конкретно в онлайн-шутерах их используют для программирования последовательности кликов и движений мыши, чтобы по нажатию одной кнопки стрелять без какой-либо отдачи или невероятно быстро палить одиночными, словно Клинт Иствуд!
Макросники долго стояли у нас костью в горле, и так как публично известных эффективных способов борьбы с ними не было — нам пришлось изобретать собственные. И пока мы занимались разработкой, на всех регионах образовалась целая популяция топовых игроков, которые уже настолько свыклись с этой возможностью, что вряд ли смогут играть без неё…
Вдумайтесь, даже на Kriss Vector, пистолет-пулемёт с минимальной отдачей — был создан макрос! Поэтому мы запаслись попкорном и с предвкушением ожидаем форумное шоу со «скилловичками», внезапно потерявшими свою «отточенную годами» точность!
Ведь наконец-то наступило время объявить, что с сегодняшнего дня, 21 марта 2025 года, мы в экспериментальном режиме начинаем блокировать за использование макросов!
И вот как это будет работать:
Помимо этого, также с 21 марта 2025 года мы запускаем более прозрачную и эффективную политику блокировок за нарушение пункта 4.1.1. лицензионного соглашения.
Отныне перманентные блокировки за использование читов будут охватывать все аккаунты со всеми персонажами на всех регионах!
Фух, вроде всё рассказал, пора бы заканчивать. Компания EXBO вкладывает огромное количество средств, времени и сил в борьбу с читами, и впереди нас ждёт ещё множество вызовов 7X. Одним из них, без сомнений, станет очередной бум развития нейросетей, который преподнесёт ещё немало неприятных фокусов... Но с вашей поддержкой мы готовы к любым испытаниям!
Будем стараться почаще держать вас в курсе интересных обновлений нашего «теневого отдела», и конечно же не забывать оставлять читерам смешные ответы на форуме! Куда ж без этого…
На страже честной игры,
Отдел разработки античита EXens.