Valve Anti-Cheat (сокращённо: VAC) — инструмент компании Valve, разработанный для предотвращения использования игроками читов (нечестных приемов игры). Данная программа является одним из компонентов Steam.

Предупреждение VAC при загрузке карты

VAC был впервые стал доступен в Counter-Strike 1.4 в 2002 году. Впоследствии Valve решила окончательно отказаться от PunkBuster, предпочтя продвигать свою систему.

VAC2 работает в играх на движках GoldSrc, Source, Unreal 2, IW engine, начиная с версии 3.0 по 6.0. VAC2 включен в Source SDK.

Принципы работы

править

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

Обнаружив постороннее вмешательство, которое подходит под определение читерской программы, VAC-модуль сообщает об этом на центральные сервера VAC в Valve. Туда же отправляется подробная информация о типе вмешательства, данные об аккаунте и т. п. При поступлении данных о нарушении на сервера VAC в записи аккаунта-нарушителя в центральной базе Steam выставляется флаг «читер» и запускается обратный отсчет времени (от недели до двух месяцев), по истечении которого флаг меняется на «заблокирован» и аккаунту отказывается в доступе на любые сервера, защищенные VAC. Это необходимо для того, чтобы нельзя было точно определить, обнаружена ли уже данная программа для модификации игр или нет.

Следующие факторы не вызывают срабатывание системы:

  • Если при запуске основанной на архивах GCF программы через Steam файлы формата exe или dll оказываются измененными, то Steam изменяет их на исходные (хранящиеся внутри GCF-архива), не вызывая срабатывание VAC. Если файлы были изменены и игра либо запускается напрямую (например hl.exe), либо основана на распакованных файлах, то сервер не пустит клиента при проверке версии игры (изменение dll игры), что не приведёт к срабатыванию системы. Однако если изменение самого exe-файла или некоторых dll-файлов движка сервер не обнаружит при входе, то в этом случае VAC может сработать.
  • Консольные команды
  • Использование эксплойтов игр.
  • Замена моделей и/или материалов на более заметные, прозрачные и т. д.

VAC в значительной степени неэффективен против программ для обхода защиты, работающих в режиме ядра (через собственный драйвер), поскольку сам анти-чит работает в пользовательском режиме, в отличие от более продвинутых анти-читов (например, Easy Anti-Cheat или BattlEye).

Блокировка аккаунта

править
 
Список серверов после блокировки. Вместо знака щита — перечёркнутая красная окружность

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

Система VAC напрямую зависит от Steam — использование VAC невозможно на неофициальных серверах. Игроки могут использовать только лицензионную Steam-версию игр с запущенным клиентом Steam для возможности игры на защищённых серверах — если на аккаунте Steam игра не зарегистрирована или вместо неё используется эмулятор, система препятствует входу пользователя на официальные серверы, в том числе защищённые VAC — вход становится возможным после регистрации игры на аккаунте. Поэтому игры, продаваемые в Steam, которые в розничной продаже не используют регистрацию в Steam, например Call of Duty 4: Modern Warfare, не защищаются системой VAC, для обеспечения совместимости с другими версиями.

Поддержка многопользовательских модификаций

править

Поскольку VAC не может определить, являются ли изменения внутри файлов формата dll и exe игры читом, он блокирует всех пользователей, играющих на защищённых серверах с изменёнными файлами. Однако разные мультиплеерные модификации как правило имеют изменённые файлы dll. Поэтому для сетевых модов, вносящих изменения характеристик или использующих собственный геймплей создаются специальные официальные VAC-сервера, если создатели мода договорились с Valve о создании таковых. В этом случае также возможно использование только оригинальных exe и dll-файлов мода. Если к моду выходит обновление, затрагивающее изменение этих файлов, то при попытке входа пользователя на защищённый сервер VAC не банит его, а сообщает о другой используемой на этом сервере версии, препятствуя входу на сервер. При попытке зайти на защищённый сервер система проверяет наличие регистрации базовой версии игры для этого мода, препятствуя входу нелицензионных пользователей.

Особенности системы

править
  • Valve Anti-Cheat может работать только совместно с запущенной системой Steam и только на Steam-версиях игр.
  • Для блокировки игрока, использующего читерские программы Valve Anti-Cheat использует аккаунт системы Steam.
  • Защищённые серверы помечены в игре знаком щита.
  • Техническая поддержка Valve не снимает блокировки с аккаунтов ни при каких условиях. За исключением случаев, когда блокировка была применена ошибочно.
  • По заявлению Valve, у VAC не бывает ложных срабатываний. На самом деле были случаи, когда некоторые аккаунты попадали в список заблокированных, при этом данное явление было связано не с ошибочной работой VAC, а с неисправностью серверов Valve, однако впоследствии Valve сняла блокировку с ошибочно заблокированных аккаунтов.
  • После блокировки пользователь может играть только на незащищенных серверах.
  • В играх серии Call of Duty, начиная с Modern Warfare 2 и заканчивая Advanced Warfare, блокировка аккаунта препятствует входу в многопользовательский режим.

См. также

править

Примечания

править
  1. Valve Anti-Cheat System (VAC). Дата обращения: 11 октября 2012. Архивировано 27 декабря 2009 года.

Ссылки

править