Todos os artigos

Por que é que o meu servidor Minecraft está a ter lag?

Distinguir lag do servidor de lag de ligação, medi-lo em qualquer carregador, e corrigir as causas habituais num servidor partilhado.

"Lag" cobre dois problemas diferentes, e a correção depende de qual tem. Este guia mostra como distingui-los, como medir o lado do servidor em qualquer carregador, e o que normalmente o causa num servidor gratuito.

Lag do servidor ou lag de ligação?

  • Lag do servidor (TPS baixo) — o mundo inteiro atrasa para todos de uma vez: mobs congelam depois pulam, culturas e fornos correm lentamente, blocos que quebra reaparecem por um momento. O servidor não consegue acabar o seu trabalho a tempo.
  • Lag de ligação (ping alto) — apenas um jogador é afetado. Faz rubber-band ou vê outros teleportarem-se, enquanto todos os outros estão bem. Essa é a rede entre esse jogador e o servidor, não o servidor em si.

Se um amigo está a ter lag e o resto não, é quase sempre a ligação deles — Wi-Fi, distância, ou uma rede doméstica ocupada. Servidores gratuitos correm na Alemanha e Finlândia, por isso jogadores longe da Europa sempre verão ping mais alto.

Ticks, TPS e MSPT

Um servidor Minecraft atualiza o mundo em passos chamados ticks, visando 20 ticks por segundo (TPS). Isto significa 50 milissegundos por tick. MSPT (milissegundos por tick) é quanto tempo cada tick demora realmente. Abaixo de 50 MSPT o servidor consegue manter-se e TPS permanece em 20; acima, atrasa-se e TPS diminui. MSPT é o número mais útil, porque mostra quão próximo está do limite antes de qualquer coisa parecer lenta.

Medir

Introduza os seguintes comandos no separador Consola enquanto o servidor está a correr:

  • tick query — integrado no Minecraft 1.20.3 e mais novo, em todos os carregadores. Mostra a taxa alvo e quanto tempo os ticks recentes demoraram.
  • tps e mspt — Paper e Purpur.
  • forge tps — Forge; neoforge tps — NeoForge. Ambos mostram o tempo de tick por dimensão, indicando-vos se o Overworld ou o Nether é o problema.

Um aviso: não instale o mod ou plugin profiler spark num servidor gratuito. O seu profiler não consegue iniciar no contentor bloqueado onde funcionam os servidores gratuitos, fazendo o servidor bloquear ao iniciar. As instalações de modpack removem-no automaticamente por essa razão.

O que causa atrasos

  • Chunks carregados — cada chunk carregado atualiza-se a cada tick. Servidores gratuitos limitam a visualização e a distância de simulação a 6 por exatamente esta razão.
  • Entidades — milhares de itens largados, recintos de animais compactados, halls de comércio de aldeões e moedores de mobs. Esta é a causa mais comum em servidores survival.
  • Redstone — grandes máquinas, especialmente relógios que funcionam continuamente quer haja alguém presente ou não.
  • Geração de mundo — explorar novo terreno é dispendioso. Vários jogadores a voarem em direções diferentes com elytra podem derrubar um servidor por conta própria.
  • Mods ou plugins pesados — mods de tecnologia com grandes redes de máquinas, e plugins que fazem muito processamento a cada tick.
  • Pressão de memória — quando o heap está quase cheio, Java passa cada vez mais tempo a fazer limpeza de memória. Veja Quanto RAM um servidor Minecraft precisa?.

O que pode fazer

  • Pré-gera a área onde as pessoas vão jogar, com um plugin ou mod como Chunky, para que o terreno não esteja a ser criado em tempo real.
  • Limpe itens largados e reduza recintos de animais demasiado grandes. Configure as suas fazendas para recolherem itens em baús em vez de deixarem itens no chão.
  • Desligue relógios de redstone e fazendas que não estão a ser utilizadas.
  • Remova mods e plugins que não está realmente a utilizar — veja Como adicionar mods ao seu servidor Minecraft.
  • Em Vanilla, mudar para Paper ou Purpur vos dá um servidor com muitas correções de desempenho integradas, e o Fabric tem mods de desempenho bem conhecidos.

Atrasos logo depois de acordar

O primeiro minuto depois de um servidor acordar é mais ocupado que o normal: está a carregar o mundo, e num modpack está a carregar cada mod. Uma breve pausa quando os primeiros jogadores entram é esperada e resolve-se por si só.

Não é um bug

Servidores gratuitos partilham hardware com outros na mesma máquina — esse compromisso é o que mantém o plano gratuito, e alguma variação no tempo de tick é inerente a isto. Se um servidor precisa consistentemente de mais de 3 GB e dois núcleos podem dar-lhe, clonar para um servidor Spawnly pago remove a partilha completamente, e o seu servidor gratuito continua em execução enquanto o experimenta.

Faça uma pergunta no Discord

Outros jogadores e a equipa estão lá - costuma ser a maneira mais rápida de resolver o seu problema.

Junte-se ao Discord

Ready to try it yourself?

Create a free Cobbly server in under a minute — no card, no trial.

Criar um servidor