
Hibernação Minecraft: Economia de CPU Quando Ninguém Joga
"Iniciar e parar minecraft-server quando jogadores entram/saem"
gekware/minecraft-server-hibernation · github.com
Executar um servidor Minecraft 24/7 é desperdiçador. Quer você esteja hospedando para um grupo de amigos ou uma pequena comunidade de mods, seu servidor consome CPU e eletricidade independentemente de alguém estar online ou não. Hibernação de Servidor Minecraft (MSH) resolve isso iniciando automaticamente seu servidor quando um jogador entra e desligando-o quando a última pessoa sai. É uma ideia simples que economiza dinheiro e recursos reais.
O Que Este Projeto Faz
Hibernação de Servidor Minecraft é um proxy leve escrito em Go que fica entre seus jogadores e seu servidor real. Quando alguém tenta se conectar, MSH os detecta, inicia seu servidor real em segundo plano e encaminha sua conexão. Quando todos se foram e um período de tempo limite expira (configurável), MSH encerra o servidor e volta a dormir.
Você não precisa mudar a forma como se conecta ao seu servidor. Os jogadores simplesmente entram normalmente, mas agora o servidor inicia magicamente quando eles aparecem.
O projeto rastreia por quanto tempo mantém servidores em hibernação em todos os usuários: mais de mil anos cumulativos de tempo de CPU economizados desde 2019. Isso não é pouca coisa.
Por Que Você Usaria Isso
A maioria das pessoas que executam servidores se enquadra em algumas categorias. Você tem grupos casuais de amigos que jogam esporadicamente, talvez algumas horas por semana. Você tem pequenas comunidades de mods com 10-20 jogadores ativos que fazem login em certos momentos. Você tem pessoas que querem mexer em um servidor, mas não querem pagar por hospedagem 24/7. Para qualquer uma dessas situações, pagar por um servidor ocioso 16 horas por dia é apenas jogar dinheiro fora.
O benefício secundário é conveniência real. Sem precisar iniciar manualmente seu servidor antes de seus amigos entrarem, ou se apressar quando alguém quer jogar à noite. Eles entram, o servidor inicia, você está em um jogo em 15 segundos. Desliga automaticamente quando o último jogador sai.
E se você tiver um servidor modificado com uma lista pesada de mods? Eliminar 8 horas de tempo ocioso do servidor por dia resulta em economias reais de energia, especialmente se você estiver executando isso em hardware em sua casa em vez de uma máquina alugada.
Começando a Usar
A configuração é simples depois que você entende os componentes. Você vai baixar o executável MSH para seu SO (Linux, Windows ou macOS), criar um arquivo de configuração, apontá-lo para seu servidor Minecraft existente e executá-lo.

Primeiro, pegue a versão mais recente do GitHub:
cd /home/user/minecraft-server-hibernation
wget https://github.com/gekware/minecraft-server-hibernation/releases/download/v2.5.1/msh-v2.5.1-fd9f22d-linux-amd64.bin
chmod +x msh-v2.5.1-fd9f22d-linux-amd64.binVocê também precisará baixar o arquivo de configuração de amostra da página de versões e editá-lo. As configurações importantes:
- Pasta - caminho para seu diretório do servidor (onde server.jar fica)
- NomeArquivo - nome do arquivo jar do servidor
- ParâmetrosInicio - argumentos de inicialização (geralmente algo como "-Xmx4G -Xms4G -jar server.jar nogui")
- PararServidor - como desligar graciosamente o servidor (comandos como "save-all" e "stop")
- TempoAntesDePararServidorVazio - quanto tempo esperar após o último jogador sair antes de encerrar o servidor (em segundos)
O encaminhamento de porta vem em seguida. No seu roteador, encaminhe a porta 25555 (ou qualquer porta que você definir na configuração) para sua máquina de servidor. Em seguida, abra essa porta no firewall do seu servidor.
Se você usa Linux com UFW:
sudo ufw allow 25555/tcpColoque o executável na pasta do seu servidor, execute-o e pronto.
./msh-v2.5.1-fd9f22d-linux-amd64.binOs jogadores se conectam usando sua porta de servidor real (25555 por padrão), e MSH lida com tudo nos bastidores.
Recursos Principais Que Importam
A ferramenta tem alguns recursos bem pensados além de simplesmente "iniciar e parar".
Ícone Personalizado do Servidor - Você pode colocar um ícone do servidor congelado (imagem chamada `server-icon-frozen`) na pasta do seu servidor, e MSH o mostrará aos jogadores enquanto o servidor real está ligando. Parece mais limpo do que um estado genérico offline.
Suporte à Lista Branca - Você pode configurar uma lista branca direto em MSH, ou ela respeitará a lista branca existente do seu servidor. Controle quem pode acordar o servidor.
Desligamento gracioso está integrado. MSH não apenas encerra o processo. Portanto, envia comandos de parada adequados e aguarda o servidor salvar e sair corretamente, para que você não corrompa seu mundo.
Tempo Limite de Inatividade Configurável - Quer que seu servidor permaneça ativo por 5 minutos após o último jogador sair, ou 30 minutos? Você controla. Dá aos jogadores tempo para voltar sem o servidor desligar no segundo em que eles se desconectam.
Multiplataforma - Funciona em Linux, Windows e macOS, e oferece suporte a servidores vanilla e fortemente modificados. O projeto existe desde 2019 e é mantido ativamente (a versão mais recente é v2.5.1 com melhorias no tratamento de falhas e compilação Go atualizada).
Pegadinhas e Coisas para Saber
Primeira coisa: o arquivo de configuração não é gerado automaticamente. Você precisa baixá-lo da página de versões ou criá-lo você mesmo. Sem mágica aqui.

Segundo, server.properties precisa de uma configuração: `server-ip=0.0.0.0`. Se estiver definido para um IP específico, MSH não pode acessar seu servidor corretamente e você receberá erros de conexão. É fácil deixar passar despercebido e difícil de depurar.
Inicializações a frio levam alguns segundos. Quando um jogador se conecta, há atraso enquanto o servidor inicia e carrega chunks. Para a maioria dos grupos, está tudo bem ("servidor está iniciando, aguarde um segundo"). Para speedrunners ou durante jogos competitivos, pode fazer diferença.
Certifique-se de que o encaminhamento de porta foi feito corretamente. MSH fica escutando na porta especificada, mas precisa ser acessível de fora da sua rede. Se amigos não conseguem se conectar, 9 em cada 10 vezes é um problema de encaminhamento de porta, não MSH.
Uma última coisa: quando você reiniciar sua máquina, certifique-se de que MSH inicia automaticamente na inicialização. Execute-o como um serviço systemd no Linux ou uma tarefa agendada no Windows para que ele não precise ser iniciado manualmente toda vez.
E Quanto às Alternativas
Existem outras ferramentas disponíveis neste espaço. Contêineres Docker com algum scripting podem fazer coisas semelhantes, mas são mais complexos de configurar. Alguns provedores de host oferecem recursos de inicialização automática integrados, mas você fica preso à infraestrutura deles e geralmente pagando extra.
Há também a opção nuclear: configurar um trabalho cron que verifica se seu servidor está executando e inicia/para com base na contagem de jogadores. Falando francamente, funciona, mas você acaba mantendo scripts shell em vez de usar uma ferramenta projetada para este trabalho específico.
A vantagem do MSH é que é um binário único que foi refinado ao longo de 6+ anos. Não complica demais o problema e funciona offline (sem dependência de nuvem ou serviços externos).
Se você está construindo um servidor para você ou um pequeno grupo e se importa com eficiência, vale a pena os 20 minutos para configurar.
Procurando por mais ferramentas para melhorar seu servidor? Confira a Lista de Servidores Minecraft para inspiração sobre o que outras comunidades estão executando, ou use utilitários úteis como a Calculadora de Portal do Nether e Gerador de Texto Minecraft para sua jogabilidade.
Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Comentários
Nenhum comentário ainda. Seja o primeiro a compartilhar sua opinião!


