Документация Steamworks
Античит Valve (VAC) и игровые блокировки

Введение

Steam предоставляет несколько инструментов для предотвращения читерства в сетевых играх. Вне зависимости от того, решите ли вы использовать API наших античитов или собственное техническое решение, обязательно предупредите пользователей о наличии подобной системы. Кроме того, у вас должен быть внутриигровой интерфейс с ясным объяснением системы блокировок.

Для ознакомления с античитами и общими рекомендациями посмотрите презентацию на Steam Dev Days под названием «Античит для многопользовательских игр» (слайд-шоу)

https://www.youtube.com/watch?v=hI7V60r7Jco

Система VAC


Античит Valve (VAC) — это автоматизированная система, созданная для обнаружения читов, установленных на компьютерах пользователей. Если пользователь подключится к защищённому системой VAC серверу с компьютера, на котором установлены распознаваемые читы, он будет заблокирован системой и больше не сможет играть в эту игру на серверах с защитой VAC.

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

Смотрите раздел документации Интеграция системы VAC, чтобы узнать больше.

Игровые блокировки


Игровые блокировки позволяют воспользоваться инфраструктурой Valve вместо внедрения собственной системы отслеживания и применения блокировок. Если вы заблокируете игрока с помощью веб-API ICheatReportingService/RequestPlayerGameBan, блокировка будет видна всем пользователям на профиле Steam заблокированного игрока.

Рекомендации

Вот список рекомендаций при использовании античита Steamworks. Если вам необходимы более подробные рекомендации, обращайтесь к указанному выше видео.
  1. Запуск серверов для вашей игры настоятельно рекомендуется. Наличие сервера, который управляет состоянием игры и отправляет его данные пользователю только в случае необходимости, может помочь предотвратить читерство. Примером может служить передача данных позиции игрока только при необходимости. Сервер также может влиять на позицию игрока или другие состояния игры для того, чтобы помешать манипуляциям со скоростью или неуязвимостью.
  2. Если ваша игра использует пиринговую сеть, каждый из игроков должен подтвердить всех других, чтобы у создателя сессии не было полного контроля над состоянием игры, что может привести к читерству или обходу ограничений.
  3. Когда вызов API аутентификации пользователей ISteamGameServer::BeginAuthSession возвращает k_EAuthSessionResponseVACCheckTimedOut, пользователь должен быть удалён с сервера, поскольку система VAC либо не в состоянии совершить проверку пользователя, либо состояние пользователя указывает на запуск читов.
  4. Если пользователя заблокировали или выгнали из игры, он должен получить ясное внутриигровое сообщение, объясняющее причину невозможности участия в игре.
  5. Игровые блокировки предусмотрены лишь для предотвращения читерства. Их необходимо применять только по отношению к игрокам, нечестно получившим преимущества при использовании контента и услуг многопользовательского режима.

Права, необходимые для редактирования правил борьбы с читами

Кто может устанавливать или редактировать правила борьбы с читами для моего продукта?
Только определённые аккаунты издателей имеют разрешения устанавливать или изменять подобные правила для ваших продуктов в Steam. Если у вас нет необходимых разрешений, описанных ниже, вам потребуется обратиться к одному из ваших администраторов в Steamworks (это пользователи, у которых есть возможность выдавать разрешения). Список ваших администраторов Steamworks находится в правой колонке на главной странице Steamworks (если только вы сами не являетесь администратором).

Следующие разрешения требуются отдельному аккаунту, чтобы устанавливать или изменять правила борьбы с читами для продукта:
  • Ваш аккаунт должен обладать разрешением «Управление подписями» для продукта, о котором идёт речь. Обратитесь к разделу Управление аккаунтом Steamworks, чтобы узнать больше.

Ограничения, связанные с подарочными копиями

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

Частые вопросы

В. Как блокировка VAC или игровая блокировка влияют на пользователей?
О. Если аккаунт пользователя заблокирован с помощью одной из наших систем блокировок, произойдёт следующее:
  • Аккаунт не сможет подключиться к защищённым серверам приложений, в которых была получена блокировка.
  • Блокировка будет видна в профиле сообщества Steam.
  • Аккаунт больше не сможет поделиться играми с включённой системой VAC.
  • Если пользователь получил доступ к игре с помощью функции Family Library Sharing, её владелец также подвергнется блокировке.

Дополнительную информацию можно найти в следующих статьях с ответами на частые вопросы пользователей: Античит Valve (VAC), Меня заблокировала система VAC и Блокировка разработчиком игры (игровая блокировка).

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