한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

게임 렉 백서 › 일부에게만 생기는 문제

채널·인스턴스·페이즈 차이 Different channel / instance / phase

원인 ID pt-phase · 주 담당 게임개발팀·서버 개발 · 함께 게임개발팀·클라이언트 개발

그림과 실험이 있는 원본 카드로 열기 →

두 캐릭터가 다른 채널이나 인스턴스에 있거나, 퀘스트 진행도에 따라 보이는 NPC가 다른 “페이즈”에 있으면 서로 다른 세상을 봅니다.

왜 두 번째 캐릭터가 다른 채널로 배정되거나 퀘스트 단계가 다름 → 그러면 서버가 그 캐릭터에게는 해당 NPC를 보내지 않음(정상) → 화면에서는 한쪽에만 NPC가 없음. 버그처럼 보이지만 설계대로

증상
안 보임·유령 개체
요인
손실
누가 겪나
같은 PC의 한쪽 클라만, 나만
언제
항상, 접속·점검 직후
담당
주 담당 게임개발팀·서버 개발 · 함께 게임개발팀·클라이언트 개발
게임개발팀 할 일
서버: 채널·페이즈 정보를 클라이언트에 보내기, QA 체크리스트에 “두 캐릭터의 채널·퀘스트 단계 확인” 추가. 클라이언트: 채널·페이즈를 화면에 표시.
그래프에서는
일부만 높음 · 클라이언트별 주변 개체 수, 채널·페이즈
확인할 곳
두 캐릭터의 채널 번호와 해당 퀘스트 진행 단계를 게임 화면에서 비교하고 같은 채널·단계로 맞춰 다시 봄. 서버 개체 전송 로그가 있으면 그 NPC를 그 캐릭터에게 보내지 않은 이유(채널·페이즈)를 확인
이러면 맞음
두 캐릭터의 채널이나 퀘스트 단계가 다르고 같게 맞추면 NPC가 보임
이러면 아님
채널·단계가 같은데도 한쪽에만 없으면 로딩 중 도착한 등장 알림 폐기, 입장 직후 몰리는 등장 정보 유실, 시야 등록 순서 꼬임 쪽
확인 수단
유저 쪽 환경에서 확인
더 알아보기
퀘스트 진행을 계정 단위로 저장하는지 캐릭터 단위로 저장하는지도 확인합니다. 같은 계정의 두 캐릭터라면 한쪽의 진행이 다른 쪽의 페이즈를 바꿀 수 있습니다.

출처

  1. Actor Relevancy in Unreal Engine Epic Games
    서버는 연결마다 관련 있는(relevant) 액터만 복제하고 관련 없는 액터는 보내지 않음
  2. Object visibility (Netcode for GameObjects 2.5) Unity
    CheckObjectVisibility로 클라이언트별로 보이는 개체를 정하고, 숨긴 개체는 그 클라이언트에 전송하지 않음

함께 보면 좋은 원인

같은 층: 일부에게만 생기는 문제

같은 증상(안 보임·유령 개체)의 다른 층 원인

그림과 실험이 있는 원본 카드 보기