해킹 보호

어떤 게임이든 부정행위에 취약합니다. 언제 여러분이 하나의 해킹을 차단했을 때, 또 다른 해킹이 시도되고 다시 차단하기 위해 조치를 취해야 할 것 입니다.

서버에서 모든 로직을 실행하는 것이 해결책처럼 들리지만 비용이 많이 들고 모든 부정행위를 없애는 것이 가능하지 않습니다.

보호 옵션

다음과 같은 4가지 이상의 부정 행위 방지 방법이 있습니다:

  • 순수 클라이언트 측.
  • 클라이언트측 속임수 리포트와 백엔드를 통한 퇴출.
  • 실행 중인 게임의 서버측 분석.
  • 전체 서버 측 권한.

각 옵션은 서버 측에서 더 많은 로직과 시스템을 실행 해야하므로 점점 더 효과적이지만 비용도 더 많이 들게됩니다.

일반적으로 두 번째 변형 모델을 제안됩니다: 모든 고객에게 부정행위를 확인하도록 하고 이를 보고합니다. 너무 많이 보고된 게임 사용자와 해커 사용자를 차단/블록처리 합니다.

이것은 여러분이 꽤 효과적으로 사기꾼들을 없애고 마음대로 활동 할 수 없다는 의미합니다. 그것은 다소 의기소침해질 것입니다(그러나 전적으로 그렇지는 않습니다).

일부 계정 또는 기기별로 사용자를 식별해야 합니다. 또한 player.io, Playfab, Steam 등과 같은 백엔드 서비스를 사용하여 보고서를 저장하고 평가해야 합니다. 마지막으로, 서버에 접근하려면 인증이 필요하도록 Photon 게임을 설정해야 합니다.

Back To Top

클라이언트 측

PUN 과 Unity

PUN은 서버 논리가 없는 순수한 클라이언트 측 구현이므로 경제적이지만 부정 행위 입증은 아닙니다. 어떤 게임들은 괜찮고, 경쟁적인 게임들은 그렇지 않을 수도 있습니다.

IL2CPP 를 사용하고 클라이언트 측에서 몇 가지 추가 단계를 수행하여 클라이언트가 어느 정도 해킹을 입증하지 않는 한 Unity 빌드는 해킹 당할 수 있습니다.

에셋 스토어의 Anti-Cheat 도구를 확인 해 보십시오Anti Cheat Toolkit 은 하나의 예 입니다.

다음과 같은 팁도 검토 해 보십시오: A practical tutorial to hack (and protect) Unity games.

Back To Top

Photon Bolt

Bolt는 서버 없이도 전반적으로 부정 행위를 줄일 수 있는 몇 가지 기능이 내장되어 있습니다. 상태 및 모든 메시지를 정의하므로 임의 정보가 주입될 가능성이 줄어듭니다.

Bolt 게임을 호스팅하는 모든 클라이언트는 상태에 대한 권한을 부여 받을 수 있습니다. 즉, 임의 클라이언트(해킹되지 않음)는 모든 사람의 상태를 확인할 수 있습니다.

또한 Bolt를 Headless 모드로 실행할 수도 있습니다. 그러면 전용 시스템에서 Bolt를 실행할 수 있는 옵션이 열립니다. 그렇게 하려면 PC를 조정하여 해당 인스턴스를 실행해야 하며 플레이어가 최소한 일부 게임에서는 이러한 인스턴스를 사용하도록 해야 합니다.

게임 서버를 구축하고 관리하는 몇 가지 서비스가 있습니다. 한 가지 예로 Unity의 Multiplay 서비스가 있습니다. 우리는 그것에 대한 직접적인 경험이 없지만 Bolt는 그것을 잘 다룰 것입니다.

Back To Top

서버측 모니터링

당사의 Photon Server Plugin SDK를 사용하여 "실행 중인 게임의 서버측 분석"을 구현할 수 있습니다. 게임의 핵심 작업과 이벤트를 수정하여 서버에서 원하는 만큼 제어할 수 있습니다.

게임 엔진(또는 전체 게임)을 실행할 수 있는 기본 제공 지원이 없으므로 서버는 씬/레벨 또는 다른 데이터에 접근 할 수 없습니다. 따라서 이 솔루션은 "추상적"이고 씬에 의존하지 않는 게임에 더 적합합니다.

가장 좋은 경우, 서버에서 클라이언트와 동일한 게임 로직을 실행하고 서버에 클라이언트에 대한 상태 업데이트를 만들도록 합니다.

사용자 지정 로직을 직접 호스팅하거나 Photon Enterprise Cloud에서 처리할 수 있습니다.

Back To Top

전체 서버 권한

다시 말해, 게임이 "추상"이고 레벨 데이터가 필요하지 않은 경우, Photon Server 내에서 전체 서버 권한을 구현하는 것이 상대적으로 쉽습니다.

만약 여러분이 다양한 씬에서 물리를 실행해야 한다면, Photon에서 직접 하는 것은 아마도 이득보다 더 많은 노력이 필요 할 것입니다.

이 경우 Photon Bolt 또는 기타 엔진 내 호스팅 솔루션을 사용하는 것이 가장 적합합니다.

볼트에는 FPS 및 TPS를 지원하는 내장 기능이 있으며 서버 권한 모드가 있으며 컴퓨터에서 호스팅할 수 있습니다. 우리는 그것이 유니티의 "멀티플레이" 서비스와 결합될 수 있다고 생각하지만, 우리는 아직 이에 대한 경험은 없습니다.

기술문서 TOP으로 돌아가기