헬다2가 P2P 방식으로 돌아가고 있는건 개발자도 이미 공디에서 말한 내용임








이건 우리가 잘 알고 있는 클라이언트-서버 방식임


우리(클라이언트)가 이벤트에 반응하면 그 반응을 중앙서버로 전송 후 서버에서 처리해주고 


결과값을 다시 서버로부터 받음







P2P 방식은 중앙서버가 개입을 안함 그냥 클라이언트 끼리 북치고 장구치고 노는거임






그럼 헬다2는 중앙서버가 없음?



그건 아님 있긴한데 우리가 플레이 하는 세션에는 개입을 안하는거임


MO, 동접자수, 전선 상황 같은건 중앙서버에서 정보를 받고


우리가 플레이를 끝낸 세션의 결과도 중앙서버에 보내긴 함


그래야 레벨, 샘플 갯수 같은걸 저장 할 수 있으니깐


다만 우리가 한 게임을 진행중일땐 거기에 개입을 안한다는거임


근데 P2P 네트워크 방식에도 종류가 있음









1. Super Peer


우리가 잘 아는 호스트 - 게스트 그거 맞음


게스트의 어떠한 이벤트 반응을 호스트가 대부분 처리해줌


그럼 우리는 여기서 합리적인 추측을 할 수 있음


- 호스트에 몹 어그로, 증원이 주로 붙는거


- 상태 이상 효과 처리를 호스트가 하는거


- 일부 판정 등이 호스트에게 까다로운거


호스트 억까가 그렇게 발생하는거 보니


아 그럼 헬다2는 P2P 겜이고 슈퍼피어 방식인거네?


=> 반은 맞음









2. Decentralized 


호스트 - 게스트 같이 한쪽 클라이언트에 처리를 떠 넘기는게 아닌


모든 클라이언트가 알아서 분산처리하는 방식임


그럼 호스트억까가 있으니깐 이건 아니지 않나? 싶을건데


P2P 방식에서 슈퍼피어, 디센트럴라이즈드 한가지만 쓰지 않고


두가지 방법이 혼합사용되는 경우가 많음


몇몇 상황은 호스트만 처리하고 몇몇 상황은 게스트가 각각 처리한다









이번에 감표모드 게스트 실험 해보면서 느낀건데


다음같은 상황들로 어떤게 호스트 연산인지 게스트 연산인지 추측해봄




-- 현재 호스트가 처리하는 것들 --


1. 몹 움직임

호스트 연결 끊기면 게스트는 멀쩡히 돌아다니는데 몹들은 제자리 걸음함


2. 상태 이상 효과

아마 고장나기 전엔 게스트가 알아서 해당 효과 연산을 알아서 처리 했을 것인데 호스트로 바꿔서 게스트는 잘 안되는 것으로 예상됨


3. 몹 어그로

알파 커맨더 같이 게스트는 걍 무시하고 지나치는 경우도 있는데 호스트는 잘끌리는게 호스트가 처리하는것으로 예상됨


4. 터미널 진행 판정

터미널 버그 걸렸을때 호스트 불러서 하게 하면 잘 작동되는거 보니 호스트가 처리하는 것으로 예상됨


5. 일부 몹 공격판정

헌터 평토평 같이 일부 콤보는 게스트는 잘 안들어오는데 호스트만 잘 들어오니 호스트가 처리하는 것으로 예상됨


6. 필드 아이템 흭득

가끔 멀리 사는 양붕이가 호스트면 필드 탄약 먹기 누르고 2초 뒤에 먹어지는 판정 뜰 때가 있는데 호스트가 처리하는 것으로 예상됨


7. 대형 몹 시체 판정

투명시체가 거이 게스트일때 발생되는데 호스트 기준 레그돌로 처리되어서 게스트 입장에서 투명하게 보이는 것으로 예상됨






-- 현재 게스트가 알아서 처리하는 것들 --


1. 히트박스 판정

모드 써서 감정표현으로 피하는거보면 게스트가 알아서 처리하는게 확실한듯


2. 럽쳐 발목돌리기

패치전엔 호스트가 처리하는 것이였으나 게스트 발목도 잘 돌리는걸 게스트가 스스로 처리하게끔 해서 픽스한걸로 예상됨


3. 증원 버그

원래 호스트 혼자 처리해야 됬는게 맞으나 크플키면 게스트 기종에 따라 따로 처리 하는 것일 수도


4. 헬다이버 모델 및 레그돌

가끔 팀원 맞췄을때 피 터지는데 실제론 안 맞은 판정 나오는거 보면 헬다이버 본인 피해 판정은 각자 하는 걸로 예상됨


5. 세션 유지

초기엔 호스트가 나가면 그 세션이 아예 터졌는데 지금은 호스트 나가거나 중간에 강퇴당해도 게임이 유지되는 것을 보면 세션 유지는 공동으로 처리하는 것으로 예상됨







P2P 방식이 단점만 있는건 아님 


중앙서버를 거치지 않기 때문에 해외 양붕이랑 게임을 해도 


각 클라이언트가 각자 연산을 알아서해서 


핑차이가 거이 없이 부드럽게 게임을 할 수도 있고


게임사는 서버비를 아낄 수 있음


또 동접이 갑자기 늘어나도 서버를 통해서 게임을 하는게 아니니


게임을 하는데 쾌적함








문제는 체급이 커졌는데도 인디겜이 쓸만한 P2P를 아직 고수하고 있다는게 문제임


패킷 검수를 통한 클라이언트 변조를 색출하고 핵에 그나마 덜 취약한


중앙서버 방식이 장점이라면 더 많은데 


게임이랑 채권 많이 팔아서 돈 서버 증설 안하는게 정말 괘씸함


콜오브듀티, 헤일로, 데스티니 등등 이 게임들도 초창기엔 P2P 방식으로 서비스하다


체급 커지고 나선 무조건 중앙서버식으로 바꿨단말이야








무엇보다 게임이 끝나고 세션 결과를 중앙서버로 보낼때 검수 안하는 것도 얼탱이가 없음


한 세션에서 모든 슈퍼크레딧이 100원으로 떠도 한 판에 먹을 수 있는 최대치가 있을건데


그걸 검수 안하고 슈퍼크레딧 핵쟁이가 맘대로 복사하고 날먹하는 꼴 냅두는거 보니


진짜 돈은 많이 벌긴 벌어서 배가 불러서 겜을 이렇게 방치하는거 아닌가 싶다






요약: 우리가 겜하면서 오는 대부분 문제가 P2P 방식 때문에 발생함


반박 시 니말이 맞다