Registros para jogos de rede
Registros de cliente e servidor são importantes para identificar e depurar problemas em rede. Embora muitos registros em rede se encaixem na categoria LogNet, recomendamos conferir as categorias de registro que estão mais relacionadas a sistemas específicos para compreender melhor possíveis problemas.
Essas categorias não estão habilitadas por padrão e têm níveis de detalhamento diferentes que você pode precisar ajustar para obter informações sobre um comportamento em questão. A lista abaixo traz algumas categorias recomendadas:
| Categoria | Descrição |
|---|---|
LogNetTraffic | Registra todo o tráfego de rede quando esta variável de registro está definida para "VeryVerbose". |
LogNetPackageMap | Registra informações relacionadas ao modo de envio, recebimento e confirmação de NetGUIDs. |
LogNetVersion LogNetFastTArray
LogNetDormancy
LogRep LogRepTraffic | Registra informações relacionadas a funções de replicação de propriedade e RepNotify que são usadas por FRepLayout e FObjectReplicator. |
LogRepProperties | Registra informações relacionadas ao envio e recebimento de propriedades replicadas. |
PacketHandlerLog | Registra informações no identificador do pacote e seus componentes. Esses componentes têm subcategorias próprias. Por exemplo, LogDTLSHandler, OodleNetworkHandlerComponentLog e LogHandshake. |
LogDemo | Registra informações de gravação e reprodução de replays. Cada streamer de replay tem uma categoria de registro relacionada: LogLocalFileReplay, LogSaveGameReplay, LogNullReplay e LogMemoryReplay. |
Habilite essas categorias de registro e ajuste o nível de detalhamento usando os seguintes métodos:
Argumento de linha de comando
Passe o argumento de linha de comando LogCmds:
-LogCmds="<LOG_CATEGORY> <LOG_VERBOSITY>"Por exemplo, para definir LogNetTraffic para VeryVerbose:
-LogCmds="LogNetTraffic VeryVerbose"Comando do console
Use o comando do console Log:
Log <LOG_CATEGORY> <LOG_VERBOSITY>Por exemplo, para definir LogNetTraffic para Verbose:
Log LogNetTraffic VerboseConfiguração da engine
Defina-os no DefaultEngine.ini. do seu projeto:
[Core.Log]
<LOG_CATEGORY1>=<LOG_VERBOSITY1>
<LOG_CATEGORY2>=<LOG_VERBOSITY2>
...Por exemplo, para definir várias categorias para diferentes níveis de detalhamento:
[Core.Log]
LogNetPackageMap=Log
LogNetTraffic=Verbose
LogRep=VeryVerboseErros úteis
Na leitura de registros, a lista a seguir pode ajudar a determinar o tipo de erro ocorrido.
UEngine::BroadcastNetworkFailure | Exibido quando um driver de rede encontra um erro grande. A linha de registro incluirá o tipo de falha, a string de erro e a descrição do driver de rede que encontrou o erro. Confira a lista de possíveis falhas de rede com breves descrições na enumeração ENetworkFailure em EngineBaseTypes.h. |
UNetConnection::Close | Descrição da conexão sendo fechada. |
UActorChannel::Close | Uma categoria LogNetTraffic que incluirá o índice de canal, o ator desse canal e o motivo de ter sido fechado. A verificação dos logs em torno dessas linhas pode ajudar a fornecer alguma indicação sobre o motivo pelo qual uma conexão ou canal do ator foi fechado. |
O argumento de linha de comando -LogTrace=<PARTIAL_LOG_LINE> realiza rastreamentos de pilha de strings de mensagens parciais de registro. Por exemplo: -LogTrace=UNetConnection::Close gerará um rastreamento de pilha sempre que UNetConnection::Close for exibido nos registros. O argumento da linha de comando -DumpRPCs fornece a capacidade de despejar RPCs e seus parâmetros, o que pode ser útil para rastrear quais RPCs estão sendo enviadas e seus parâmetros.
LogTrace e DumpRPCs exigem NetcodeUnitTest para a habilitação.