Valve Anti-Cheat (сокращённо: VAC) — разработка компании Valve, для предотвращения использования игроками читов (нечестных приемов игры). Данная разработка является одним из компонентов Steam.
VAC был впервые доступен в Counter Strike 1.4 в 2002 году. Впоследствии, Valve решила окончательно отказаться от PunkBuster, предпочтя продвигать свою систему.
VAC2 работает в играх на движках GoldSource, Source, Unreal 2 и IW 4.0. VAC2 включен в Source SDK.
Принципы работы:
Как только игрок использует чит во время игры на защищённом сервере, информация об этом поступает на центральный сервер Valve. После этого спустя некоторое время аккаунт в системе Steam блокируется перманентно, без возможности разблокировки.
Для определения чита, VAC следит, чтобы никакие программы не вмешивались в процессы игры. Если такое вмешательство будет зарегистрировано, то данные отправляются в Valve. Далее происходит сопоставление полученной информации с базой читов Valve. Если факт использования читов подтвержден, запускается обратный отсчет до блокировки аккаунта (от нескольких часов, до нескольких недель). Это необходимо для того, чтобы нельзя было точно определить, известен ли системе на данный момент конкретный чит или нет.
Система реагирует только на вмешательство в процессы уже запущенной игры.
Следующие факторы не вызывают срабатывание системы:
● Если при запуске основанной на архивах GCF программы через Steam файлы exe или dll оказываются измененными, то при их запуске Steam изменяет их на исходные (хранящиеся внутри GCF-архива) и это не вызывает срабатывания VAC. Если файлы были изменены и игра либо запускается напрямую через hl.exe или hl2.exe, либо основана на распакованных файлах, то сервер просто не пустит клиента при проверке версии игры (изменение dll игры), что не приведёт к срабатыванию системы. Однако изменение самого exe и некоторых dll-файлов движка может быть не обнаружено сервером при входе, и в этом случае VAC может сработать.
● Консольные команды.
● Использование эксплойтов игр.
● Замена моделей и/или материалов на более заметные, прозрачные и т. д. Для того, чтобы избежать подобных приемов, сервер должен использовать опцию sv_pure
Блокировка аккаунта:
При обнаружении использования читов, VAC блокирует все ваши игры на том движке, на котором была игра. Система VAC напрямую зависит от Steam — использование VAC невозможно на неофициальных no-steam-серверах. Игроки могут использовать только лицензионную Steam-версию игр с запущенным клиентом Steam для возможности игры на защищённых серверах — если на аккаунте Steam игра не зарегистрирована или вместо программы Steam используется её эмулятор, система препятствует входу пользователя на официальные серверы, в том числе защищённые VAC — вход становится возможным после регистрации игры на аккаунте. Поэтому игры, продающиеся в Steam, которые в розничной продаже не используют регистрацию в Steam, например Call of Duty 4: Modern Warfare, не защищаются системой VAC, для обеспечения совместимости с другими версиями. Однако, как было замечено многими администраторами и игроками, множество non-steam серверов (создаются путём взлома программного кода файла engine.dll / engine.so) по необъяснимым причинам могут использовать систему VAC и любой нелицензионный пользователь спокойно может заходить на защищённый сервер.
Особенности системы:
● Valve Anti-Cheat может работать только совместно с запущенной системой Steam и только на Steam-версиях игр.
● Для бана читера VAC использует аккаунт Steam.
● Защищённые серверы помечены в игре знаком щита.
● Все блокировки перманентны, то есть техническая поддержка Valve не снимает блокировки с аккаунтов ни при каких условиях.
● По заявлению Valve, у VAC не бывает ложных срабатываний. На самом деле были случаи, когда некоторые аккаунты помечались как забаненные, при этом данное явление было связано не с ошибочной работой VAC, а с неисправностью серверов Valve, однако впоследствии Valve сняла блокировку с ошибочно забаненных аккаунтов.
● Блокирование читера происходит спустя значительный промежуток времени. От нескольких дней до нескольких недель.
● После бана игра возможна только на незащищенных серверах.