Uma confusão comum entre quem está começando a administrar um servidor Minecraft é não saber a diferença entre o que se configura no arquivo server.properties e o que se configura via flags de JVM. Entender essa divisão evita horas perdidas procurando uma configuração no lugar errado.
O que é o server.properties
Esse arquivo controla as regras e comportamentos do próprio jogo Minecraft: modo de jogo padrão, dificuldade, se PvP está ativado, distância de visão, número máximo de jogadores, e dezenas de outras opções específicas da experiência de jogo em si. Ele é lido pelo próprio software do servidor Minecraft depois que a JVM já está rodando.
O que são as flags de JVM
Flags de JVM controlam como a Java Virtual Machine em si se comporta antes mesmo de carregar o Minecraft — coisas como quanta memória alocar, qual coletor de lixo usar, e outras otimizações de baixo nível do próprio ambiente de execução Java. Elas são definidas no comando usado para iniciar o servidor, não em nenhum arquivo de configuração do jogo.
A divisão em termos práticos
| Tipo de ajuste | Onde configurar | Exemplos |
|---|---|---|
| Regras e comportamento do jogo | server.properties | Dificuldade, PvP, view-distance, max-players |
| Comportamento da JVM/memória | Flags de inicialização | Quantidade de RAM, coletor de lixo, otimizações de startup |
Por que essa distinção importa na prática
Se você está tentando resolver um problema de lag causado por processamento excessivo do jogo (muitos mobs, redstone complexo), a solução provavelmente está no server.properties ou em plugins. Se o problema é relacionado a picos de pausa por coleta de lixo ou uso de memória, a solução está nas flags de JVM. Procurar no lugar errado é uma fonte comum de frustração desnecessária.
Painéis de gerenciamento costumam separar visualmente os dois: a maioria dos painéis modernos (como o Pterodactyl) oferece uma seção específica para configurações do servidor (equivalente ao server.properties) e outra para configurações de inicialização/variáveis de ambiente (onde entram as flags de JVM), o que ajuda a evitar essa confusão mesmo sem editar arquivos manualmente.
Configurações específicas do Paper: uma terceira categoria
Servidores rodando Paper (e forks) têm ainda uma terceira camada de configuração, específica dessas implementações, cobrindo otimizações de performance mais avançadas que não existem no Minecraft vanilla — como as configurações de spawn de mobs e simulation-distance já cobertas em outros artigos deste blog. Essas ficam em arquivos próprios, separados tanto do server.properties quanto das flags de JVM.
Ordem de prioridade ao diagnosticar um problema
- Identifique se o sintoma é de processamento de jogo (lag de tick, TPS baixo) ou de memória (pausas, uso crescente de RAM)
- Para sintomas de jogo, revise primeiro o server.properties e as configurações específicas do Paper
- Para sintomas de memória, revise as flags de JVM e o coletor de lixo configurado
- Use ferramentas de diagnóstico como o comando /mspt e o plugin Spark (cobertos em outro artigo) para confirmar a causa antes de mudar qualquer configuração às cegas
Não misture as duas coisas por engano
Um erro específico e comum é tentar colocar uma flag de JVM dentro do server.properties (ou vice-versa) — isso simplesmente não funciona, já que cada arquivo é lido em um momento e por um componente diferente do processo de inicialização do servidor.