Steamworks 문서
VAC 통합

목표 및 방법론

VAC의 목표는 부정행위를 하다가 발각된 사용자에게 강력한 불이익을 주고, 부정행위를 사용하는 커뮤니티가 부정행위가 적극적으로 감지되고 있다는 사실을 알기 어렵게 만들어, 사용자의 치트 소프트웨어 사용을 적극 방지하는 것입니다. VAC는 Steamworks 및 Steam 클라이언트의 구성 요소로, 게임이 실행되는 동안 사용자의 시스템을 스캔하여 부정행위를 감지합니다. 바이러스 스캐너와 비슷한 방식으로 운영되며, 알려진 부정행위를 감지하기 위한 데이터베이스를 가지고 있습니다. 부정행위가 감지된 사용자의 계정은 차단 대기 상태로 표시됩니다. 차단은 즉시 효과가 나타나지 않고, 부정행위를 감지한 후 며칠이 지나면 실행됩니다. 사용자 차단이 실행되면 사용자는 더 이상 보안 서버로 표시된 멀티플레이어 게임 서버에 연결할 수 없습니다. 차단은 사용자의 계정에 직접 적용되기 때문에, 사용자가 차단에서 벗어나려면 새로운 Steam 계정을 만들어 게임을 다시 구매하는 방법밖에 없습니다.

사용자에게 VAC 차단이 적용되면 다음과 같은 조치가 내려집니다.
  • 해당 계정에 차단 조치를 내린 AppID의 보안 서버에 접속할 수 없습니다
  • Steam 커뮤니티 프로필에 차단 사실이 공개됩니다
  • 해당 계정으로 VAC 지원 게임을 더 이상 공유할 수 없습니다
  • 사용자가 가족 라이브러리 공유를 통해 게임을 이용했다면, 게임의 실제 소유자에게도 차단이 적용됩니다.
자세한 내용은 고객용 FAQ인 VAC(Valve Anti-Cheat) 시스템 페이지와 VAC 차단을 당했습니다 페이지를 통해 확인하실 수 있습니다.

요구 조건

멀티플레이어
VAC는 게임 서버 정보에 의존하여, VAC로 차단된 사용자를 게임에서 차단합니다. 그러므로 VAC는 멀티플레이어 게임에서만 작동하며 싱글플레이어 게임에는 아무 영향을 주지 않습니다.

VAC는 Steamworks 인증 API가 필요합니다.
인증은 Steam 인증 API를 통해 게임 클라이언트와 서버에서 실행되어야 합니다.

Anti-Cheat API 활성화
앱 관리자 패널의 Anti-Cheat 구성 페이지에서 설정할 수 있습니다. 게임 차단을 적용하고 VAC가 앱 내의 부정행위를 감지하도록 하려면, 이 API를 반드시 활성화해야 합니다.

부정행위를 적극적으로 찾는 개발자
VAC는 개발자가 신고한 부정행위만 감지합니다. Valve는 자동 또는 수동으로 부정행위를 적극적으로 찾아내지는 않습니다. 당사에서 부정행위를 분류하고 부정행위 감지 시스템에 추가할 수 있도록 ICheatReportingService/ReportCheatData 웹 API를 통해 부정행위를 신고하고 valveanticheat@valvesoftware.com으로 알려주시기 바랍니다.

보안 게임 서버

‘보안’ 게임은 부정행위를 하다 발각된 사용자가 참여할 수 없는 게임을 말합니다. 런타임 중 게임의 개별 세션을 보안 또는 보안 되지 않은 게임으로 선택할 수 있습니다. 정책 적용 여부는 귀사의 선택에 달려있으나, 기본적으로 보안된 게임은 사용자가 게임을 보안 되지 않은 상태로 시작할 수 있는 옵션을 제공합니다. 이는 부정행위자를 게임 커뮤니티에서 분리하되 게임은 계속 플레이할 수 있게 해줍니다. 부정행위 스캔은 보안 서버에 접속한 사용자에게만 적용됩니다.

통합

VAC 부정행위 감지 시스템은 귀사의 게임 클라이언트와는 별도로 Steam에서 운영합니다. 게임에 최선의 활용법을 적용하여 게임 자산과 내부 상태를 보호하시기 바랍니다. 게임에서 사용자가 VAC로 차단되었는지 여부를 판단하려면 Steamworks API를 사용해야 합니다. VAC에 대한 ISteamUser::BeginAuthSessionISteamUser::ValidateAuthTicketResponse_t 콜백으로는 3가지의 결과가 반환됩니다. VAC에 대한 인증 결과는 다음과 같습니다.

관련 웹 API

다음 웹 API 활용에 대한 자세한 내용은 웹 API 페이지를 참조하시기 바랍니다.