Extrator de erros de registro

  • Extrator de erros de registro
  • Extrator de erros de registro
  • Extrator de erros de registro
  • Extrator de erros de registro
  • Extrator de erros de registro
  • Extrator de erros de registro
Just Joe
19 de inscritos
V1.2.0.0
1 805

Pare de percorrer milhares de linhas do arquivo de log tentando descobrir qual mod quebrou seu jogo.

O Log Error Extractor captura todos os erros e avisos que seu jogo produz e os grava em um relatório limpo e legível – apenas erros e avisos, nada mais. Em seguida, ele classifica cada mod em sua pasta de acordo com quantos problemas distintos está causando, de modo que o culpado está no topo da lista, em vez de enterrado em algum lugar em um registro de 6.000 linhas.

O que isso faz

Grava um relatório contendo apenas erros e avisos, salvo como log_errors.txt próximo ao seu log normal
Classifica seus mods do pior para o melhor por contagem de erros distinta, com sinalizadores para os infratores graves
Recolhe mensagens repetidas – um mod que lança o mesmo aviso 500 vezes mostra uma vez com uma contagem, não 500 linhas
Divide o relatório mod por mod para que você possa ver exatamente o que cada um está lançando
Os comandos do console estão disponíveis para quem preferir: dumpLogErrors, topLogErrors, countLogErrors, clearLogErrors
Primeiros passos

Vincule uma tecla em Opções → Controles → Extrator de erros de log, carregue seu salvamento e pressione-o. O menu abre em qualquer lugar – a pé, em veículo, não importa. Percorra as opções com as setas e clique em OK.

Salvar relatório em arquivo – grava o relatório completo em log_errors.txt na pasta Farming Simulator 2025.
Mostrar piores mods – coloca seus principais infratores diretamente na tela, sem necessidade de arquivo.
Mostrar contagem — informa quantos erros e avisos foram capturados até agora.
Limpar – apaga tudo o que foi coletado até agora para que seu próximo relatório comece limpo.
Este último é o mais útil quando você está caçando um conflito específico. Limpe o buffer, recrie tudo o que quebrou e salve o relatório – e ele não conterá nada além do que aconteceu no meio.

Importante – não renomeie o mod

A pasta é chamada FS25_AAA_LogErrorExtractor propositalmente. Farming Simulator carrega mods em ordem alfabética, e o AAA força este a carregar primeiro para que possa capturar erros de tudo que carrega depois dele. Renomeie-o e ele cairá na lista, e qualquer coisa que for carregada antes de não ser capturada.

Requisitos e limitações

Somente PC. Este é um mod de script e mods de script não são suportados no PlayStation ou Xbox.
Singleplayer apenas por enquanto. O multijogador não foi testado, e sim está quebrado - foi declarado sem suporte, portanto não será carregado em um salvamento de MP. Se você quiser ajudar, vire <multiplayersupported="true"/> no modDesc, teste e me diga o que acontece.
Ele não pode capturar erros que ocorrem antes de carregar, portanto, a inicialização do jogo base e as mensagens no nível do mecanismo não aparecerão. Verifique o log.txt do próprio jogo para ver se há isso.
Relatando problemas

O mod grava um pequeno arquivo de verificação de integridade, log_status.txt, toda vez que você carrega um salvamento. Se algo não estiver funcionando, abra-o e anexe-o se estiver relatando um problema.

Servidor
Consoles
Registro de alterações
2
  • Arquivos desnecessários removidos do zip.

    Eu sei que disse para não renomear o zip tanto na minha postagem quanto no vídeo mostrando como usar. Mas uma advertência na qual não havia pensado foi levantada nos comentários.

    O prefixo FS25_ é uma regra de envio do GIANTS ModHub, não algo que o mecanismo de jogo exija. O jogo só se importa que o nome contenha letras, dígitos e sublinhados, e não comece com um dígito. Renomear o zip para AAA_LogErrorExtractor.zip funciona bem.

    Então vá em frente e clique com o botão direito no mod, escolha renomear e exclua o prefixo FS25_ se você descobrir que mods não foram encontrados.

    Verifique seu console ou log do jogo base e veja um aviso de textura exibido em `log.txt` - um PNG em formato bruto que deveria ser um DDS e o Log Error Extractor não o capturou. O relatório voltou limpo. Parecia um bug no extrator. Não é. É um limite de como o mod funciona e vale a pena anotar.

    Como o extrator realmente funciona

    Não é possível ler `log.txt`. Isso foi resolvido desde o início: o sandbox Lua só permite `io.open` no modo de gravação, e o jogo mantém o arquivo de log aberto exclusivamente de qualquer maneira. Nada em um mod de script pode abri-lo e raspá-lo. Então, em vez de ler o log, o extrator fica na frente das funções que *escrevem* nele. No momento do carregamento, ele envolve `printError`, `printWarning`, toda a família `Logging` e um `print` filtrado, armazena em buffer tudo o que é entregue e despeja esse buffer sob comando. Isso funciona bem. Em um pedido de carregamento de 1.200 mods, ele capturou 3.182 mensagens.

    Por que este escapou

    Os ganchos não estão falhando. Se esse aviso tivesse passado por qualquer uma dessas funções, ele teria ficado no lixo junto com os outros três mil. Não foi. Então nunca passou por Lua. O carregamento da textura acontece na camada C++ do mecanismo, que grava diretamente em `log.txt`. Não há função Lua no caminho, então não há nada para encapsular. Combine isso com a impossibilidade de ler o log e a mensagem ficará genuinamente inacessível. Não é "difícil de capturar", inacessível por este design.

    O que mais está nessa categoria

    Qualquer coisa que o mecanismo lide sozinho, em vez de rotear por meio de script:

    formato de textura e problemas de carregamento

    falhas de carregamento i3d

    mensagens de compilação de shader

    Qualquer coisa que o código Lua de um mod relate ainda é capturado normalmente, o que é a grande maioria do que realmente importa quando você está perseguindo um mod quebrado.

    A lição prática

    “0 erros” do extrator significa “0 erros relatados por Lua”. Isso não significa que o log esteja limpo. Essa distinção pertence ao README, porque um testador que o ler de maneira errada reportará um mod como saudável quando na verdade não é.

    Possível trabalho futuro

    Cobrir esta classe exigiria um mecanismo completamente diferente, verificando diretamente a pasta mods em busca de texturas em formato bruto, em vez de esperar que o mecanismo reclamasse. Isso evita totalmente o log. Depende da listagem de diretórios estar disponível na sandbox, o que não foi verificado. Vale a pena dar uma olhada, mas é um novo recurso e não uma correção.

Créditos
Comentários
0