-
CSGO 서버 운영의 세계
- InvexGaming이라는 호주 및 뉴질랜드 기반의 CSGO 커뮤니티 서버를 운영했음. 이 서버는 커뮤니티, 콘텐츠, 대회, 커스텀 게임 플러그인 덕분에 인기를 끌었음.
- 서버 운영에는 커뮤니티 포럼과 서버 인프라 유지, 비용 관리, 콘텐츠 추가, VIP 시스템 자동화, 커스텀 플러그인 작성, 게임 버그 수정, DDOS 공격 방지, 규칙 위반 플레이어 처리 등의 작업이 포함됨.
- 가장 번거로운 작업은 치터를 식별하고 차단하는 것임.
-
고양이와 쥐의 게임
- 게임에는 항상 치터가 존재하며, 서버 운영자는 다양한 기술을 사용하여 이들을 감지할 수 있음.
- 서버 측 코드, Valve Anti-Cheat (VAC) 시스템, 커널 측 반치트 등을 활용할 수 있음.
- 그러나 이러한 방법들은 모든 치트를 자동으로 감지할 수 없으며, 최후의 수단으로 CSGO 데모를 통해 수동으로 분석해야 함.
- 치터를 잡으면 서버에서 영구적으로 차단해야 함. 그러나 치터들은 다시 치팅을 시도하며, 기술적으로 숙련된 플레이어는 차단을 회피할 수 있음.
-
차단 회피의 기술
- 차단 회피는 IP 주소와 Steam ID 같은 식별 정보를 변경하여 이루어짐.
- 새로운 Steam ID나 IP 주소를 사용하면 차단을 회피할 수 있지만, 시스템은 이러한 변경을 감지하고 새로운 식별 정보를 기존 차단과 연관시킴.
- VPN을 사용하여 IP 주소를 변경할 수 있지만, Steam ID가 차단된 경우 다시 차단됨.
- 두 식별 정보를 동시에 변경하면 새로운 플레이어로 인식되어 차단을 회피할 수 있음.
-
IP 주소 지문 인식의 문제점
- Steam ID는 플레이어를 고유하게 식별하지만, IP 주소는 그렇지 않음.
- 형제나 대학 네트워크와 같은 공유 네트워크에서 문제가 발생할 수 있음.
- 이러한 경우를 위해 예외 시스템을 구축했지만, 신뢰할 수 없는 네트워크에서는 플레이하지 말 것을 권장함.
-
IdentityLogger
- 치터들은 게임에서 항상 문제를 일으키며, 2017년 초에는 차단 회피 문제가 심각해졌음.
- Steam ID와 IP 주소를 동시에 변경하는 문제를 해결하기 위해 VGUI 브라우저를 활용하여 쿠키를 저장하는 방법을 고안함.
- 이 쿠키는 게임을 종료하고 재시작해도 유지되며, 치터들이 쉽게 삭제할 수 없는 Steam 설치 디렉토리에 저장됨.
- 이를 통해 추가적인 식별자인 Tracking ID를 생성하여 플레이어를 식별할 수 있게 됨.
-
2017년의 대규모 차단 물결
- 2017년 2월에 이 시스템을 모든 Invex Gaming CSGO 서버에 배포했으며, 많은 치터들이 차단됨.
- 커뮤니티는 "치팅하기 어려운" 서버로 명성을 얻었으며, 치터와 관련된 보고가 크게 줄어듦.
- 이 방법은 Valve가 VGUI 브라우저를 제거할 때까지 효과적으로 작동했으며, 이후 공개적으로 기술을 공유하고 오픈 소스로 플러그인을 제공했음.
GN⁺의 정리
- 이 글은 CSGO 서버 운영 중 치터를 식별하고 차단하는 방법에 대한 흥미로운 사례를 다루고 있음.
- VGUI 브라우저를 활용한 쿠키 기반 식별 방법은 창의적이고 효과적이었으며, 커뮤니티의 치터 문제를 크게 줄였음.
- 이 방법은 Valve의 업데이트로 인해 더 이상 사용할 수 없지만, 게임 보안에 대한 새로운 접근 방식을 제시함.
- 비슷한 기능을 가진 프로젝트로는 VAC 시스템이나 기타 반치트 소프트웨어가 있음.