2013-07-29 1 views
0

자바 서버와 통신하여 게임에서 통계, 점수 및 물건을 저장하는 플래시 게임 (ActionScript 3 사용)을 개발하고 싶습니다. 하지만 플래시 파일에서 서버로의 통신을 어떻게 만들 수 있습니까? 이 아닌 다른 도구를 사용하여 서버에 연결하고 가짜 액션으로 점수를 속일 수 있습니다.서버와의 안전한 통신이 필요한 플래시 게임 개발하기

이렇게 할 방법이 있습니까?

내 솔루션 :

자체가 해당 서버에서 수행되는 모든 동작이 사용자에게 전송됩니다 않는처럼 전체 게임 및 모든 "계산"물건을 관리하는 서버에 연결 경기 서버 및 게임이하는 모든 작업은 서버에 의해 제어됩니다.

그래서 플래시 파일이하는 유일한 일은 그래픽을 표시하는 것입니다.

but : 이렇게하는 것이 더 안전하고 안전한 방법이 있습니까? 아니면이 소용이 최선의 해결책입니까?

플래시 파일이 게임 내에서 일어나는 일을 계산하고 그래픽을 표시 할뿐만 아니라 수행하기가 더 쉬울 것이므로.

이 문제를 어떻게 해결할 지 말해주십시오.

+0

비밀 소금으로 인코딩 및 디코딩 할 수 없습니까? 오직 당신의 플래시 게임과 당신의 서버 만이 암호 해독 방법을 알고 있습니다 (이 비밀 소금으로). 사용자는 그런 식으로 속일 수 없습니다. – putvande

+0

하지만 플래시 파일을 디 컴파일하여 비밀 소금을 얻을 수 있습니다. 그렇지 않니? – MinecraftShamrock

답변

1

완벽하게 안전한 게임을 만들 수있는 유일한 방법은 모든 게임 로직을 만드는 것입니다 : 내가 이전 질문에서 다음과 같은 답변을 읽어 recommanding 있어요 말했다 serverside (사용자가 제안한대로) 및 클라이언트에서 보낸 모든 단일 작업의 유효성을 검사합니다. 클라이언트 측 역할은 그래픽을 표시하고 게임 메커니즘에 영향을 미치지 않는 계산 만 수행하는 것입니다. 클라이언트 측의 모든 코드는 해킹 가능하다는 것을 기억하십시오.

+0

예. 그런데 플래시가 실제로 디 컴파일 할 수 있습니까? – MinecraftShamrock

+0

swf는 decompile 도구 (예 : sothink swf decompiler)를 사용하여 매우 쉽게 디 컴파일됩니다. 또한 온라인으로 디 컴파일 할 수있는 온라인 도구가 있습니다. showmycode.com –

+0

서버 측의 모든 로직을 사용하더라도 플레이어의 PC가 입력을 계속 제어하기 때문에 여전히 불가능한 입력으로 게임을 속일 수 있습니다 (이는 많은 트릭 중 하나입니다. TAS 선수, btw). 게다가 모든 로직을 서버 쪽에서 가짐으로써 우리는 입력과 디스플레이 사이의 지연을 소개합니다. 이는 멀티 플레이어 게임에서는 완벽하게 받아 들일 수 있지만 리더 보드가있는 싱글 플레이 게임에서는 더 논쟁의 여지가 있습니다. – Aralicia

1

궁극적으로 게임에서 서버가 완벽하게 제어하더라도 사용자가 속일 수 없음을 보장 할 수는 없습니다. 예를 들어 진정으로 원하는 사람은 게임을 디 컴파일하여 친구들에게 자동 응답 할 수있는 "새로운 클라이언트"를 만들 수 있습니다.

There is nothing you can do to prevent an attacker from forging high scores

Raising the bar for cheating above what a player would deem worth surmounting

+0

나는 당신의 대답에 관하여 2 개의 주를 가지고있다 : 1. 그것은 누군가가 자동으로 목표로하는 새로운 클라이언트를 디 컴파일하고 창조하는 것이 힘든 일이 될 것이다. 2. 가능한 한 많은 서버 쪽 유효성 검사를 추가 할 수 있습니다. 예를 들어 1 초당 에미 니가 얼마나 많은 양을 죽 였는지, 얼마나 자주 촬영되었는지, 각 2 샷 사이의 시간이 레벨을 통해 같은지 확인하십시오 ... 등등 –

+0

AS3에서 디 컴파일 - 재 컴파일은 사용 가능한 도구의 수를 감안할 때 그리 어렵지 않습니다. 그리고 서버 측 점검을 추가하면 부정 행위가 탐지 될 수 있으므로 사람들은 이러한 점검에 대한 해결책을 찾게됩니다. 또한 추가하는 수표가 많을수록 서버가 더 강력 해집니다. 우리는 AAA 게임의 전쟁터 중 하나에 여기 진입했습니다. 개발자와 해커는 진정한 승자없이 상대방과 1 대 1로 끊임없이 노력했습니다. 요즘, 안티 치팅 전략은 부정 행위를 막을 수는 없으며, 부정 행위를 막을 수 있습니다. – Aralicia