
HeadlessMc: Executar Minecraft a partir da Linha de Comando
headlesshq/headlessmc
Minecraft na linha de comando
Ver no GitHub ↗Quer executar Minecraft sem uma interface gráfica? HeadlessMc é um lançador de linha de comando que remove a GUI e permite controlar Minecraft Java Edition inteiramente através de comandos de terminal. Foi construído para automação, testes e cenários nos quais você precisa que Minecraft execute invisivamente em background - pense em pipelines automatizados de testes, gerenciamento de servidor ou instâncias de jogo autônomas que relatam dados para suas ferramentas.
O Que Este Projeto Faz
HeadlessMc oferece controle preciso e script sobre inicializações do Minecraft Java Edition. Em vez de clicar no lançador, gerenciar contas em uma GUI e vasculhar janelas, você emite comandos. O projeto envolve o cliente oficial do Minecraft e permite especificar exatamente qual versão executar, qual carregador de mod usar (Fabric, Forge, etc.), e se deve ou não exibir uma janela.
A parte headless é a mágica. Adicione a flag `-lwjgl` durante a inicialização e Minecraft é executado sem renderizar nada na tela. Você ainda pode interagir com ele programaticamente, executar testes contra a lógica do jogo, verificar conexões de servidor ou encadeá-lo em fluxos de trabalho de CI/CD. O projeto cuida do gerenciamento do cliente (download de versões), gerenciamento de servidor, instalação de mods e autenticação de conta, tudo do terminal.
É escrito em Java e distribuído como um arquivo JAR único (ou executáveis nativos para Linux, Windows e macOS). A versão 2.9.0 é a versão estável atual, com uma reescrita completa planejada para v3 que trará interfaces de comando ainda mais limpas.
Por Que Você Usaria Isso
Vamos ser honestos: a maioria dos jogadores nunca precisará disso. Você clica no lançador, seleciona sua versão, talvez carregue um modpack e entra em um mundo. Pronto.
Mas há cenários onde HeadlessMc brilha. Se você está construindo um framework de testes do Minecraft, precisa de uma forma de inicializar instâncias do jogo programaticamente e verificar o comportamento sem interação manual. Desenvolvedores de modpack o utilizam para testar se uma coleção de mods realmente carrega sem travamentos antes de enviá-la aos usuários. Operadores de servidor podem automatizar inicializações e desligamentos. Criadores de conteúdo de jogos o utilizaram para gerar capturas de tela ou quadros de vídeo automaticamente. Pessoal de DevOps o integra em pipelines de CI/CD para detectar mudanças que quebram o jogo no início.
Também permite executar Minecraft em ambientes onde uma GUI não existe. Executar Minecraft em um servidor Linux headless? Esta é sua ferramenta. Precisa do comportamento do Minecraft em um container Docker? HeadlessMc foi construído exatamente para isso. O projeto até inclui imagens Docker pré-configuradas e prontas para uso.
Começando: Instalação e Primeiro Lançamento
A instalação é surpreendentemente simples. Vá para a página de releases do GitHub e pegue o arquivo JAR (ou um executável nativo se preferir). Você precisa de Java 8 ou mais recente, embora o projeto inclua executáveis nativos GraalVM se preferir pular a dependência Java inteiramente.
Depois de ter o arquivo, inicie-o:
java -jar headlessmc-launcher.jarEsse comando o coloca em um shell interativo. Seu primeiro movimento deve ser autenticar. O projeto leva a segurança da conta a sério e não permite executar sem uma conta Minecraft válida. Digite `login` e siga os prompts para autenticar com sua conta Microsoft.
loginA autenticação acontece através de uma janela do navegador, portanto é segura e usa o OAuth oficial da Microsoft. Depois que isso for feito, você pode iniciar o jogo. Veja, o comando é direto:
launch fabric:1.21.4 -lwjglIsso inicia o Minecraft 1.21.4 com Fabric e o executa de forma headless (a flag `-lwjgl`). Sem essa flag, você obtém uma janela de jogo visível com a qual pode interagir normalmente. Com ela, o jogo é executado invisivamente, mas permanece controlável através de comandos e automação.
Se você estiver no Linux ou macOS e tiver baixado um executável nativo em vez do JAR, apenas torne-o executável e execute-o diretamente:
chmod +x headlessmc-launcher-linux-x64./headlessmc-launcher-linux-x64Recursos Principais Que Importam
O verdadeiro poder vem do que você pode fazer uma vez que está funcionando. Aqui estão os recursos que tornam este projeto útil.
Suporte a carregadores de mod: Fabric, Forge, Quilt - HeadlessMc sabe como lançar todos eles. Você especifica qual carregador e versão deseja, e ele cuida da complexidade de download, instalação e patch dos arquivos corretos. Isso é especialmente valioso em automação porque você não precisa gerenciar manualmente vários perfis de instalação.
Gerenciamento de cliente e servidor: A ferramenta pode lidar com lançamento de cliente e inicialização de servidores a partir da linha de comando. Para alguém construindo infraestrutura de testes, isso significa que você pode automatizar um ambiente de teste Minecraft inteiro sem tocar no lançador GUI.
Suporte a HMC-Specifics: O projeto inclui mods complementares (hmc-specifics) que você pode colocar em sua pasta de mods. Esses mods são projetados para funcionar com HeadlessMc e expõem funcionalidade adicional para automação e testes. É um toque agradável para desenvolvedores que precisam se conectar ao comportamento do jogo.
Múltiplos métodos de instalação: JAR, executáveis nativos Linux/Windows/Mac, imagens Docker. Essa flexibilidade significa que você pode executar HeadlessMc praticamente em qualquer lugar. Tem uma máquina Windows? Pegue o EXE. Executando Ubuntu na nuvem? Use o binário nativo do Linux. Quer containerizar tudo? As imagens Docker estão prontas para usar.
Coisas Que Podem Te Confundir
Primeira pegadinha: validação de conta. O projeto não permite usar contas offline ou piratadas. Você precisa de uma conta Minecraft legítima vinculada a uma conta Microsoft. É um recurso de segurança, e significa que você não pode simplesmente apontar isso para cópias pirateadas do jogo. Se você não possui Minecraft, precisará comprar primeiro.
Segundo, modo headless funciona mas não é mágica. Quando você executa com `-lwjgl`, o jogo ainda precisa de todos os ativos e bibliotecas. O primeiro lançamento baixa tudo, o que pode levar alguns minutos. Lançamentos subsequentes são mais rápidos. Se você está executando isso em CI/CD, armazene em cache seu diretório `.minecraft` entre compilações ou você perderá tempo baixando tudo novamente.
Terceiro, a documentação aponta você para o novo site de documentação, que é sólido. Mas se você estiver fazendo algo incomum - como escrever automação ao redor do lançador - você pode se encontrar lendo as issues do GitHub para entender casos especiais. O projeto é ativo (os mantenedores lançam atualizações regularmente e respondem às issues), mas ainda é orientado pela comunidade, portanto existem lacunas de documentação.
Mais uma coisa: a versão do Java importa menos do que costumava, mas se você estiver usando o JAR, verifique se tem uma JVM compatível. Os executáveis nativos agrupam tudo, então são mais simples para uso casual.
Quando Esta Não É a Ferramenta Certa
Se você apenas quer jogar Minecraft, use o lançador oficial. É polido, amigável ao usuário e faz tudo que a maioria dos jogadores precisa. HeadlessMc adiciona complexidade em troca de controle programático. Você só o quer quando está construindo algo que precisa automatizar o comportamento do Minecraft.
Para operações de servidor muito básicas, o JAR do servidor vanilla é mais simples. HeadlessMc é excessivo se você está apenas executando um servidor de jogo direto e quer gerenciá-lo através de um terminal. Painéis de hospedagem de servidor dedicados lidam com isso de forma mais elegante.
E se você está desenvolvendo mods e precisa de pontos de gancho profundos no Minecraft, pode querer olhar outras frameworks primeiro. HeadlessMc é um lançador, não uma API de modding completa. É um complemento para ferramentas de modding, não uma substituição.
Construindo em Torno Dele
O caso de uso real emerge quando você combina HeadlessMc com outras ferramentas. Combine-o com seu framework de CI e você tem testes automatizados. Conecte-o a um sistema de monitoramento e você obtém visibilidade do estado do jogo. Execute-o em Docker e você tem ambientes Minecraft reproduzíveis e containerizados.
Se você está gerenciando servidores Minecraft ou testando mods, ferramentas como o Verificador de Status do Servidor Minecraft complementam bem o HeadlessMc, permitindo que você verifique a saúde do servidor de forma independente. E se você está configurando servidores, o Gerador de Propriedades do Servidor economiza tempo configurando o comportamento do servidor antes mesmo de iniciar.
O roteiro do projeto inclui v3, que promete reformular a interface de comando usando Picocli para melhor ergonomia de CLI. Se você está considerando esta ferramenta, v3 pode valer a pena esperar se a interface atual parecer desajeitada para você. Mas a versão 2.9.0 é estável e funciona de forma confiável para a maioria dos casos de uso hoje.
Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.


