온라인 FPS에서 플레이어가 해킹을 방지합니까?


14

멀티 플레이어 1 인칭 슈팅 게임에서 여전히 월커에 대해 불평하는 이유는 무엇입니까?

서버 측의 모든 플레이어에 대해 오 클루 전 컬링을 수행 할 수 없습니까? 예를 들어 플레이어가 클라이언트 절두체에 표시되어 있고 객체에 의해 가려져 있지 않은 경우에만 플레이어 xyz 정보를 클라이언트에게 보냅니다. 충돌-지오메트리가 매우 단순 해지더라도 대부분의 경우 사기꾼은 전술 정보를받지 않습니다.

왜 이러지?

답변:


19

지금 지체되고 있다고 생각하십니까? 서버에서 실시간 폐색 정보를 얻어야 할 때까지 기다리십시오. 이제 벽 뒤에서 걸어 다닐 수 있으며 서버가 따라 잡아 업데이트 된 오 클루 전 데이터를 보내면 나쁜 사람들이 갑자기 튀어 나옵니다.

내 말끔한 의견이 모든 것을 말해줍니다. 이를 수행하지 않는 주된 이유는 지연 및 서버로드 때문입니다. 서버에서 다른 플레이어가 언제 볼 수 있는지 알고 싶다면 서버가 각 플레이어가보고있는 지오메트리를 정확히 알고 해당 폐색을 계산해야합니다.

나는 벽 해킹과 같은 공격이 게임을 재미있게 만들 수 없다는 데 동의합니다. 그리고 개발자들은 게임을 가능한 한 재미있게 만들고 싶어하기 때문에 이것에 대해 걱정할 것입니다. 그러나 개발자가 자신의 사기꾼 / 해킹 대응책이 게임 플레이 및 / 또는 고객 만족도를 떨어 뜨리는 시점에 도달하면 방금 홀로 떠난 것보다 훨씬 더 많은 고객을 잃게됩니다 . DRM을 참조하십시오 .


3
치트 방지 / 해킹 방지 조치가 무고한 고객의 경험을 결코 감소시키지 않아야한다는 +1.
doppelgreener

17

그것은 가능하며, 이전 연구에서 시도 된 바 있습니다. 관심사 관리 체계를 비교하려면 http://dl.acm.org/citation.cfm?id=1230069를 참조 하십시오.

Byte56이 말했듯이 더 많은 CPU가 필요할 수 있지만 대역폭이 줄어들고 벽 해킹의 가능성이 줄어 듭니다.

Byte56이 말했듯이 플레이어의 교합 영역으로 엄격하게 제한된 관심 영역은 클라이언트 측의 응답 성을 감소시킬 수 있습니다. 그러나 플레이어의 관심 영역을 폐색 영역보다 약간 크게 만들면 클라이언트가 상대방의 매복을 몇 초 전에 수신 할 수 있습니다. 이런 식으로 벽 해킹은 여전히 ​​가능하지만 마지막 순간에만 가능합니다.


답변에 대한 실제 연구 결과를 가져 주셔서 감사합니다. GDSE에 오신 것을 환영합니다.
MichaelHouse

4

짧은 대답은 그렇습니다. 서버 측 폐색 제거는 가능하지만 복잡성과 제한된 이점으로 인해 종종 수행되지 않습니다.

현대 FPS 게임의 많은 부분에서 완전한 폐색은 드물다는 것을 명심하십시오. 요즈음 캐릭터는 풀밭에서 가리거나 숨기고 사용하며 실제 유니폼과 위장은 실제로 가시성에 영향을 미칩니다. 벽과 복도는 여전히 온라인 전투의 큰 부분을 차지하지만 과거 몇 년 동안은 아닙니다.

단단한 복도와 불투명 한 표면이 많은 게임은 이벤트 필터링을 위해 서버에서 오 클루 전 컬링을 사용할 수 있습니다. 이것은 개방 된 넓은 환경과 현실적인 커버 / 카모 게임에는 적합하지 않습니다.

벽 해킹은 온라인 게임 속임수의 한 부분 일 뿐이며 각 개별 해킹을 수정하는 것은 지금까지 효과가 없었습니다. 가장 좋은 방법은 사기꾼을 걸러 내고 실망스러운 경기에 참여할 가능성을 줄이는 고품질의 매치 메이킹 및 플레이어 등급 시스템입니다.


-4

캔트 게임 개발자는 기본적으로 PC를 완전히 제어하고 게임이 실행되는 동안 타사 소프트웨어를로드 할 수없는 사이드 프로그램을 작성합니까? 게임이 시작되고 메모리에 매핑 된 후에 인젝터를로드 할 필요가 없습니까? 따라서 운영과 관련이없는 모든 것을 블랙리스트에 나열하십시오. 게임이로드 된 후 서비스로드를 중지하려면 UAC 유형을 만들어야합니다.

해킹을 완전히 방지하는 다른 아이디어는 좀 더 복잡하고 리눅스 라이브 드라이브 운영 체제와 같은 게임을 실행하는 것과 관련이 있습니다. 기본적으로 게임은 창을 전혀 사용하지 않고 게임로드 만하도록 설계된 자체 제거 다운 운영 체제를 사용합니다. 따라서 게이머는 게임을하는 동안 음악을 스트리밍하거나 재생하려고 할 수 있지만 게임을 실행하는이 새로운 방법으로는 허용되지 않습니다. 대부분의 개발자는 프로그램과 물건을 허용 할 수는 있지만 귀찮게하지는 않을 것입니다. 멀티 태스킹을 원한다면 게임을 암호화하고 샌드 박스 모드로 게임을 실행하고 싶을 것입니다. 그게 바로 그것이라고 생각합니다. 가상 가상 OS 환경에서 게임을 실행하는 것과 같습니다. 게임 제작자가 100 % 제어합니다.

이 샌드 박스 모드는 콘솔 운영 체제 및 게임 기능과 매우 유사합니다. 콘솔에 많은 핵이 보이지 않습니다. 왜 그런지 궁금하십니까? 콘솔에로드 할 수없고 콘솔이 콘솔을 인식하지 못하는 경우에도 콘솔을 읽을 수 없습니다.


1
아니요, 게임 개발자는 PC를 완전히 제어하는 ​​사이드 프로그램을 작성할 수 없습니다. 이것이 운영 체제입니다. 컴퓨터가 시작될 때 운영 체제는 커널에 등록해야하며 그렇지 않으면 다시 호출하는 데 많은 비용이 듭니다. 또한, PC "안전하지 않은"및 "바이러스"를 완전히 제어하는 ​​부가 프로그램을 호출합니다. 클라이언트 프로그램 사이의 통신을 유발할 수있는 해킹 은 문자 그대로 모든 클라이언트 장치에서 모든 데이터를 훔칠 수 있기 때문에 모든 권한을 가진 프로그램은 게임 내 보안이 더욱 중요하다는 것을 의미 합니다 . 그 나쁜.
Delioth 2016 년

1
다른 요점으로, 당신은 게임을하기 위해이 베어 OS에서 PC를 다시 시작해야한다고 말하고 있습니까? 게임을 시작하고 종료하는 데 5-10 분의 시간이 없어야하므로 환불을 요청 합니다 . 컴퓨터가 꺼져 있기 때문에 두 화면으로 아무 작업도 수행 할 수 없습니다 . 모든 사람이 특정 게임을하는 동안 멀티 태스킹을 위해 추가 랩톱을 구입할 여유가있는 것은 아닙니다. 시작하고 멈추는 데 20 분이 걸리고 백그라운드에서 음악 / 레딧 을 갖기 위해 400 달러를 소비하도록 강요하면 좋은 게임이됩니다. ).
Delioth 2016 년

그렇다면 PC에서 게임을 망치는 사람들을 상대하십시오. 슈팅 게임은 요즘 esp 등으로 가득 차 있기 때문에 완전한 쓰기 작업입니다. PC의 Bf1이 좋은 예입니다. 더 이상 PC에서 게임을 공개하는 이유를 모르겠습니다. 심지어 나오기 전에 해킹당했습니다.
TJ L
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.