VAC (Valve Anti-Cheat) - античит-система от компании Valve. Особенность этой системы заключается в том, что она является компонентом системы Steam, а это значит, что на неофициальных серверах (no-steam) VAC полноценно функционировать не способен. Так же стоит заметить, что отдельной серверной части VAC не существует как таковой, т.е. система VAC встроена в официальную сборку Steam-сервера. Впервые VAC появился на сцене игроиндустрии Valve 2002-м году, а именно он был интегрирован в игру Counter-Strike 1.4. В дальнейшем, Valve решила полностью отказаться от своей предудыщей античит-системы PunkBuster и предпочла продвигать своё новое творение - Valve Anti-Cheat.
Как работает VAC?
* Модуль VAC загружается в память клиента и следит за тем, чтобы посторонние процессы не вмешивались в игру. Фактически любая программа, вторгающаяся в адресное пространство запущенного процесса HL2.exe может быть расценена как чит.
* Обнаружив постороннее вмешательство, которое подходит под определение чита, VAC-модуль сообщает об этом на центральные сервера VAC в Valve. Туда же отправляется подробная информация о типе вмешательства, данные об аккаунте и т.п.
* При поступлении данных о нарушении на сервера VAC, в записи аккаунта-нарушителя в центральной базе Steam выставляется флаг "читер" и запускается обратный отсчет времени (обычно от недели до двух месяцев), по истечению которого флаг меняется на "забанен" и аккаунту отказывается в доступе на любые сервера, защищенные VAC.
* Если вы видите читера на сервере, не важно насколько откровенно он читерит - его не выкинет вдруг с сервера с сообщением "забанен VAC2".Кара настигнет его гораздо позже. Этот механизм сделан для того, чтобы читеры не могли с какой бы то ни было уверенностью узнавать, ловится ли конкретный чит VAC'ом или нет. Непосредственная же защита игры от читеров как и раньше лежит на админах.
* VAC2 вас никогда не забанит за различного рода скрипты, модели, скины и т.п. Все это не попадает под определение "чит" с точки зрения VAC. Однако вас могут забанить за наличие программ, вторгающихся в память процесса hl2.exe. Сюда попадают явные читы, различные программы для "ускорения работы Windows", любые программы перехватывающие информацию от видео-драйверов и т.п. Будте внимательны с программами которые ставите!
* Если вас забанил VAC2 - шансы на разбан нулевые. Valve обладает подробнейшей информацией о том, за что конкретно вас забанили и отмазаться не удастся.
Принцип работы VAC?
Как только читер использует чит во время игры на защищённом сервере, информация об этом поступает на центральный сервер Valve. После этого спустя некоторое время аккаунт в системе Steam блокируется перманентно, без возможности разблокировки. Для определения чита, VAC следит, чтобы никакие программы не вмешивались в процессы игры. Если такое вмешательство будет зарегистрировано, то данные отправляются в Valve. Далее происходит сопоставление полученной информации с базой читов Valve. Если факт использования читов подтвержден, запускается обратный отсчет до блокировки аккаунта (от нескольких часов, до нескольких недель). Это необходимо для того, чтобы нельзя было точно определить, известен ли системе на данный момент конкретный чит или нет. Система реагирует только на вмешательство в процессы уже запущенной игры.
Следующие факторы не вызывают срабатывание системы:
* Если при запуске программы exe или dll через Steam файлы оказываются измененными, то при их запуске Steam изменяет их на исходные (хранящиеся внутри GCF-архива) и это не вызывает срабатываения VAC. Если же файлы были изменены и игра запускается напрямую через hl.exe или hl2.exe, при подключении к VAC-серверу происходит срабатывание системы VAC.
* Консольные команды
* Использование эксплойтов игр
* Замена моделей и/или материалов на более заметные, прозрачные и т.д. Для того, чтобы избежать подобных приемов, сервер должен использовать опцию sv_pure.
Особенности системы VAC
* Valve Anti-Cheat может работать только совместно с запущенной системой Steam и только на Steam-версиях игр.
* Для бана читера VAC использует аккаунт Steam.
* Защищенные сервера помечены в игре знаком щита.
* Все блокировки перманентны, то есть техническая поддержка Valve не снимает блокировки с аккаунтов ни при каких условиях. По заявлению Valve, у VAC не бывает ложных срабатываний. На самом деле были случаи, когда некоторые аккаунты помечались как забаненные, при этом данное явление было связано не с ошибочной работой VAC, а с неисправностью серверов Valve, однако впоследствии Valve сняла блокировку с ошибочно забаненных аккаунтов.
* Блокирование читера происходит спустя значительный промежуток времени. От нескольких дней до нескольких недель.
* После бана игра возможна только на незащищенных серверах.
* Поддержка мультиплеерных модификаций
Поскольку VAC не может определить, являются ли изменения внутри файлов dll и exe игры читом, он блокирует всех пользователей, играющих на защищённых серверах с изменёнными файлами. Однако разные мультиплеерные модификации как правило имеют изменённые файлы dll. Поэтому для сетевых модов, вносящих изменения характеристик или использующих собственный геймплей создаются специальные официальные VAC-сервера, если создатели мода договорились с Valve о создании таких серверов. В этом случае также возможно использование только оригинальных exe и dll-файлов мода. Если к моду выходит обновление, затрагивающее изменение этих файлов, то при попытке входа пользователя на защищённый сервер VAC не банит его, а сообщает о другой используемой на этом сервере версии, препятствуя входу на сервер. При этом при попытке зайти защищённый сервер система проверяет наличие регистрации базовой игры для этого мода, препятствуя входу нелицензионных пользователей.
* Индикатор того, что ваш аккаунт забанен VAC — если вы получаете это сообщение, когда пытаетесь получить доступ к защищенному VAC-серверу:
«Your connection to this secure server has been rejected. Because of past cheating violations, you have been banned from playing on all secure servers»
сообщение об ошибке, заявляющее «STEAMID IS BANNED» (или другие подобные сообщения) , когда пытаетесь подключиться к серверу, ваш аккаунт не забанен VAC — администраторы сервера могут забанить вас с отдельного сервера.
Если вы находите, что вы забанены с большого числа серверов, но ваш статус VAC активен, вас, вероятно, забанил сторонний инструмент для банов, такой как Steambans или Punkbuster. Эти сторонние инструменты используются большим числом серверов, делящихся общей базой данных забаненных ID. Эти инструменты не связаны со Steam.