
HeadlessMc: Lanzar Minecraft desde la Línea de Comandos
headlesshq/headlessmc
Minecraft en la línea de comandos
Ver en GitHub ↗¿Quieres ejecutar Minecraft sin interfaz gráfica? HeadlessMc es un lanzador de línea de comandos que elimina la GUI y te permite controlar Minecraft Java Edition completamente a través de comandos de terminal. Está construido para automatización, pruebas y escenarios donde necesitas que Minecraft se ejecute invisiblemente en segundo plano, como canalizaciones de pruebas automatizadas, gestión de servidores, o instancias de juego desatendidas que reportan datos a tus herramientas.
Qué hace este proyecto
HeadlessMc te proporciona control preciso y programable sobre los lanzamientos de Minecraft Java Edition. En lugar de hacer clic a través del lanzador, gestionar cuentas en una GUI y buscar entre ventanas, simplemente emites comandos. El proyecto se envuelve alrededor del cliente oficial de Minecraft y te permite especificar exactamente qué versión ejecutar, qué cargador de mods usar (Fabric, Forge, etc.), e incluso si debe mostrar una ventana.
La parte headless es la magia. Agrega la bandera `-lwjgl` durante el lanzamiento y Minecraft se ejecuta sin renderizar nada a la pantalla. Aún puedes interactuar con él programáticamente, ejecutar pruebas contra la lógica del juego, verificar conexiones de servidor, o integrarlo en flujos de trabajo CI/CD. El proyecto maneja la gestión de clientes (descargas de versiones), gestión de servidores, instalación de mods y autenticación de cuentas, todo desde la terminal.
Está escrito en Java y distribuido como un único archivo JAR (o ejecutables nativos para Linux, Windows y macOS). La versión 2.9.0 es la versión estable actual, con una reescritura completa planeada para v3 que traerá interfaces de comando aún más limpias.
Por qué usarías esto
Seamos honestos: la mayoría de los jugadores nunca necesitarán esto. Haces clic en el lanzador, seleccionas tu versión, quizás cargas un modpack, y entras en un mundo. Hecho.
Pero hay escenarios donde HeadlessMc brilla. Si estás construyendo un marco de pruebas de Minecraft, necesitas una forma de crear instancias de juego programáticamente y verificar el comportamiento sin interacción manual. Los desarrolladores de modpacks lo usan para probar si una colección de mods realmente se carga sin fallos antes de enviarlo a los usuarios. Los operadores de servidores pueden crear scripts para inicios y paradas de servidores. Los creadores de contenido de juegos lo han usado para generar capturas de pantalla o fotogramas de video automáticamente. Los profesionales de DevOps lo integran en canalizaciones CI/CD para detectar cambios que rompen el juego temprano.
También te permite ejecutar Minecraft en entornos donde una GUI no existe. ¿Ejecutar Minecraft en un servidor Linux headless? Esta es tu herramienta. ¿Necesitas comportamiento de Minecraft en un contenedor Docker? HeadlessMc fue construido exactamente para esto. El proyecto incluso incluye imágenes Docker preconfiguradas y listas para usar.
Primeros pasos: Instalación y primer lanzamiento
La instalación es sorprendentemente simple. Dirígete a la página de lanzamientos de GitHub y descarga el archivo JAR (o un ejecutable nativo si lo prefieres). Necesitas Java 8 o más nuevo, aunque el proyecto incluye ejecutables nativos de GraalVM si prefieres omitir completamente la dependencia de Java.
Una vez que tengas el archivo, actívalo:
java -jar headlessmc-launcher.jarEse comando te coloca en un shell interactivo. Tu primer paso debe ser autenticarte. El proyecto toma la seguridad de la cuenta en serio y no te permitirá ejecutar sin una cuenta de Minecraft válida. Escribe `login` y sigue los avisos para autenticarte con tu cuenta de Microsoft.
loginLa autenticación ocurre a través de una ventana del navegador, por lo que es segura y utiliza OAuth oficial de Microsoft. Una vez hecho, puedes lanzar el juego. Mira, el comando es directo:
launch fabric:1.21.4 -lwjglEso lanza Minecraft 1.21.4 con Fabric y lo ejecuta headless (la bandera `-lwjgl`). Sin esa bandera, obtienes una ventana de juego visible con la que puedes interactuar normalmente. Con ella, el juego se ejecuta invisiblemente pero sigue siendo controlable a través de comandos y automatización.
Si estás en Linux o macOS y descargaste un ejecutable nativo en lugar del JAR, simplemente hazlo ejecutable y ejecútalo directamente:
chmod +x headlessmc-launcher-linux-x64./headlessmc-launcher-linux-x64Características clave que importan
El poder real viene de lo que puedes hacer una vez que está en ejecución. Aquí están las características que hacen útil este proyecto.
Compatibilidad con cargadores de mods: Fabric, Forge, Quilt - HeadlessMc sabe cómo lanzarlos todos. Especificas qué cargador y versión quieres, y maneja la complejidad de descargar, instalar y parchear los archivos correctos. Esto es especialmente valioso en automatización porque no necesitas gestionar manualmente múltiples perfiles de instalación.
Gestión de cliente y servidor: La herramienta puede manejar tanto el lanzamiento de un cliente como la creación de servidores desde la línea de comandos. Para alguien que construye infraestructura de pruebas, esto significa que puedes automatizar un entorno completo de pruebas de Minecraft sin tocar el lanzador GUI.
Compatibilidad con HMC-Specifics: El proyecto incluye mods complementarios (hmc-specifics) que puedes colocar en tu carpeta de mods. Estos mods están diseñados para funcionar con HeadlessMc y exponen funcionalidad adicional para automatización y pruebas. Es un toque agradable para desarrolladores que necesitan conectarse al comportamiento del juego.
Múltiples métodos de instalación: JAR, ejecutables nativos de Linux/Windows/Mac, imágenes Docker. Esta flexibilidad significa que puedes ejecutar HeadlessMc prácticamente en cualquier lugar. ¿Tienes una máquina Windows? Descarga el EXE. ¿Ejecutando Ubuntu en la nube? Usa el binario nativo de Linux. ¿Quieres containerizar todo? Las imágenes Docker están listas para usar.
Cosas que te pueden confundir
Primer problema: validación de cuenta. El proyecto no te permitirá usar cuentas offline o pirateadas. Necesitas una cuenta legítima de Minecraft vinculada a una cuenta de Microsoft. Es una característica de seguridad, y significa que no puedes simplemente apuntarlo a copias pirateadas del juego. Si no posees Minecraft, tendrás que comprarlo primero.
Segundo, el modo headless funciona pero no es magia. Cuando ejecutas con `-lwjgl`, el juego aún necesita todos los activos y bibliotecas. El primer lanzamiento descarga todo, lo que puede tomar algunos minutos. Los lanzamientos posteriores son más rápidos. Si estás ejecutando esto en CI/CD, cachea tu directorio `.minecraft` entre compilaciones o desperdiciarás tiempo descargando todo de nuevo.
Tercero, la documentación te señala el nuevo sitio de documentación, que es sólido. Pero si estás haciendo algo inusual, como escribir automatización alrededor del lanzador, podrías encontrarte leyendo los problemas de GitHub para entender casos límite. El proyecto está activo (los mantenedores publican actualizaciones regularmente y responden a problemas), pero sigue siendo impulsado por la comunidad, así que existen brechas de documentación.
Una cosa más: la versión de Java importa menos de lo que solía, pero si estás usando el JAR, verifica que tengas una JVM compatible. Los ejecutables nativos agrupan todo, por lo que son más simples para uso casual.
Cuándo esto no es la herramienta correcta
Si simplemente quieres jugar Minecraft, usa el lanzador oficial. Es pulido, fácil de usar y hace todo lo que la mayoría de los jugadores necesitan. HeadlessMc añade complejidad a cambio de control programático. Solo lo quieres cuando estás construyendo algo que necesita automatizar el comportamiento de Minecraft.
Para operaciones muy básicas de servidores, el JAR del servidor vanilla es más simple. HeadlessMc es excesivo si solo estás ejecutando un servidor de juego directo y quieres administrarlo a través de una terminal. Los paneles de alojamiento dedicados de servidores lo manejan más elegantemente.
Y si estás modiando y necesitas puntos de conexión profundos en los internos de Minecraft, es posible que primero quieras buscar otros marcos. HeadlessMc es un lanzador, no una API de modding completa. Es complementario a las herramientas de modding, no un reemplazo.
Construyendo alrededor de esto
El caso de uso real emerge cuando combinas HeadlessMc con otras herramientas. Emparéjalo con tu marco de CI y tendrás pruebas automatizadas. Conéctalo a un sistema de monitoreo y obtendrás visibilidad en el estado del juego. Ejecútalo en Docker y tendrás entornos de Minecraft reproducibles y containerizados.
Si estás administrando servidores de Minecraft o probando mods, herramientas como el verificador de estado del servidor de Minecraft complementan nicely HeadlessMc al permitirte verificar la salud del servidor de forma independiente. Y si estás configurando servidores, el Generador de propiedades del servidor ahorra tiempo configurando el comportamiento del servidor antes de incluso lanzar.
La hoja de ruta del proyecto incluye v3, que promete renovar la interfaz de comandos usando Picocli para mejor ergonomía CLI. Si estás considerando esta herramienta, v3 podría valer la pena esperar si la interfaz actual te parece torpe. Pero el lanzamiento 2.9.0 es estable y funciona de forma confiable para la mayoría de casos de uso hoy.
Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.


