Modern Warfare 2 - Рай для чітерів

content auto translated from {from}

Рай для читів

Рай для читів – саме так можна описати той кошмар, яким гра стала за 4,5 місяці свого існування. Виною тому послужила ненависна всім система матчмейкінгу IWNet, що надає гравцям повну безкарність і свободу дій. Саме це так приваблювало читів – адже в інших онлайн-шутерах вони могли веселитися лише до приходу адміністратора. Ну або, в гіршому випадку, до тих пір, поки інші гравці не наберуть достатню кількість голосів на кік/бан.

Як вам відомо, в Modern Warfare 2 немає ні адміністраторів, ні голосування. Бідним гравцям, окрім як покинути сервер, нічого не залишалося. Врешті-решт, до цього звикли, і при появі читера багато одразу йшли шукати інше лобі. Але кількість читів, що так приваблювали бажана свобода, зростала геометрично. Навіть VAC, що мав репутацію найефективнішого інтегрованого античита, не був для них перешкодою. Хоча, нічого дивного, оскільки 15 грудня BlackDove (досить відомий кодувальник у «чит-тусовці») виклав на YouTube відео про знайдену ним вразливість, використовуючи яку можна блокувати роботу VAC.

Proof-відео BlackDove

В інтерв'ю порталу modernwarfail2.com він заявив, що жодних хаків для відключення античита він створювати не буде, оскільки вбивати мультиплеєр у його плани не входило. На питання «Яким чином стало можливим відключення античита?», BlackDove ухильно сказав щось про погану інтеграцію між грою і античитом.

Сказав BlackDove своє слово чи ні, зараз вже не відомо, але 28 грудня з'явився перший VAC Disabler, який, як ви, мабуть, вже зрозуміли з назви, служив для відключення античита. Хоча «відключення» - це гучно сказано, але ми не будемо заглиблюватися в технічні подробиці. Куди важливішим було те, що це був не фейк і програма дійсно працювала.

Самий перший паблік VAC Disabler

Після виходу цієї програми читів стало не просто багато...

Ті гравці, для яких раніше VAC був своєрідним бар'єром, відчули свободу і вирішили спробувати, що це таке... Не дарма кажуть, що читі подібні наркотикам. Перефразовуючи відомий слоган - «Спробувавши раз, читаю й зараз!» І справа тут навіть не в відсутності скіла.

Масло у вогонь підлили і самі Infinity Ward, в черговий раз давши нам привід лаяти їх за лінощі та феноменальну криворукість, гідну, мабуть, Книги Рекордів Гіннесса. Через кілька днів після релізу гри, народні майстри знайшли спосіб відкрити developer-консоль, яка відкривала по-справжньому величезні можливості в мультиплеєрі... Infinity Ward відреагували незворотньо: випустили патч, який, на їхню думку, видаляв і злощасну консоль.

Поки Infinity Ward підраховували прибутки і спілкувалися з журналістами про свої плани на майбутнє, гравці, порившись у ігрових ресурсах, виявили, що консоль ціла, і більше того, її можна розлочити і... повернути грі виділені сервери! Правда, можливості Connect IP, яку от уже скільки нам обіцяють Текногоди, тут не було, але, незважаючи на це, консоль дозволяла робити чимало кумедних речей.

Як гриби після дощу стали з'являтися консоль анлокери, а за ними і, створені з їхньою допомогою, фан-сервери, де можна було вдосталь напригатися з низькою гравітацією і влаштувати справжній ад, ведучи вогонь з літака 105 мм снарядами без перезарядки. Була навіть сервери, де за раунд можна отримати стільки очок, що їх би вистачило на цілий престиж. Не обійшлося і без серверів, раунд на яких закінчувався значною втратою експи... (Level-Down сервери, про які ми вже писали).

Але і це ще не саме жахливе.

Російський (це важливо!) кодувальник Паравоз знайшов спосіб грати в мультиплеер на піратці. На піратці разом з власниками ліцензійної копії. Через демо-версію гри Zero Gear. Дивно, чи не так?

Але як?

З папки Zero Gear видалялися всі файли, а замість них туди копіювалося вміст папки з Modern Warfare 2. Після чого steamapi.dll змінювався на патчений і... запускаючи Zero Gear, ми насправді запускали Modern Warfare 2. Steam вважав, що ми перебуваємо в Zero Gear, а отже, ми проходили авторизацію... А так як ми були, на думку Steam, грали в аркадний гоночний симулятор Zero Gear, то і VAC, якого тут немає, був неактивний... У тих, хто боявся грати навіть з VAC Disabler, опинилися розв'язані руки. Читити на піратці стало абсолютно безпечно.

Zero Warfare 2

VAC Disabler, консоль, піратка і десятки тисяч читів. Це був безсумнівно фейл року.

Реванш

Infinity Ward, на яку здійснювало тиск Activision, більше не могли сидіти, склавши руки, і почали шукати вихід. Можливо, що саме в той момент вони гірко пошкодували про своє рішення замінити виділені сервери на IWNet, що виявився насправді жахливою пародією на систему консольного матчмейкінгу. Але шляху назад вже не було. Точніше, він був, але про повернення виділених серверів вони і слухати не хотіли.

У січні 2010 ситуація накалилася до межі..

Першим ділом Infinity Ward випустили оновлення гри, в якому заблокували можливість використовувати змінну scr_xpscale. Тепер, якщо один з гравців на сервері за раз отримував очок більше, ніж було належного (наприклад, 5000 за вбивство замість 50), то сервер автоматично відключався, викидаючи всіх гравців, включаючи хостера, до головного меню. Тобто, тепер через ігрову консоль хостер не міг змінювати значення scr_xpscale. Це дозволило вирішити проблему з Level-Down серверами. Також тепер з забаненого акаунту більше не можна було увійти в гру. Якщо раніше гравець міг приєднатися до сервера, і тільки потім його викидало з помилкою:

то тепер гра просто крашилася в головному меню:

А Valve, в свою чергу, ускладнили систему Steam авторизації, що виключило можливість використовувати Zero Gear для гри в мультиплеер. І фатальність: головний сервер IWNet більше не дозволяв приєднуватися клієнтам з версіями, що відрізняються від поточної.

Халява закінчилася. Тепер платіть.

Тепер піратчики не могли грати навіть один з одним.

Також Valve закрили всі відомі вразливості, що використовуються хаками для порушення роботи античита. Це спричинило хвилю масових банів в середині лютого. Але це ще далеко не все: VAC тепер перевіряв цілісність виконуваних файлів гри, відстежуючи в них будь-які зміни. Тепер використання ігрової консолі призводило до бану. Фан-серверів практично не залишилося - адже кому захочеться ризикувати акаунтом заради двох-трьох днів гри?

Другим подією було зміна системи матчмейкінгу, що стало, мабуть, справжнім головним болем для читів. Цікаво, що досі ніяких офіційних коментарів з цього приводу від Infinity Ward не надходило.

19 лютого на багатьох чит-форумах з'явилися повідомлення про проблеми з пошуком серверів.

- Раніше мені варто було вибрати будь-який режим, і мене тут же закидало на якийсь ігровий сервер! – в паніці писали читери. - Зараз замість 19 ігор у мене знайдено не більше 1. А через 10-15 хвилин мене кидає на якийсь сервер, але, %$#, на ньому повно читів!

Дійсно, що ж це за %$#? І як воно працює?

Гравці, що мають занадто велике співвідношення вбивств до смертей, автоматично потрапляли в особливу групу. Усі, хто в ній перебував, могли грати лише з іншими гравцями з цієї групи. Будучи тут, потрапити в нормальне лобі вже не вдасться.

Саме цим і було обумовлено тривалий пошук серверів – гравців в цій групі було мізерно мало в порівнянні з загальною кількістю підключених до IWNet.

На якому принципі гра додає гравців сюди? Наприклад, якщо у вас за статистикою 30000 вбивств і, припустимо, 1000 смертей, то ви маєте всі шанси скласти компанію аимботчикам і ПРО-кемперам. Хоча останніх, думаю, тут мало. Адже щоб потрапити туди, треба бути по-справжньому диявольським кемпером. Повірте, жоден нормальний гравець не матиме загального співвідношення вбивств до смертей більше 10, так що турбуватися у цьому відношенні не варто.

Експеримент

Щоб ви краще зрозуміли, як працює нова система, я провів невеликий експеримент, для якого мені знадобилося два ключі Modern Warfare 2, простенький чит з функцією «Аимбот» і, нарешті, програма «Easy Account» (для експортування і імпортування ігрової статистики).

Створивши новий Steam аккаунт, я активував перший ключ і, увімкнувши чит, увійшов в гру. Режим обрав «Наземний бій» (як найбільш м'ясний).

Першу картку я завершив з K/D 10:0. Тобто, 10 вбивств і 0 смертей. Ніяких проблем з пошуком сервера поки немає (для уникнення помилок після кожної карти, я виходив із гри і, дождавшись синхронізації, заходив знову).

На другій карті я збільшив кількість вбивств рівно в 2 рази, завершивши гру з K/D 20:0. Проблем з пошуком все ще немає.

На наступній карті я вирішив суттєво збільшити розрив між вбивствами і смертями. Раунд завершив з K/D 60:6. Поки ситуація не змінилася – пошук сервера становив не більше 5 секунд, і при цьому знайшлося, як завжди, 19 ігор.

На четвертий раз мій K/D склав 70:3.

І ось воно! Вже при наступній спробі увійти в будь-який з ігрових режимів почалися проблеми з пошуком (Знайдено ігор – 1 замість 19). Сам пошук зайняв аж цілих 7 хвилин. Нарешті почала завантажуватися карта Rust з режимом «Кожен сам за себе». Як я і очікував, це виявився хакерський сервер. Гравців тут було семеро і, принаймні, у трьох був аимбот.

Мета досягнута: Загальний K/D становить ~ 150:10. Саме за такого співвідношення нас запхнули в групу з обмеженим доступом. Але це зовсім не означає, що якщо ви за раунд наберете 150:10 або щось подібне, то ви потрапите туди ж. Просто 150:10 – для мене це загальне співвідношення вбивств до смертей, оскільки я грав всього 4 карти.

Тепер пора підтвердити або спростувати чутки про те, що скидання статистики дійсно може вирішити проблеми з пошуком лобі.

З допомогою «Easy Account» бекапимо нашу поточну статистику (експорт), після чого її скидаємо.

Easy Account

Зробити це можна наступним чином:

  1. В директорії Steam (x:/Steam) видаляємо папку userdata.

  2. В директорії гри заходимо в папку players і стираємо звідти все, крім config.cfg та config_mp.cfg.

Заходимо в гру: я рядовий і жодних проблем з пошуком серверів у мене більше немає. Для чистоти експерименту граю одну карту і, досягнувши 3 рівня, виходжу з гри. Після синхронізації ще раз заходжу і ще раз переконуюся, що проблема з пошуком вирішена.

Цей акаунт нам поки не знадобиться, але ми повернемося до нього через кілька днів, щоб дізнатися, як швидко нас забанять за аимбот.

Тепер реєструємо новий Steam акаунт і активуємо на ньому другий куплений ключ. Перший час ходили чутки, що проблеми з пошуком серверів свідчать про те, що акаунт помічений прапором «Читер» і через кілька днів буде забанений. Я сам був прихильником цієї версії. Зараз у нас є чудова можливість підтвердити це або спростувати, чим ми й займаємося. Запускаємо гру, свертаємо. Запускаємо «Easy Account», яким імпортуємо попередньо збережену статистику з минулого акаунта. Обов'язково виходимо з «Easy Account» (в іншому випадку нас надалі можуть забанити) і вибираємо будь-який ігровий режим. Ага! «Знайдено ігор 1» - проблеми з пошуком сервера нікуди не зникли, отже, прапор тут ні при чому.

Пробую друга і він запрошує мене до себе в конференцію, звідки я потрапляю на нормальний сервер. Граю три карти. Точніше, правильніше буде сказати - дохну три карти підряд:

Ітоги першої карти: 1 вбивство 34 смерті.

Ітоги другої карти: 0 вбивств 60 смертей.

Ітоги третьої карти: 2 вбивств 46 смертей.

Вважаючи, що цього буде цілком достатньо, покидаю сервер і, вибравши режим «Наземний бій», пробую пошук: «Знайдено ігор 19». Пошук тривав не більше 2 секунд, і мене закинуло в лобі. Більше проблем з пошуком серверів не було.

Мені нова система подобається. Залишилося тільки заблокувати можливість редагувати статистику, і читери більше не представлятимуть для нас жодної небезпеки. Обійти всіх, як раніше, у них вже не вийде, адже потрібно буде постійно стежити за своїм K/D, інакше вони ризикують скласти компанію своїм товаришам у групі з обмеженим доступом.

Але в будь-якому випадку, початок покладено непогане.

Даний експеримент проводився 22 лютого з 17 до 21 години за московським часом. Перший акаунт, на якому ми грали з читом, було забанено 25 лютого (припускаю, вранці). Як бачите, термін від виявлення чита до бана склав менше трьох днів.

Test Acc #01

На другому акаунті жодних проблем з пошуком сервера більше не спостерігалося.

Unku aka Chillko for ModernWarfare2.Ru

Березень 2010