Unreal BP ch9-3 · 리플리케이션 디버깅

네트워크 버그는 실행 모드와 로그를 같이 좁힌다

리플리케이션이 보이지 않을 때는 노드부터 고치기보다 Play As Client, stat net, log net, showdebug net 순서로 권한과 전파 위치를 분리한다.

1

실행 모드 고정

Listen ServerPlay As Client를 구분하고 Number of Players를 늘려 같은 상황을 재현한다.

2

대역폭 확인

stat net으로 패킷 손실률과 네트워크 사용량을 본다. 너무 잦은 복제는 여기서 먼저 드러난다.

3

RPC 흐름 추적

log net으로 Run on Server, Multicast, Run on Owning Client가 실제로 호출되는지 확인한다.

4

소유권 표시

showdebug net으로 Pawn, Controller, Owner 관계를 확인해 RPC가 도착할 대상을 찾는다.

Run on Server

서버 RPC가 안 들어올 때

호출한 클라이언트가 해당 Pawn이나 PlayerController를 소유하고 있는지 먼저 본다.

Multicast

이펙트가 한쪽만 보일 때

서버에서 호출했는지 확인한다. 클라이언트가 직접 호출한 멀티캐스트는 기대한 전파가 일어나지 않는다.

Reliable

전달은 되지만 지연될 때

중요하지 않은 반복 이벤트까지 Reliable로 보내고 있지 않은지 stat net 결과와 함께 줄인다.