Seu servidor fica lento em certos momentos, mas os gráficos de CPU e memória não explicam o motivo. O spark ajuda a acompanhar o processamento e a coletar um perfil do que o Minecraft está fazendo.
Aqui vamos instalar a versão compatível no ambiente Fabric, consultar os ticks e salvar um perfil no próprio servidor. A demonstração foi feita sem jogadores para conferir os comandos; ela não identifica um gargalo de uma comunidade real.
Veja se o spark já está disponível
Em Paper 1.21 ou mais recente, ele já vem integrado. Consulte spark tps no Console antes de enviar outro JAR. Em outras plataformas, confira a distribuição compatível na página do autor.
Para Fabric, escolha um arquivo que declare suporte à sua versão de Minecraft e ao loader Fabric. Não envie a edição de plugin Bukkit para mods nem a edição de outro loader só porque o nome é parecido.
Instale pelo gerenciador de arquivos
⚠️ Prepare a instalação
Com um backup completo guardado, desligue normalmente o servidor. Em Files, abra
modse clique em Enviar arquivos. Envie o JAR escolhido e espere a conclusão.
Na captura, o 1 confirma a pasta. O 2 marca o envio, e o 3 identifica spark-1.10.187-fabric.jar, compatível com Minecraft 26.1.2 na demonstração. A versão do seu projeto pode pedir outro arquivo.
✅ Confira antes de coletar
Ligue o servidor e acompanhe o Console. Se houver erro de dependência ou loader, resolva antes de começar a coleta.
Consulte os ticks durante o problema
No campo de comandos do Console, execute:
spark tps
O comando está em 1, e sua resposta em 2. TPS e tempo dos ticks ajudam a avaliar o processamento; os gráficos abaixo mostram outras partes do uso. Colete na situação problemática, não apenas depois que todos saírem.
Inicie o perfil pelo Console
Execute o comando abaixo e espere a confirmação de que a coleta começou:
spark profiler start
O 1 mostra o comando; o 2, a confirmação. O 3 localiza o campo onde você escreve. No Console, não precisa da barra / usada nos comandos dentro do jogo.
Repita a atividade que causa lentidão e anote o horário: exploração, farm, vários jogadores entrando ou outra situação. O tempo de coleta deve representar esse problema. A documentação do Paper sugere uma amostra de cerca de dez minutos quando ele acontece; a demonstração curta das capturas conferiu somente a execução dos comandos.
Encerre salvando o arquivo local
Use este comando completo:
spark profiler stop --save-to-file
Confira o comando em 1 e a confirmação em 2. A resposta informa o caminho do .sparkprofile; nesse ambiente ele ficou em config/spark. Em Files, abra esse caminho e baixe o arquivo correspondente ao horário da coleta.
O --save-to-file faz diferença: a parada comum pode enviar o resultado ao visualizador externo. Se sua instalação reiniciar a coleta em segundo plano, como a captura informa, spark profiler cancel encerra essa coleta sem enviar resultados. Isso não apaga o arquivo que acabou de salvar.
O que fazer com o resultado
💡 Guarde o contexto do diagnóstico
Guarde a versão do servidor e o relato da atividade junto do perfil. Envie ao suporte pelo atendimento privado quando for solicitado. O perfil mostra trabalho de processamento; não é um botão que corrige o servidor sozinho.
Para usar o visualizador do autor, consulte suas orientações e decida conscientemente como compartilhar o arquivo. Perfis podem incluir informações da instalação. Não publique um diagnóstico de produção sem revisar o conteúdo e a forma de acesso.
Não gere um heap dump para seguir este tutorial. Ele é outro tipo de diagnóstico e pode criar um arquivo grande com dados de memória.
