네트워크 게임 로깅

네트워크 게임 로깅 개요.

Choose your operating system:

Windows

macOS

Linux

목차

네트워크 게임 로깅

네트워킹 문제를 식별하고 디버깅하려면 클라이언트서버 로그가 중요합니다. 많은 네트워킹 로그는 LogNet 카테고리에 속하지만, 특정 시스템과 밀접하게 관련된 로그 카테고리를 확인하여 문제에 대한 더 나은 인사이트를 제공하는 것이 좋습니다.

이러한 카테고리는 디폴트로 활성화되지 않으며, 경험하고 있는 행동에 관한 정보를 수집하기 위해서는 다양한 상세 옵션을 조정해야 할 수 있습니다. 아래 목록은 몇 가지 권장 카테고리를 제공합니다.

카테고리

설명

LogNetTraffic

이 로그 변수가 VeryVerbose로 설정되면 모든 네트워크 트래픽을 로깅합니다.

LogNetPackageMap

NetGUID가 어떻게 전송, 수신, 승인되었는지에 관한 정보를 로깅합니다.

LogNetVersion

FRepLayout 및 FObjectReplicator에서 사용하는 프로퍼티 리플리케이션(Property Replication) 및 RepNotify 함수에 관한 정보를 로깅합니다.

LogNetFastTArray

LogNetDormancy

LogRep

LogRepTraffic

LogRepProperties

리플리케이트된 프로퍼티의 전송 및 수신에 관한 정보를 로깅합니다.

PacketHandlerLog

패킷 핸들러와 컴포넌트에 대한 정보를 로깅합니다. 이러한 컴포넌트에는 해당 서브 카테고리가 있습니다. 예를 들어 LogDTLSHandler, OodleNetworkHandlerComponentLog, LogHandshake가 있습니다.

LogDemo

리플레이의 녹화 및 재생에 관한 정보를 로깅합니다. 각 리플레이 스트리머에는 다음과 같은 관련 로그 카테고리가 있습니다. LogLocalFileReplay, LogSaveGameReplay, LogNullReplay, LogMemoryReplay.

이러한 카테고리를 활성화하고 상세 옵션을 조정하는 방법에는 여러 가지가 있습니다. 하나는 다음 명령줄 실행인자를 전달하는 방법입니다.

-LogCmds=<LogCategory><Log Verbosity>

다른 방법은 콘솔 명령 Log를 사용하는 방법입니다.

<Log Category> <Log Verbosity>,

또 다른 방법은 프로젝트의 DefaultEngine.ini 에서 카테고리를 설정하는 것입니다. 예:

[Core.Log]

LogNetPackageMap=Log

LogNetTraffic=Verbose

LogRep=VeryVerbose

로그를 읽을 때 다음 목록을 활용하면 어떤 종류의 오류가 발생했는지 확인할 수 있습니다.

UEngine::BroadcastNetworkFailure

넷 드라이버에서 주요 오류가 발생하면 출력됩니다. 로그 줄에는 실패 타입, 오류 스트링, 오류가 발생한 넷 드라이버에 대한 설명이 포함됩니다. EngineBaseTypes.h의 ENetworkFailure 열거형에서 발생 가능한 네트워크 문제와 간략한 설명 목록을 확인할 수 있습니다.

UNetConnection::Close

닫힌 연결에 대한 설명입니다.

UActorChannel::Close

채널 인덱스, 해당 채널의 액터, 닫힌 이유가 포함된 LogNetTraffic 카테고리입니다. 이러한 라인 주변의 로그를 확인하면 연결이나 액터 채널이 닫힌 이유를 표시하는 데 도움이 됩니다.

명령줄 실행인자 -LogTrace=<partial log line> 는 부분적인 로그 메시지 스트링에서 스택을 트레이스합니다. 예시는 다음과 같습니다. -LogTrace=UNetConnection::Close 는 로그에 UNetConnection::Close 가 출력될 때마다 스택 트레이스를 생성합니다. 명령줄 실행인자 -DumpRPCs 는 RPC와 파라미터를 덤프하는 기능을 제공합니다. 전송되고 있는 RPC와 파라미터를 트래킹하는 데 유용합니다.

LogTrace 및 DumpRPCs는 모두 NetcodeUnitTest 가 활성화되어 있어야 합니다.

언리얼 엔진의 이전 버전을 위해 작성된 페이지입니다. 현재 언리얼 엔진 5 버전을 위해 업데이트되지 않았습니다.