O que é um núcleo pesado no Minecraft
Núcleo pesado, também conhecido como "heavy core" ou "servidor pesados", refere-se a uma configuração de servidor Minecraft otimizada para rodar com mods pesados, grandes quantidades de entidades, redstone complexa ou multiplayer de alta quantidade. A ideia central é usar compiladores e versões do servidor que priorizam performance bruta em vez da compatibilidade com plugins leves do Vanila.
Por que escolher nucleo pesado minecraft
A maioria dos servidores de minecraft caem quando você adiciona mais de 20 mods ou coloca 50 jogadores simultâneos. O PaperMC funciona bem até certo ponto, mas tem seus limites. O núcleo pesado entra justamente onde o Paper falha — ele elimina verificações desnecessárias e delega o processamento para threads extras, permitindo que chunks sejam gerados e entes sejam calculados de forma paralela. Eu já passei por isso na prática. Montei um servidor Sponge com cerca de 45 mods e 80 jogadores online simultâneos. O servidor travava toda vez que alguém abria um cofre com redstone próxima. A solução foi migrar para um núcleo pesado compilado com o Parchment e ajustar as configurações de tick rate. O ganho foi imediato, mas também vieram problemas novos que vou explicar abaixo.
É importante entender que nucleo pesado minecraft não é uma solução mágica. Ele troca estabilidade por performance. Bugs que antes só aconteciam de vez em quando passam a ocorrer com frequência maior, especialmente em saves grandes ou áreas com muita redstone em movimento constante.
Como configurar um núcleo pesado
A primeira coisa é escolher o compilador base. As opções mais usadas são Spigot modificado, Purpur, Mohist, e às vezes até o próprio Vanilla com patches específicos. O Purpur costuma ser o ponto de partida mais seguro porque mantém compatibilidade com a maioria dos plugins do Spigot. Depois você precisa ajustar o arquivo server.properties. Os valores padrão quase nunca são ideais para núcleos pesados. Eu sempre começo com these configurações:
view-distance: 6 — chunks rendered são caros. 6 é o mínimo que ainda parece razoável para a maioria dos jogadores. aumentar para 10+ dispara o uso de memória de forma exponencial. simulation-distance: 4 — isso controla quantos chunks são atualizados logicamente. Reduzir para 4 corta drasticamente o uso de CPU sem afetar significativamente a jogabilidade.
max-tick-time: 60000 — padrão é 60000ms, mas em núcleos pesados eu recomendo deixar entre 30000 e 45000. Isso evita que o servidor trave completamente quando algo sai do controle.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Problemas práticos que eu encontrei
Num servidor que eu administrei com cerca de 30 mods de tech (Create, Industrial Foregoing, Applied Energistics 2), o problema mais chato era o gargalo de IO. O jogo salva dados de todos os tiles entity a cada tick, e quando você tem milhares deles, o disco vira um bottleneck insuportável. A solução que funcionou foi instalar o plugin FastAsyncWorldEdit e configurar o servidor para usar um filesystem com suporte a AIO (Asynchronous IO). Além disso, eu desativei a auto-save completa e configurei saves incrementais a cada 30 minutos em vez de a cada 5 minutos. O tempo de recuperação em caso de crash aumentou, mas o servidor nunca mais travou por causa de write-heavy.
Outro problema que aparece frequentemente é o garbage collection do Java. Núcleos pesados alocam muita memória rapidamente, e o GC pode causar pausas de meio segundo a cada poucos segundos. A solução é usar o parâmetro -XX:+UseG1GC na linha de comando do Java e reservar pelo menos 8GB de RAM apenas para o servidor, além do sistema operacional.
Download e instalação
Para baixar um núcleo pesado, você pode usar o buildtool do Spigot, fazer download do Purpur diretamente do site oficial, ou usar o Mohist se precisar de compatibilidade com mods Forge e plugins Bukkit ao mesmo tempo. O Mohist é especialmente útil porque permite usar mods Forge como base e plugins Spigot por cima. A instalação básica segue estes passos:
Baixe o JAR do núcleo escolhido. Coloque na pasta do servidor. Execute com o comando java -Xms4G -Xmx8G -XX:+UseG1GC -jar nome-do-arquivo.jar nogui. Aguarde a geração do mundo inicial. Configure o eula.txt como true. Reinicie e verifique se o servidor está respondendo nos logs.
Vantagens e limitações
Núcleos pesados realmente melhoram a performance em cenários específicos: muitos mods de tech, grandes populações de jogadores, construções com redstone massiva. Mas eles têm desvantagens sérias que muitos tutoriais ignoram. A primeira é a compatibilidade. Nem todo plugin funciona em todos os núcleos pesados. Plugins que dependem de callbacks síncronos do Spigot podem causar lag ou crashes em núcleos com threading diferente. A segunda limitação é a estabilidade. Modos pesados exigem mais teste. Antes de colocar em produção, você deve rodar o servidor por pelo menos 48 horas com carga simulada. Teste com o plugin Folia, que é especialmente projetado para servidores multi-região com alto volume de jogadores.
Se o seu servidor for principalmente survival vanilla com alguns mods leves, um núcleo pesado provavelmente não vale o esforço. Um PaperMC padrão com algumas otimizações já resolve. O núcleo pesado faz diferença quando você está lidando com centenas de entities ativas, multiblocks de redstone complexa, ou gerações de world muito frequentes. O custo-benefício real aparece quando você tem mais de 30 jogadores online consistentemente ou mais de 20 mods de médio a alto impacto. Abaixo disso, você está otimizando demais para um problema que não existe.