헬다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 방식 때문에 발생함
반박 시 니말이 맞다
이새끼들 중앙서버는 10만따리에서 터졌던 성능 그대로 아닐까 싶음
단점이 존나 큰 p좆p 장점 이라곤 중앙서버없이 게임할수 있는정도
워커 여러대 뽑히면 서버 과부하된다는 드립은 그냥 우리 컴퓨터 걱정해주는거였냐고....
개좆소라 실시간으로 모든 걸 검사하진 못해도 가끔씩 중앙에서 확인하거나 하다못해 게임 결산 정도는 중앙에서 확인을 해야하는데 뭔 시발 "뭐야 너희 이번 한 미션에서 샘플 각 1000개랑 크레딧 1000개 메달 1000개를 먹었다고? 진짜지? 그래 수고했어~" ㅇㅈㄹ 하는 게 참ㅋㅋㅋ
명쾌요약추
근데 버민타이드 2가 P2P에서 서버 방식 도입하고 나서 한국인들끼리 겜할때도 100핑으로 개 좆같아져서 사람들 대부분 접었던거 생각하면 악용 여지는 높지만 게임은 훨씬 쾌적하게 즐길 수 있다는 게 좋음
ㅇㅇ p2p 방식은 쾌적함 그리고 헬다같은 pve 겜에도 어울리는 방식이라고 생각하긴하는데 p2p로 계속 서비스 할거면 모드로 클라이언트 변조를 못하게 막았어야 한다고 생각함
식당으로 비유하자면 20평짜리 가게가 초대박터져서 전국은물론 해외에서도 이거먹겠다고 찾아오는데 주인장이 좆고집부려서 가게 평수안넓히고 직원안뽑는다는거임
식당주인이 레시피 뿌리면서 너네끼리 알아서 만들어먹으라고 하는꼴 아님?ㅋㅋ - dc App
이새끼들 게임가드는 왜씀?
그럼 n프로텍트는 하는게 뭐야
몰?루
이건 진짜 아무도 모름. 아마 에로우 헤드도 모를걸?
메모
한마디로 좆소겜
지금 이 겜은 사이퍼즈 언저리의 서버운영을 하고있다는거임
근데 p2p 쾌적하다하는데 네트워크 불안정으로 씹창나서 별로 쾌적한지 모르겠다는거임..
정확히 쾌적하다는 뜻이 핑차이에 의한 딜레이 같은게 없다는 뜻이였음 지금 프리징 겁나 걸리는게 클라이언트 끼리 통신 애러인지 슈퍼피어에서 호스트가 처리 감당을 못해서 일어나는건진 정확히 모르겠다만
@예비폭발물 백엔드 찐빠도 났던 새끼들이라 통신 에러보단 그냥 쟤들 서버가 병신일 가능성이 높아보인다 - dc App
워프레임도 호스트가 짱깨새끼면 개지랄남 근데 겜 10년이 넘었지만 아직도 중앙방식이 아님..개좆소겜
그게 띡 하고 바꿀 수 있는 게 아님 게임플레이의 근간이 되는 코드를 통째로 바꿔야 하는 건데 이건 게임개발 초기에 정하는 부분이고 나중에 바꾸기 힘듬
요약추
쾌적한 환경을 위해서 클라이언트의 공격&피격에 대해서는 독립적으로 처리하는게 확실함 근데 이건 내 생각이지만 모든 공격판정은 각 클라가 처리하는게 맞는것 같음 ㅇㅇ 적어도 우리가 느낄때 호스트 핑이 아무리 병신이여도 공격모션(혹은 투사체)가 안나왔는데 뒤지는 경우는 거의 없잖아? 평토평의 경우 호스트와 클라의 차이가 발생하는 이유가 AI 자체는 호스트가 담당하지만 AI의 공격상태 패킷이 전송되는 동안 공백이 발생해서 그런거 같은데
딥락갤이 모드 하나하나 직접 개발자가 손수 검증하는 거엔 이유가 있었거든.. 지금은 어떻게 부분 자동화했지만
워커가 2개면 문제가 일어난다는거는 사용자들 컴에 부담을 준다는 말이었던건가?
오도 주로 해서 직접 느낀건 스카우트 스트라이더 고간 맞추면 호스트일땐 타고 있던 트루퍼까지 죽는데 게스트면 스트라이더만 터지고 조종하던 트루퍼는 살아서 내려갖고 총 쏜다
예전에 무반동으로 PC 타이탄은 머리 2방 플스 타이탄은 1방에 머리 터진다는 말이 있었지
내가 게스트 인데 다른 게스트가 터미널 치는데 마지막 버튼 2개만 입력 안된다 해서 내가 입력 해준건 다른 버그 라는건가
헬다가 분산 권한이라 서버 권한이 느슨한거 같은데 이러면 비동기화에 훨씬 관대해지는 경향이 있음 서버가 모든걸 처리하지 않으니 이거 때문에 생기는 문제가 대부분이지 이게 단점만 있지는 않고 호스트만 전체 세션 정보를 알고 있는게 아니라서 호스트가 자기 세션을 터트려도 다른 클라가 이어서 할 수 있다는건 장점이긴 함 이게 서버 권한 게임에서는 불가능하거나 매우 어렵거든 P2P 게임중에 호스트가 세션 터트리면 게임 터져버리는거 많이 봤을거임 ㅇㅇ
지금 헬다2 체급이면 중앙 서버로 옮기는게 맞는데 게임 좆망했을때 산소호흡기 붙여놓는건 p2p가 맞음 근데 얘네가 지금 라이브중인 게임을 중앙서버 방식으로 옮길 기술력이 잇을까??
굳이? 서버 검증 후 처리방식으로하면 오히려 통신 렉만걸리고 문제가 더 많을텐데
135합처서 그냥ai로직이 서버에서 돈다고 보면 됨. 그게 일반적이지 - dc App
그래서 헬다가 다른 겜보다 CPU를 더 처먹는건가