Aikar Flags para a JVM do Minecraft
Travadas periódicas costumam ser o garbage collector mal ajustado. As Aikar Flags configuram o G1GC para coletar memória em pequenas pausas, suavizando o TPS em horário de pico.
PorEquipe StreetHosting·Time de infraestrutura e suporte da StreetHosting
O que são as Aikar Flags
Quando o servidor trava por meio segundo de tempos em tempos, muitas vezes o culpado é o garbage collector limpando memória de uma vez. As Aikar Flags reconfiguram o G1GC para fazer essa limpeza em pedaços pequenos e frequentes, espalhando o custo e evitando a pausa grande que o jogador sente como lag. Elas atacam um problema específico que a redução de lag no Paper também aborda.
Xms igual a Xmx
O ponto mais importante é igualar a memória inicial e a máxima. Se Xms e Xmx têm valores diferentes, a JVM redimensiona o heap durante o jogo e isso gera pausas. Com os dois iguais, a memória é reservada de uma vez e o servidor trabalha de forma previsível.
Não defina o heap maior do que a RAM real disponível. Se o sistema começar a usar swap, o TPS despenca e nenhuma flag salva.
Como aplicar
- Pare o servidor.
- Edite a linha de inicialização, definindo
XmseXmxcom o mesmo valor. - Cole o conjunto de Aikar Flags antes do parâmetro do jar.
- Salve e inicie o servidor novamente.
Em painéis gerenciados, há um campo próprio para flags de JVM. Em VPS root, elas entram no comando do systemd ou no script de start.
Medir o resultado
| Sinal | Antes | Depois das flags |
|---|---|---|
| Pausas de GC | Longas e perceptíveis | Curtas e frequentes |
| TPS em pico | Oscilando | Mais estável |
| Travadas a cada minuto | Comuns | Reduzidas |
Use o plugin spark para visualizar as pausas e o TPS antes e depois. Sem medir, você não sabe se a mudança ajudou. Entenda os números em o que é TPS e como melhorar.
Gere um profile do spark antes e outro depois das flags e passe os dois links pelo tickdoc. Ele separa o que era pausa de GC do que continua sendo plugin pesado, que é a dúvida que sobra depois de mexer na JVM.
Limites das flags
- Java na versão recomendada pela sua build do Paper
- Xms igual a Xmx com folga para o sistema
- Plugins pesados revisados em paralelo
- Medição com spark antes e depois
As flags resolvem pausas de memória, não milagres. CPU fraca limita o TPS de qualquer jeito. Em projetos exigentes, uma VPS Ryzen com alto clock por núcleo faz mais diferença do que qualquer ajuste. Para aplicar tudo num servidor root, veja hospedar Paper em VPS root.
Perguntas frequentes
- Por que Xms deve ser igual a Xmx?
- Igualar memória inicial e máxima evita que a JVM fique redimensionando o heap durante o jogo, o que causa pausas. Com os dois valores iguais, a alocação fica estável desde o boot.
- As Aikar Flags servem para qualquer servidor?
- Funcionam melhor em Paper e derivados modernos com Java atual. Em versões muito antigas ou em runtimes diferentes, parte das flags pode não aplicar. Use a versão recomendada do Java.
- Devo dar toda a RAM da máquina para o servidor?
- Não. Deixe folga para o sistema operacional e para o cache de disco. Dar memória demais ao heap pode até piorar as pausas de coleta em vez de ajudar.
- As flags resolvem todo o lag?
- Não. Elas suavizam pausas de garbage collector, mas lag por plugin pesado, mundo mal otimizado ou CPU fraca exige outras ações. Combine com a revisão de timings.
Próximo passo
Ver VPS Ryzen
VPS Ryzen 9 9950X em SP com root, NVMe e AntiDDoS gamer.
Guias relacionados
Spark profiler: como analisar o lag do servidor de Minecraft
TPS 20 e servidor engasgando não são contraditórios. O spark mede quanto tempo cada tick realmente custa e mostra, linha por linha, para onde esse tempo está indo.
Como reduzir lag em servidor Minecraft Paper (TPS e mspt)
Lag não é 'culpa do host' até você medir: mspt alto vem de mundo, configuração e código rodando no tick. Este texto prioriza diagnóstico antes de tunagem agressiva.
O que é TPS no Minecraft e como melhorar (guia completo)
TPS é o relógio do servidor: 20 significa mundo fluido, abaixo disso tudo atrasa. MSPT mostra quanto cada tick custa em milissegundos. Medir antes de tunar separa problema de plugin de host errado.