Análise de Crashes
O AbsoluteSolver oferece três sistemas distintos de análise de crash que trabalham juntos para garantir que, não importa como seu servidor morreu, o Fyrx estará lá para explicar.
Análise Post-Mortem (Verificação na Inicialização)
Quando seu servidor inicia, o AbsoluteSolver verifica se há novos relatórios de crash que não estavam presentes na sessão anterior.
Como funciona:
- No
onEnable, o plugin verifica a pastacrash-reports/ - Compara a lista de arquivos com um registro
data.ymlde relatórios já analisados - Se um relatório novo for encontrado, ele lê o arquivo e envia ao Fyrx junto com as últimas 100 linhas do
latest.log - A análise do Fyrx é impressa no console antes do servidor terminar de inicializar
Tipos de relatório de crash suportados:
| Tipo | Origem | Descrição |
|---|---|---|
| Relatório de Crash do Minecraft | crash-reports/*.txt | Dumps de crash padrão do Minecraft/Paper |
| Crash Nativo da JVM | hs_err_pid*.log | Erros fatais da JVM (SIGSEGV, falhas de JNI, corrupção de memória) |
Crashes Nativos da JVM
Um arquivo hs_err_pid é gerado quando o próprio Java trava — não só o Minecraft. Esses crashes normalmente são causados por uma biblioteca nativa quebrada (como um driver de GPU), corrupção de memória, ou uma chamada JNI ruim de um mod. O Fyrx analisa as primeiras 200 linhas, que contêm as informações mais críticas.
Detecção de Erros Iniciais de Inicialização
Esse sistema captura erros que ocorrem depois que a JVM inicia mas antes do onEnable do AbsoluteSolver rodar. Esses erros costumam ser causados por:
- Incompatibilidades de versão de plugin
- Dependências ausentes
- Conflitos de carregamento de classe (dois plugins usando versões diferentes da mesma biblioteca)
Como funciona:
- O AbsoluteSolver lê o
logs/latest.logde forma assíncrona na inicialização - Ele verifica linhas contendo
ERROR]:ouWARN]:até a linha[AbsoluteSolver] Enabling - Se algum erro for encontrado, é enviado ao Fyrx para análise
- A análise completa é impressa imediatamente no console
Exemplo do que isso detecta:
[ServerMain/ERROR]: Could not load 'plugins/MyPlugin.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Unsupported API version 1.21Análise Manual
Você pode acionar uma análise manual do relatório de crash mais recente a qualquer momento:
/absolutesolver analyze-lastIsso é útil se o AbsoluteSolver não capturou o crash automaticamente (por exemplo, o plugin não estava carregado durante a sessão do crash).
Configuração
check-crash-on-startup: true # Enable post-mortem scanning on boot
monitor-console: true # Enable early startup error detection