Мошенничество в сетевых играх (на игровом сленге чи́терство, от англ. to cheat — плутовать, мухлевать, жульничать) — применение специально созданных или модифицированных программ или оборудования в сетевых играх для получения неоспоримого преимущества над другими игроками. В отличие от читерства в одиночных играх, представляет угрозу для игровых сообществ, и борьба с ним — важная статья при проектировании игр. Сильный резонанс во всем игровом сообществе проблема читерства получила во многом в силу небывалой распространённости оного на бесплатных серверах игры Counter-Strike. Более подробно в источнике. Сейчас этот термин распространяется в интернете, но в основе лежит обман. Так на трекерах читерами называют тех, кто накручивает себе рейтинг.

читеры это те которые оч много пользуется чик кодами ,,,

читеры это те кто не может играть без кодов!!!!

Читеры — это те, кому лень проходить какой-то сложный эпизод в игре. Ну, или те, у кого нет времени проходить эпизоды, а очень хочется узнать, чем все кончится

Чи́тер
человек, использующий нечестные приемы или пользующийся читами, а так же так могут назвать невероятно везучего человека.

читер- это человек который не может обходится без кодов, программ для взлома игр и других таких же приемов!

Читеры — злобные твари, которые пользуются читами)

Проблема читов в онлайн-играх

Проблема читов в онлайн-играх

Большинство крупных многопользовательских игр рано или поздно сталкиваются с тем, что не все пользователи играют честно. В нашем шутере Warface в какой-то момент это стало ощущаться особенно сильно. Для борьбы с читерами мы используем целый комплекс решений. Одним из компонентов этого комплекса является наша внутренняя разработка под названием MRAC (Mail. Ru AntiCheat). После ее внедрения мы добились хороших результатов: среднее количество ежедневно улетающих в бан читерских аккаунтов упало с 17000 в начале года до 1500 сейчас, при том, что количество жалоб от пользователей на читеров существенно уменьшилось. На выявление подозрительной активности и блокировку аккаунта сейчас уходит примерно 5 минут, вместо прежних 20. Сейчас система распознает и реагирует на более чем 200 сигнатур читерского ПО и постоянно совершенствуется. У каждой игры своя специфика, и для эффективной борьбы с читерами необходимо разбираться во внутренних особенностях конкретной игры и приемах, используемых в читах. Мы могли бы подробно рассказать обо всех решениях, которые мы используем в Warface, однако, выдав такую информацию в свободный доступ, мы пригласили бы авторов вредоносного ПО к активным действиям. Пока конкретика остается в секрете читерам сложнее скрываться от системы. Тем не менее, сама по себе тема очень интересная, поэтому хочется раскрыть ее подробнее.

Методы борьбы

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

Первым наиболее действенным способом представляется валидация на сервере действий игрока. Например, если игрок каким-то образом за единицу времени переместился в пространстве дальше, чем позволяет игровая механика, то наверняка это читер (speedhack), и его нужно немедленно кикнуть. Такая валидация перемещений игрока возможна, так как в конечном счете сервер контролирует расположение игроков на карте.

Вторым способом представляется статистический анализ на сервере. Например, если все пули игрока постоянно попадают в голову врагов, то это очень подозрительно. Или не в голову, а просто без промахов. Или, скажем, результаты игрока по итогам матча сильно выбиваются из среднестатистических. Конечно, все это еще не повод для блокировки аккаунта данного игрока. Может быть он действительно очень крут. Однако это может использоваться как триггер для пристальной проверки действий игрока группой техподдержки игры. При этом надо понимать, что умный читер, скорее всего, не будет «палиться» и под проверку не попадет.

Еще один способ борьбы – встроенная в игру возможность пожаловаться на читера. Разумеется, по жалобам нужно сначала провести проверку и потом уже решать, блокировать аккаунт или нет. Но как показывает практика, этот способ имеет довольно ограниченное применение. Жалоба на читерство сразу становится элементом манипулирования в игре – люди жалуются на всех подряд, кто играет лучше них. В результате получается огромный поток жалоб, особенно на опытных игроков.

На этом, «красивые» способы защититься от читов заканчиваются, но проблему полностью не решают. Приходится обращаться к навесной защите клиента игры.

Классификация читов

Для конечного пользователя существует 4 класса:

Пример того, как распространяют публичный чит

Проблема читов в онлайн-играх

Проблема читов в онлайн-играх

Пример того как выглядит платный чит

Пример продажи приватного чита

Проблема читов в онлайн-играх

Функционал платных читов

Функционал, название и группировка настроек различается от провайдера к провайдеру. Некоторые клепают шаблонные читы для обширного кол-ва игр, некоторые специализируются на играх от Valve, иногда делая читы для других игр по принципу «если не лень», и далее мы рассмотрим набор функций у среднестатистического платного чита. Он в основном состоит из интерфейса для настроек, и:

  • Аимбота (aimbot)
  • Триггербота (triggerbot)
  • Визуалов (visuals, ESP, wallhack)
  • Доп. Функций, не попадающих ни в одну из категорий, например: распрыг, триггер на нож, speedhack, fakelag, спам никами, спам в чат, повисание в воздухе, spinbot/spinhack.

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

Aimbot / аимбот

В случае с платными читами Aimbot является всего лишь частью комплексного чита, а платные читы с помесячной оплатой являются именно комплексными и довольно сложными читами. На публике их называют просто — ВХ или аимбот, не задумываясь, что же именно значат эти слова. На самом деле эти читы являются «мультихаками», просто «hacks», или P2C (pay2cheat, paycheat, и разные вариации сленга). Чаще их называют называют «читами», хотя за пределами русскоговорящих стран это именно «хаки» («hacks»).

Aimbot — всего лишь часть комплексного чита, и может иметь один или несколько режимов / вкладок для настроек: Aimbot, Ragebot, FullRage, Legitbot, MM, LegitAim (называются по разному, но цель режима передают).

Типичный «aimbot в вакууме» выглядит так: вы зажимаете кнопку, прицел прыгает на заданную часть тела противника и ведёт её точно по центру, пока кнопка не будет отпущена. Может включаться, например, такими триггерами, как: «при стрельбе», «по зажатию кнопки», «первые 3 пули». Вопреки распространённому заблуждению аимбот сам не стреляет, если не включить AutoFire. Как правило, палится зрителям тем, что прицел резко «прыгает» на цель по прямой линии, и рывки не совпадают с общим стилем игры читера. Изначально аимбот просто фиксировался на какой-нибудь части тела противника (голове, например) и со стороны это очень очевидно. Со временем aimbot эволюционировал, обзавёлся более беспалевным режимом и кучей настроек.

Разные группы с настройками такие:

Одна из них может называться Ragebot – это aimbot, где настройки сделаны для «полного прожима» (rage, «go full rage»). В нём можно выкрутить настройки на максимум и «ломать всё вокруг». В эту вкладку могут быть вынесены такие настройки, как AntiAim (spinhack). При этом игрок может спиниться и простреливать все возможные места на карте. В зависимости от автора чита, может быть довольно мощной штукой, особенно с «Wallscan» (Autowall, просканом точек прострела). Тогда ты бегаешь по карте, крутишься, и ломаешь всё вокруг, даже если враг высунет пятку в простреливаемом месте, но это зависит от умелости писателя чита.

Мощный чит для полного прожима может называться ragehack (рейдж-хак). Это чит изначально планирующийся чтобы как можно сильнее ломать на максимальных настройках. Однако у такого чита всегда есть легитный режим. До того, как в CS:GO улучшили защиту, такой чит был просто адом для вражеской команды: читер зависал в прыжке, и, крутясь, ломал вражескую команду даже через стены и простреливаемые углы.

Другая группа настроек, если вообще существует, предназначена для «беспалевной» игры в матчмейкинге, или на стримах. Чаще всего эти настройки называют «Legitbot» с намёком на то, что это aimbot. Это не совсем верно, и используется скорее для разделения настроек. Aimbot в этой категории есть, но используется только для некоторых видов оружия, как, например, AWP. Имеет более «легитный» лежим с менее очевидной наводкой, или «отпускает» цель после n-ного выстрела.

Пример окна настроек

Обратите внимание, что Legitbot — это группа настроек для «легитного» стиля игры, а в закладке «Ragebot» настройки для полного прожима, хотя в обоих закладках есть аимбот.

Проблема читов в онлайн-играх

Проблема читов в онлайн-играх

Читеры, которые не хотят палиться, применяют в грубом упрощении две комбинации:

Triggerbot / триггербот

Изначально это была функция, которая делает выстрел, когда враг попадает в перекрестие прицела. И всё. Пример использования — на de_dust2 нацелиться с AWP на ворота, зажать включающую его кнопку, и ждать, пока враг пробежит в прицеле. Винтовка выстрелит сама. Триггербот использовался чтобы «взять на реакцию».

В наше время триггербот эволюционировал и теперь «берут на реакцию» только самые дешёвые, лениво написанные читы. Современные же триггерботы научились не только выполнять выстрел в ситуации, когда вы 100% попадёте по врагу, но и «подправлять» разброс во время выстрела, «направляя пули» куда нужно — а именно в выбранные части тела. В 99% случаев он настроен включаться по кнопке стрельбы. Главная цель триггербота — наименее палевно, но стабильно убивать противника за 1-5 выстрелов.

Именно с ним играют большинство читеров

, предпочитая триггербот вместо аимбота.

Разброс «подправляется» одним из или комбинацией обоих методов:

Если в случае с аимботом ваш прицел наводился, чтобы пули летели куда надо, то в случае с современными триггерботами «наводятся» уже пули. Основная разница с аимботом в том, что угол отклонения не может быть больше разброса самого оружия. Если лениво настроенный Aimbot + SilentAim мог направить пулю на 20° от прицела, то с триггерботом вы просто промахнётесь, если цель находится за пределами обычного разброса попаданий (outside the spread cone).

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

Как это выглядит со стороны?

  • Например, читер может стрелять на бегу, а большинство пуль всё равно попадают в голову/шею/грудь. Разброс оружия не совпадает с тем, каким должен быть, и в вас попадает больше пуль, чем должно. В CS:GO это очень очевидно при увеличении дистанции, когда первая мысль после того как вас убили — «что-то многовато пуль очередью в голову попало».
  • При высоких настройках: Прицел читера находится рядом с головой (так, чтобы иначе он промахнулся), он стреляет, первые 1-3 пули попадают в голову, последующие промахиваются, следуя разбросу оружия. Именно благодаря нему, на высоких рангах, люди не понимают как в них попали. А просто – сделали пару выстрелов рядом с вашей головой.Бывают очевидными, но в прямых руках их заметить всё равно сложно.
  • Как правило, цель триггербота — наименее палевно, но стабильно убивать противника за 1-5 выстрелов.

Как заметить на демке?

В неопытных руках или у «непарящегося» читера триггербот заметить легко: разборс оружия не следует тому, который должен быть, и он не делает манёвров для того, чтобы сделать это менее заметным.

Если читер делает попытки скрываться, то раньше (и сейчас?) при просмотре демки или записи Патруля была возможность включить визуализацию разброса + отдачи + попаданий. После чего включали свободную камеру и наблюдали за местом попадания пуль. Для противодействия разработчики сделали так, чтобы пули попадали не точно в центр, поэтому данный метод не всегда актуален, но очень помогал (и до сих пор помогает?) опытным «Патрульным».

В прямых руках их заметить сложно — читер будет активно маскировать триггербот: садиться при стрельбе, не делать более 3-4 выстрелов за раз, специально промахиваться, или отдаваться, если на него выходят более двух врагов с разных сторон. Однако иногда всё равно проскакивают моменты, описанные выше.

PS: Да простят меня эксперты за такие упрощения. Разные провайдеры по разному группируют свои настройки,, и иногда триггербот может представлять из себя смесь NoRecoil + NoSpread или снижать разброс на заданный процент, а иногда это может делать только аимбот. У других провайдеров триггербот может не быть триггерботом в классическом смысле этого слова, а заниматься «направлением пуль» в выбранную в настройках часть тела, внося заданный процент промахов. Тема полна нюансов, я попытался затронуть её, не делая обзор нескольких десятков вариантов реализации.

Visuals / ESP / визуалы; то, что часто называют «вх» или «воллхак» (wallhack)

Тот самый ВХ, который позволяет видеть через стены. Может быть совсем убогим и просто рисовать квадратики вокруг врагов. А может иметь кучу настроек: покраску головы в яркий цвет или подсвечивание моделей игроков, показывать жизни, броню, хитбокс, оружие.

Сюда могут входить такие функции, как NoFlash, NoSmoke, NoSkybox, прицел, мини-карта (радар).

Прочие функции

SilentAim: Имеет два схожих понятия.

Скрывает подозрительные движения при прожиме аимбота или триггербота. Камера от первого лица не прыгает, не трясётся, или не уходит вниз, следуя паттерну разброса оружия.

Вы можете двигать камерой вне зависимости от того, куда вы стреляете. Суть функции в том, что можно включить обзор аимбота на 360 градусов, самому идти вперёд, а аимбот будет убивать людей сзади (в то время, как камера смотрит вперёд, т. е камера не зависит от того, куда стреляет аимбот). Это ухудшало меткость и скорость отклика, но было популярно на публичных серверах, чтобы можно было «бежать и ломать всё вокруг», при этом не стопясь чтобы стрелять.

Безошибочно палится патрулём (overwatch) — вы стреляете вникуда (или вверх / в пол), а враг умирает. Или камера просто смотрит вверх или вниз, и крутится (хотя со стороны патруля, спинбот выглядит точно так-же, но тут зависит от пряморукости кодера). Ещё вариация SilentAim’а совмещается с триггерботом, что описано выше.

Spinhack / Spinbot / AntiAim: Модель игрока начинает адово крутиться вокруг своей оси, ходить спиной дёргаясь вверх и вниз, и какие только техники тут не придумали. Может при этом смотреть в пол / вверх, или махать прицелом. Основная цель спинбота — игра HvH (hack vs hack), и существует чтобы ввести в заблуждение аимбот/триггербот читера во вражеской команде. HvH — это когда на сервере встречаются читеры в обоих командах, и один из них решает «идти и ломать», не скрываясь.

Дешёвые или скопированные читы очень хорошо обманывались — аимбот стрелял в крутящуюся модель, иногда в голову, но при этом не попадал и все пули летели мимо. Один из провайдеров умудрился сделать совсем уже суровый спинхак — ты смотришь как тебе стреляют в туловище, но все пули летят через тебя и издают звуки промаха, а у тебя 100% hp. Иногда имеет фичи вроде “Fakeduck”, когда моделька ещё и очень быстро приседает, при этом сохраняя скорость бега.

На демке патруля или для зрителя это выглядит так:

Камера адово крутится, смотря вверх или вниз, иногда ещё и дёргая прицелом вверх и вниз. Во время выстрелов крутиться перестаёт, но умелые кодеры успевали вставлять «кручение» между выстрелами.

Как это выглядит со стороны (на видео спинбот не очень сильный).

Несколько gif-картинок для демонстрации (первая gif, вторая открывает webm-видео)

Ещё камера может быть повёрнута вниз головой:

Проблема читов в онлайн-играх

(Картинка кликабельна. На скриншоте видно как анти-бустеры наткнулись на бустеров, и пошли пытаться ломать друг друга. У одного из них ник с рекламой буста, у другого ник с «DeRanking»

Иногда встречается и такое: Антибустеры наткнулись на бустеров. Примеры ников

(Картинка кликабельна. Один из читеров играет с ником ANTI-BOOST, другой с ником #CHEATS бустит своих друзей и наткнулся на анти-бустера

Fakelag: Для стороннего наблюдателя вы очень сильно лагаете. Используется для введения в заблуждение аимбота читера из вражеской команды. Против сильных аимботов не эффективно.

AirStuck: Вы повисаете в воздухе. Используется исключительно в играх HvH, для позиционирования. Позволяло повисать в воздухе, и прятать части тела в непростреливаемых местах, где враг вас прострелить не мог, и прострелить его первым. Это выливалось в целые матчи по все 30 раундов, т. к два опытных читера с полным прожимом ломали друг друга с 50% вероятностью, и раунды заключались в том, кто кого отсидит или кто кого перетерпит.

Bunnyhop / распрыг: Позволяет делать распрыг, зажав одну кнопку. Если человек в распрыге не достаточно ускоряется или ошибается, это либо макрос, либо ручной распрыг.

Повреждение демок патруля: Раньше был приватный чит, который каким-то образом повреждал демку для патруля, и она у них просто не запускалась с причиной «Evidence Invalid or Corrupt» или камера смотрела в одну точку, не показывая геймплея. Что примечательно, это был приватный, а не продажный чит. Слоты продавали за сотни долларов. Пофиксили сразу после того, как это начало распространяться, потому-что кто-то слил метод.

Для чего использовали читы CS

Раньше в CS:GO творился полный ад, когда почти все читы работали с полным функционалом, а Untrusted-баны были редкостью. Сейчас кол-во читеров поубавилось, но, по-моему, их там всё равно очень не мало.

Тут я затрону некоторые феномены, которые не совсем известны публике.

Бустинг / boosting / boost: Покупка «побед» с целью получения высокого ранга. До введения обнуления рангов в CS:GO бустились по следующей схеме — 4 школьника + 1 читер, который зажимал W, и шёл ломать с максимальными настройками. Иногда он специально ещё и крутился, чтобы позлить вражескую команду, даже если в ней не было читера. Про школьников это не шутка – если проголосовать за общий голосовой чат, то вам начинают кричать (!) препубертатным голосом, о том как же вас нагибают, gg ez, вы нубьё, мамкам привет, спасибо за победку.

Аккаунты для таких целий брались следующими способами:

  • Аккаунт на выброс. Покупалась игра/аккаунт за копейки, после чего бустер должен был «прожать» в как можно большем кол-ве матчей, чем больше тем лучше. Часто шли сразу с полным прожимом, чтобы вражеская команда кикнула своего, и проголосовала Сдаться.
  • По аккаунту на матч. Так-же покупалась игра/аккаунт за копейки, после чего читер играл по одной игре с аккаунта в сутки, с полным прожимом. В таком случае аккаунтов хватало на месяц, если повезёт.

Самый ад начинался, когда встречались две команды бустеров, тогда читер старался сломать вражеского, при этом медленно повышая настройки. Команда ему в этом помогала, например, закрывая своего читера, чтобы тот успевал убить вражеского, пока он убивает их.

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

Как выглядит игра против крутящегося читера от лица обычного игрока

Anti-boost: Противоположное развлечение, когда 3-5 друзей шли искать других бустеров. Для этого покупалась игра, или краденные аккаунты с открытым матчмейкингом, выигрывалось несколько игр со счётом 15-0, и шанс попасть на бустеров резко возрастал. Увидев ники, содержащие слово «boost», в противоположной команде 1-5 человек подрубали на полную и шли ломать.

Как правило, анти-бустеры покупали самый сильный чит, несмотря на цену (но он не всегда был самый дорогой). В их арсенале, помимо читов, были различные тактики затягивания матча.

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

Наткнувшись на анти-бустеров, бустеры либо сдавались, либо пытались включать full rage. Как правило, анти-бустеры выигрывали почти все «стычки», поэтому бустеры быстро сдавались. Некоторые, после нескольких поражений и потери клиентов, шли пробовать разные читы. Самый «сок» был, это найти тех же типков при следующем поиске, и ещё раз сломать их с полным подрубом, заспамливая чат фразами «FREE ANTI-BOOST SERVICE».

Если у бустеров чит был не слабый, игра могла затянуться до 30 раундов, с отсидками на прострелах, закидыванием молотовыми, и повисанием в воздухе в не простреливаемых местах. Анти-бустеры, владея нужным опытом, всё равно часто выигрывали, при этом затягивая очень нужное бустерам время, и увеличивая шанс бана.

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

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

Вот как это выглядит:

Видео с комментариями, когда два читера пытаются выиграть

Одно из старых видео антибустеров. Раньше в матчмейкинге творилось именно такое

Покупались взломаные аккаунты на разных площадках, за копейки. Использовались для «одноразового» прожима или «до первого бана», и с ними шли либо буститься, либо ломать других бустеров. Совсем грустные личности шли прожимать в одиночку, на несколько игр в матчмейкинге, после чего они банились, а аккаунт выбрасывался или его в скором времени возвращал владелец. Сейчас лавочку почти прикрыли, начав блокировать все аккаунты на компьютере покупателя аккаунтов, и любителей прожать резко поубавилось.

Что имеем сейчас? С последними обновлениями, многие функции сделали невозможными. Невозможен аимбот со 100% меткостью, невозможно бежать и крутясь ломать всё на бегу. Попытки даже включить эти функции приводят к бану в течение 1-30 минут. И это хорошо.

Valve в последнее время всё чаще стали банить все аккаунты на компьютере читера (с которых он играл в период, когда играл с читами на одном из ний). Банят если общий email и телефон. В целом, я очень приветствую эти меры, и полностью поддерживаю методы, которые будут выявлять читеров и банить все их аккаунты, включая основной.

После волны банов, когда у читеров забанились основы со скинами на многие тысячи евро, «прожимающих» на ММ серверах стало намного меньше. Но, к сожалению, их там по прежнему слишком много.

Как играть против читера на примере CS

Каждому известно то неприятное чувство, когда во вражеской команде попадается читер, и вы как ни стараетесь, не можете выиграть. Забудьте о победе, потому что читер решает, выиграете вы матч или нет. Начните с репорта. После этого вашей задачей в этой игре будет развести читера на ошибки и «палево», которые Патруль сочтёт достаточными для бана. Итак, что вы можете делать?

  • Чаще пользуйтесь дымовыми гранатами. Самая частая ошибка, это когда читер стреляет в дым, якобы «простреливая». Хитрость в том, что если у него триггербот, и он простреливает дым, в котором вы стоите, пули могут уйти от прицела и попасть по вам. Или стреляя в вышедшего из дыма тиммейта, он может прожать так, что прицел прыгнет в дым после смерти тиммейта.
  • Старайтесь выходить на читера, закидывая его слеповыми гранатами. Это момент, на котором они могут спалиться. Или вообще не прожать, боясь попасть на демку.
  • Старайтесь дразнить его за углами, например, делать движение как будто вы собираетесь выйти, но не выходить.
  • Держать стандартные места, в которых читер спалится, выйдя на вас.

Популярные заблуждения и вопросы

Аимбот — это всё, что нужно читеру, и вообще у них у всех аимботы.

На самом деле аимбот – часть комплексного чита, а приватные читы с помесячной оплатой являются именно комплексными и довольно сложными читами. На публике их называют просто — ВХ или аимбот. На самом деле эти читы являются «мультихаками», просто «hacks», или P2C (pay2cheat, paycheat, и разные вариации сленга).

Читер может использовать всё что угодно, и иногда довольно сложно сказать что.

За читы не банят.

На самом деле за читы банят, хоть и не сразу. В случае с VAC, за публичный чит бан можно получить сразу. За платный — многие месяцы спустя, и, к сожалению, за это время читер успеет испортить не одну игру. Исключение могут составлять приватные читы с менее 50 пользователей, но риск быть забаненным есть всегда. Многие надеялись, что их никогда не забанят, а потом лишились основных аккаунтов со скинами на многие тысячи евро. Никогда не пользуйтесь читами.

Сами разработчики открыто заявляют, что не дают никаких гарантий. Вы пользуетесь читами на свой страх и риск, и вам никто ничего не должен.

Если я прожимаю на взломанных аккаунтах, то на основном меня никогда не забанят.

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

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

Читы может написать любой школьник.

На самом деле, качественные платные читы — это целая индустрия с миллионными доходами. Представьте, если на форуме в месяц может быть около 30. 000 активных «Premium» участников, каждый из которых заплатил как минимум €20-€25. Это больше €750. 000 евро, и да – возможно кто-то купил Lifetime, кто-то заплатил €50 за 3 месяца. Я привёл этот пример, чтобы дать вам идею о суммах, которые есть в этом бизнесе.

Естественно, читы для ESEA, ESL, EAC, стоят дороже и имеют меньшую аудиторию, но люди зарабатывают на этом не плохие деньги, и это в их интересах чтобы чит работал. Сами разработчики не считают что чем-то низким, для них это бизнес или хобби.

Как обстоят дела у Blizzard, с игрой Overwatch?

Разработчики коммерческих читов говорили в основном две вещи:

  • Защита слишком сложная и не стоит усилий,
  • Blizzard подают в суд,
  • Или как третий вариант, невнятно отнекивались о том, что «The hack was discontinued», и скорее всего причины были именно в 1. или 2. пункте.

Сейчас есть только приватки, но некоторые разработчики уже получали «письма счастья» на почту, с угрозами получить иск. К сожалению, я не следил за сценой довольно долго, поэтому не владею более глубокой информацией об OW.

Послесловие

Теперь, после того как вы ознакомились с публикацией, вам, возможно, будет легче выявлять читеров в играх, или замечать невозможные моменты. Как говорилось выше, цель публикации — рассказать, что представляет из себя мифический «аим и вх».

Если после публикации будет возможность редактировать список заблуждений (и вопросов), буду их пополнять по мере обсуждения.

Если у вас есть поправки, уточнения, критика или вопросы — буду рад их принять и услышать.

Краткая история читерства в видеоиграх

Проблема читов в онлайн-играх

Сразу с тех пор, как человечество начало играть в игры, появились люди, стремящиеся ради победы нарушать правила. Будь то шулерская игральная кость, подсчёт карт или удар бедром пинбольного автомата — можете спорить на что угодно: если есть игра с вероятностями, то кто-нибудь наверняка пытается перетянуть шансы на свою сторону.

В современную эпоху онлайн-игр и консольного гейминга ситуация не изменилась, а самые известные в истории видеоигр читы вставлены самими разработчиками. «Код Konami» (вверх, вверх, вниз, вниз, влево, вправо, влево, вправо, B, A, Start) — наверно, самый популярный из чит-кодов в истории. Он был добавлен в игру 1985 года Gradius для NES разработчиком игры Кадзухисой Хасимото, обнаружившим на этапе отладки, что игра слишком сложна.

Проблема читов в онлайн-играх

«Они вложили много сил в тестирование», — рассказал в 2014 году Red Bull Сте Пикфорд, один из разработчиков Solar Jetman, Plok и Equinox. «В эру 8-битных игр интерфейсы обычно были очень простыми, никаких огромных экранов меню, в которые можно было бы добавлять списки читов. Поэтому чит-код во фронт-энде часто использовался тестерами для быстрого попадания в разные части игры или проверки разных функций. Некоторые из них случайно оставались в релизных версиях». Возможность перескакивать практически в любое место игры экономило кучу времени во время тестирования и отладки, поэтому и появился чит выбора уровней в Sonic the Hedgehog (удерживать A, нажать вверх, вниз, влево, вправо, а после звукового сигнала нажать Start). Кроме того, такие читы выбора функций, как код ABACABB из Mortal Kombat, служили и для включения крови и мяса.

Кроме того, чит-коды могли быть полезными для резюме. «Мы создали отличный код в Ken Griffey presents Major League Baseball для SNES», — рассказывает Пикфорд. «Код переносил игрока с экрана заставки прямиком к титрам конца игры. Это позволяло всем сотрудникам отдела разработки мгновенно доказывать, что мы работали над этой игрой, ведь в те времена создатели игр не часто получали признание. Если не ошибаюсь, код был „BADBUBBA“. „Bubba“ — это школьное прозвище продюсера и дизайнера игры».

Проблема читов в онлайн-играх

Но в рабочем коде игры рылись не только разработчики. В эпоху компьютеров Commodore 64 игроки самостоятельно перед загрузкой программы вставляли команды POKE для доступа к содержимому отдельных ячеек памяти. Команда POKE присутствовала на Commodore 64, ZX Spectrum и Amstrad CPC. Она позволяла игрокам изменять различные значения и улучшать свои характеристики, включать защиту от урона и иными способами модифицировать игровой процесс. Например, введя на 8-битной системе Atari команду «POKE 755, 4», мы передадим графической карте инструкцию инвертировать весь экранный текст. Разумеется, поиск нужной ячейки памяти был процессом проб и ошибок.

К моменту, когда игровой рынок захватила компания Nintendo со своей консолью NES, эти самодельные модификации уже стали популярным занятием — игроки делились различными эксплойтами в офлайн-клубах любителей игр и через «сарафанное радио».

Читерство на 8-битных системах со временем превратилось в настоящую коммерческую отрасль: компания Codemasters выпустила картридж Game Genie, Datel выпускала Action Replay, а Mad Catz — GameShark. Например, устройство Game Genie имело версии для Sega Genesis, NES, Super NES и даже для таких портативных систем, как Game Boy и Game Gear. После перехода консолей на дисковые носители популярность приобрели устройства GameShark и Code Breaker.

Проблема читов в онлайн-играх

По сути, такие читерские системы были «командами POKE для чайников». Они работали точно так же, как и набираемые вручную POKE — получали доступ к памяти программы и изменяли значения перед запуском игры, только имели графический интерфейс, в котором могли разобраться неопытные пользователи. Такие устройства мгновенно становились хитами и способствовали наступлению «золотого века» читерства.

К середине 90-х читерство в видеоиграх стало настоящей тенденцией. Журнал Nintendo Power, который начал издаваться в 1988 году, был принят с восторгом. В издании содержалось множество советов и хитростей по прохождению самых популярных игр, а также новости игровой отрасли. Сервис Nintendo Power Line, запущенный одновременно с журналом и работавший, пока его не убил Интернет в 2010 году, предоставлял геймерам телефонную помощь профессиональных консультантов.

Журнал Tips and Tricks, впервые выпущенный в 1995 году, делал ещё больший упор на различных аспектах читерства. В нём печаталось всё, от списков популярных кодов до обзоров новых POKE-картриджей. Существовало даже целое телешоу, посвящёное читерству в видеоиграх. Шоу Cheat! было запущено в кабельной сети G4 в 2002 году и продержалось до 2009 года, выпустив аж 174 эпизодов. Хотя ни одно из этих медиа уже не существует, их популярность оказала долговременный эффект на отрасль, потому что они выполняли функции, которые сейчас выполняют сайты руководств по стратегиям, прохождениям и подсказкам.

Проблема читов в онлайн-играх

Несмотря на захват рынка консолями, разработчики игр для PC в 1990-х продолжали вставлять в свои продукты коды, экономящие время при тестировании. Возьмём для примера игру 1996 года Quake. Нажав в ней клавишу «~», можно было открыть консоль разработчика, в которую вводились любые коды, модифицирующие поведение игры. Консоль позволяла изменять состояние игрока, переключаться между уровнями, проходить сквозь стены, летать и включать режим бога. Кроме того, любую команду можно было привязать к нажатию клавиши и включать мгновенно.

Неудивительно, что такая практика используется и сегодня. Разработчикам во время тестирования по-прежнему нужно получать быстрый доступ к различным частям и ситуациям внутри игры, а предприимчивые игроки продолжают искать короткие пути к победе. Doom (2016) для PC тоже имеет столь же широкий список чит-кодов, вводимых через командную строку. Открыв нажатием Ctrl+Alt+~ консоль разработчика, игроки могут включать режим бога, получать полностью проапгрейженное оборудование и оружие или открывать неисследованные области на карте миссии. Та же история и с Fallout 4 для PC. Достаточно нажать клавишу «тильда» (~) и оторваться по полной.

Но когда вы начинаете жульничать в онлайн-играх, то это непосредственно влияет, и чаще всего негативно, на всех остальных игроков в матче. Любой, кого убивал кэмпер с aimbot и wall hack в CounterStrike: Global Offensive, может это подтвердить. Даже использование внутриигровых глитчей, например, Last Stand Grenade Trick в Call of Duty: Modern Warfare или отключение маршрутизатора перед проигрышем в партии Starcraft может испортить игру другим пользователям.

Проведённый в 2018 году среди 9 436 пользователей опрос Irdeto Global Gaming Survey показал что 60 процентов респондентов ощущали негативное влияние многократной встречи с читерами. Исследование, проводившееся среди игроков из Китая, Германии, Японии, Южной Кореи, Великобритании и США, также выявило, что 77 процентов респондентов вероятнее всего закончат играть в онлайн-мультиплеер, если подозревают, что другие игроки читерят, а 48 процентов сообщили, что с меньшей вероятностью будут покупать внутриигровой контент.

А поскольку для успеха онлайн-игры требуется масштабная и активная база пользователей, их разработчики не могут дать свободу небольшой группе читеров, портящих игру основной части сообщества. Поэтому игровая индустрия постоянно ищет способы противодействия влиянию читеров, и её методология сильно варьируется в зависимости от игр и платформ. Бан игроков за читерство уже давно является полезной мерой наказания для разработчиков игр, как и античитерское ПО наподобие PunkBuster.

Разработанная Even Balance Inc программа PunkBuster предназначена для обнаружения использования читерского ПО в онлайн-играх. Впервые она была выпущена в 2000 году для игры Half-Life. Клиент PunkBuster запускается локально в системе игрока и в реальном времени выполняет сканирование памяти в поисках известных читов, хаков, настроек клавиш или запрещённых скриптов, а серверы программы запрашивают у всех подключенных к ним клиентов частые обновления состояния (в том числе и скриншоты).

Если обнаружено, что игрок нарушает правила, то администраторы PunkBuster могут убрать его из игры на определённый промежуток времени или забанить навечно его GUID, который привязан к лицензионному ключу игры; поэтому чтобы снова начать играть, игроку придётся покупать ещё одну копию игры. В основном PunkBuster применяется в FPS и экшн-играх. Этим сервисом пользуются такие франшизы, как Battlefield, Ghost Recon, Rainbow Six, Medal of Honor и CoD, а также Assassin’s Creed, FarCry 2 и 3.

Античитерские системы существуют и на стороне сервера, и самая известная из них — это FairFight. Такие AAA-студии, как EA, Crytek, PopCap, Dice и Ubisoft, а также множество инди, используют middleware. Вместо того, чтобы устанавливаться в систему игрока и постоянно сканировать её на наличие недопустимого стороннего кода, FairFight изучает действия игрока и сверяет их с «множеством статистических маркеров для обнаружения читеров. FairFight перекрёстно проверяет эти индикаторы с помощью серверных инструментов отчётности и предпринимает меры, если результаты обеих проверок коррелируют с читерством», — объясняется на веб-сайте компании. Как только система находит вероятный чит, админы могут применять наказания различной степени строгости — от простого предупреждения до безоговорочного бана.

Система Valve Anti-Cheat (VAC) не так снисходительна. Её баны даются «навечно, не обсуждаются и не могут сниматься командой поддержки Steam», — говорится на странице поддержки Steam.

Этот полностью автоматизированный администратор находится на стороне сервера и сканирует каждого игрока, подключающегося к защищённому VAC серверу Steam. «Если пользователь подключается к защищённому VAC серверу с компьютера, на котором установлены определяемые читы, то система VAC банит игрока, запрещая ему в дальнейшем играть на серверах, защищённых VAC».

Момент, когда администраторы #eXTREMESLAND2018 поймали forsaken и он пытался удалить хак.

Команда киберспортсменов OpTic India не учла наличие VAC на турнире Extremesland Zowie Asia CS:GO 2018. Во время турнира за приз в 100 000 долларов система VAC поймала Nikhil «forsaken» Kumawat из команды OpTic на использовании aimbot. Поэтому команда без церемоний была выкинута с турнира, после чего её пришлось распустить.

Для обычных читеров это может быть серьёзной проблемой. Но для профессиональных геймеров поимка на читерстве может стать катастрофическим завершением карьеры. Недавно в этом довелось убедиться игроку в Fortnite Damion «XXiF» Cook. Однако Кука разоблачил не ИИ, а собственные фанаты.

Во время квалификационной игры для участия в Fortnite World Cup с призом в 30 миллионов долларов зрители заметили, что Кук делает невероятно удачные попадания, и заподозрили, что этот про-геймер сговорился с друзьями, которые позволяли ему убить себя, чтобы он попал на турнир. Такой вид читерства, называющийся «teaming», подразумевает, что соло-игроки объединяются друг с другом, чтобы повлиять на результат онлайн-игры. К сожалению для Epic Games, подобное поведение никоим образом нельзя отследить автоматически, потому что читерам достаточно созваниваться по телефону и координировать свои действия в реальной жизни.

Читы не всегда используются для предоставления игрокам нечестного преимущества над компьютером или живыми соперниками. В последнее время игровая отрасль начала предпринимать успешные попытки делать игры более инклюзивными и удобными для становящейся всё более разнообразной и громче заявляющей о базы игроков. Поэтому разработчики часто добавляют «читы» в качестве «пасхальных яиц», позволяющие сделать игру более доступной (и более интересной) для казуальных игроков. «Режим помощника», используемый в Super Mario Odyssey и Celeste, помогает снизить сложность геймплея, уменьшая или устраняя смертельные опасности или увеличивая параметры здоровья. В Mario Kart 8 Deluxe есть похожая функция: игра даёт игроку возможность автоматического управления или ускорения. При правильном использовании такая функция может сделать гонку против юных или менее ловких водителей более равной.

Разумеется, производители игр также видят в читах источник прибыли. Вместо того, чтобы просто так отдавать бонусы или улучшения с помощью секретных команд, издатели продают их, а игроки с радостью покупают их как DLC или внутриигровые микротранзакции. Например, Assassin’s Creed: Odyssey предоставляет игрокам возможность увеличение генерации опыта на 50 процентов, но не с помощью ввода хитрых команд, а всего лишь за 10 долларов.

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

Очевидно, что поведение таких игроков, как XXiF и forsaken вредно, как вреден подсчёт карт в покере или немного сдутые командой Patriots мячи для американского футбола. Есть читерство ради удовольствия, а есть мошенничество для заработка, и вторым заниматься точно не стоит. Однако при осмотрительном и взвешенном использовании читы могут делать игры удобными и весёлыми для каждого.

Краткая предыстория

Думаю, многие знают, что такое «IDDQD». На протяжении всей истории компьютерных игр разработчики встраивают в свои детища подобные коды, именуемые читами. Читы позволяют становиться бессмертным, получать бесконечные патроны, ресурсы и прочее. Первичное назначение таких кодов – тестирование игры. Помимо встроенных в игру читов всегда были любители самостоятельно подправить что-нибудь в игре с той же целью – стать «бессмертным». Все это хорошо в однопользовательских играх, когда человек играет со своим компьютером и никому не мешает. В многопользовательских онлайн-играх читерство уже является проблемой, способной загубить всю игру. Если один играет не по правилам, то его соперникам играть становится просто неинтересно. Причем, если в шутере это просто испорченный матч, то в RPG нарушение игровой механики или ботоводство способно перекосить всю внутриигровую экономику.

Конечно, никаких встроенных разработчиками читов в онлайн-играх нет. Но практически для любой онлайн-игры существуют читы в виде отдельных приложений. Как правило, читы при запуске вносят изменения в работающий клиент игры. Иногда изменения вносятся прямо в файлы клиента на диске.

Одной из разновидностей читов являются боты, которые сами управляют персонажем, автоматизируя рутинные действия. Казалось бы, в таких ботах нет ничего страшного. Но на самом деле есть. Если человек спит, а его персонаж сам убивает овечек на поле в автоматическом режиме, получая за это игровой опыт, то другие игроки будут расстроены таким положением вещей. Некоторые из таких ботов позволяют писать целые скрипты для управления персонажем. Тут уже возможности ограничиваются только фантазией ботовода.

  • «Надрать всем зад» для самоутверждения. Пусть и нечестно.
  • Заработать денег. Для этого нужно быстрее прокачаться, собрать ресурсы, шмотки и т.п., чтобы потом продать это за реальные деньги.

Основной мотив авторов читов/ботов — заработать денег. Наиболее качественные читы/боты продаются по подписке за реальные деньги. Есть и бесплатные читы, но они обычно начинены adware и всякими полу-вирусами, что опять же, призвано принести деньги.

Давайте рассмотрим более подробно, что и как делают читы на примере многопользовательского онлайн-шутера Warface.

Разновидности читов

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

ESP (Extrasensory perception) – разновидность читов, способных показывать дополнительную информацию о противниках в игре. К сожалению, клиент игры знает о расположении всех противников в определенном радиусе от вас, даже если они за стеной и их не видно. В шутере действия развиваются довольно быстро и если клиент будет получать от сервера информацию о противнике только когда он попал в поле видимости, то это заведомо приведет к лагам из-за сетевых задержек. Чит получает информацию о противниках через внутренние интерфейсы классов клиента и выводит ее прямо поверх игрового изображения. Это, как минимум, расположение противника в пространстве и расстояние до него. Для отрисовки поверх игрового изображения чит перехватывает один из методов Direct3D, вызывающихся каждый кадр. Например, EndScene. Все это подразумевает, что в память клиента был внедрен код чита, необходимый для отрисовки.

Aimbot – разновидность читов для автоматического прицеливания. Вам остается только бегать и спускать курок, а прицел сам по себе попадает на ближайшего противника. Можно даже выбрать часть тела, в которую нужно целиться. Расположение противника в пространстве чит получает также через внутренние классы клиента. Далее для выполнения автоматической наводки возможны варианты. Либо чит напрямую вызывает нужные методы в клиенте для поворота вашего персонажа (прицел всегда в центре вашего взгляда). Либо посылает клиенту сообщения от имени мыши для этой же цели.

Autoshot – автоматический выстрел в тот момент, когда противник оказывается в прицеле. Такой чит работает аналогично aimbot’у — информацию о расположении противника получает через внутренние классы клиента и посылает сообщение от мыши для выстрела. Часто autoshot и aimbot совмещают вместе. Тогда вам остается просто бегать, а прицеливание и стрельба выполняются читом автоматически.

Recoil – отключает отдачу при выстреле. Такие читы, как правило, просто патчат код клиента игры в памяти, отвечающий за отдачу. В результате, стрелять становится сильно проще. Кроме отключения отдачи существует еще масса читов, отключающих различные элементы и упрощающие игру. Например, отключение разброса при выстреле или отключение эффекта работы светошумовой гранаты. Некоторые из таких читов для достижения своей цели модифицируют не код, а переменные в памяти клиента.

Безусловно, это не полный список существующих читов, но уже можно составить перечень механизмов их работы:

  • Модификация кода клиента игры в памяти.
  • Модификация переменных клиента игры в памяти.
  • Вызов методов внутренних классов клиента напрямую.
  • Отправка сообщений от имени мыши.

Навесная защита

Очень болезненным для игры является модификация кода клиента. Например, для отключения некоторых элементов геймплея, воспроизводимых только на стороне клиента. С этим можно бороться путем периодического подсчета и сверки контрольной суммы всего своего кода в памяти. Но эту проверку отключат точно также: изменив код, отвечающий за нее. Тут уже нужна защита кода от анализа (обфускация) и от отладки. Самостоятельная разработка более-менее сильной защиты кода является отдельной сложной задачей, но на рынке есть готовые решения.

Защитить весь код никак нельзя. Обфусцированный код работает в разы медленнее, так как его становится в разы больше. Защищать получается только небольшие участки кода, не критичные к производительности. Например, можно как раз защитить проверку контрольной суммы всего кода. Разумеется, никакая защита кода не является панацеей. Она может лишь усложнить задачу для злоумышленника. Цель в данном случае – сделать так, чтобы стоимость взлома была выше, чем ожидаемая выгода.

Если у кода можно подсчитать его контрольную сумму, то с переменными уже сложнее. Нужно придумывать способы хранить важные с этой точки зрения переменные в зашифрованном или избыточном виде. Причем так, чтобы это не сказалось на производительности. Опять же, это не решит проблему, а лишь затруднит задачу для злоумышленника.

Допустим, от модификации кода и важных переменных клиента мы худо-бедно защитились. Но остаются читы, которым для работы не нужно модифицировать ни код, ни переменные. Например, ESP. По сути, чит берет информацию из памяти клиента и отображает ее. Но для такой функциональности в памяти клиента должен присутствовать код чита. За это уже можно зацепиться и пойти следующими путями:

  • Не дать читу попасть в память клиента.
  • Попытаться найти чит в памяти клиента.

Первый путь подразумевает запрет на запись в память процесса (WriteProcessMemory) и запрет на создание удаленных потоков (CreateRemoteThread). Обычный способ инжекта своего модуля в процесс как раз требует записать в память и создать свой поток в этом процессе. Учитывая, что чит имеет возможность работать с привилегиями администратора (читер всегда даст их), то в Windows никак нельзя запретить писать в память и создавать потоки в чужих процессах. Можно подумать в сторону создания своего драйвера, который будет блокировать доступ к процессу клиента игры. Но в ядре Windows нет документированных способов фильтровать запись в память чужих процессов (NtWriteVirtualMemory), а использование недокументированных способов сильно усложняется наличием Kernel Patch Protection. Даже если удастся заблокировать запись в свою память, то всегда будут другие дырки: можно внедрить свой код в системные библиотеки на диске.

Предполагается, что модули игры при этом защищены и запакованы защитой кода, и изменить их на диске довольно проблематично.

Второй путь подразумевает нечто похожее на антивирус: искать в памяти клиента заранее известные фрагменты читов. Тут технических препятствий не видно. Однако придется решить задачу оперативного обновления базы читов. Можно пойти дальше и искать фрагменты читов не только в памяти клиента, а во всей системе. Это на случай таких читов, которые работают в собственном процессе, а клиенту патчат код и переменные или шлют сообщения от мышки.

Есть еще третий путь: попробовать найти следы перехвата читом функций Direct3D и считать это угрозой. Чит перехватывает функции D3D для получения управления и отрисовки нужной информации каждый кадр. Но у такого варианта есть существенные проблемы. Есть немало «хорошего» софта, который делает то же самое: перехватывает те же функции D3D для отрисовки своей информации поверх игрового изображения. Например, RaidCall. А задача «отличить хороший софт от плохого» является в общем случае нерешаемой.

Разумеется, весь этот поиск читов и блокировку их внедрения можно отключить путем модификации кода, который за это отвечает. Тут единственный выход — использовать защиту кода. Но как код ни защищай, рано или поздно все-равно сломают. Понятно, что пока приложение работает на компьютере пользователя, ничто не может помешать пользователю изменить данное приложение. Это вопрос лишь времени и оправданности затрат.

Заключение

Проблему читерства в онлайн-играх не решить только лишь улучшением клиент-серверного взаимодействия. Она комплексная, и бороться с ней тоже нужно комплексными мерами. Как следствие, большинство игр имеют дополнительные специализированные программные средства для защиты от читов (античиты), и от них есть ощутимый толк. Благодаря таким системам читеры портят игровой опыт других игроков в куда меньших масштабах, чем могли бы.