Este documento detalla el procedimiento exacto para configurar un servidor de Minecraft funcional dentro de GitHub Codespaces; además, utiliza Playit.gg para establecer el tunneling de red. Por lo tanto, esta arquitectura resulta ideal para entornos de desarrollo y pruebas cerradas.
El uso de GitHub Codespaces para alojar servidores de juegos de forma continua infringe los Términos de Servicio de la plataforma. GitHub asigna estos recursos computacionales de manera exclusiva para el desarrollo y la compilación de código; por consiguiente, los sistemas automatizados de telemetría suspenderán las cuentas que mantengan procesos persistentes de alto consumo. Este documento posee un propósito estrictamente educativo. Debes restringir la ejecución del servidor a periodos breves de desarrollo o configuración y destruir el entorno virtual inmediatamente después de finalizar tu sesión.
- Prerrequisitos
- Configuración Inicial del Repositorio
- Creación y Configuración del Codespace
- Instalación y Configuración de Playit.gg
- Configuración del Servidor de Minecraft
- Puesta en Marcha y Conexión
- Operación y Mantenimiento
- Preguntas Frecuentes (FAQ)
Para ejecutar este despliegue, requieres los siguientes elementos:
- Cuenta activa en GitHub.
- Cuenta registrada en Playit.gg.
- Archivo
.jardel servidor de Minecraft seleccionado (Fabric, Forge, Vanilla u otra variante).
- Crea un nuevo repositorio en GitHub. No añadas los archivos
README.md,.gitignoreni licencias en esta fase. - Sube los siguientes archivos a la raíz del repositorio:
java-execute.jar(Archivo de tu servidor de Minecraft, previamente renombrado).iniciar.pybackup.sh
- Navega a la pestaña Codespaces dentro de tu repositorio en GitHub.
- Haz clic en New codespace; luego, selecciona la máquina virtual con 4 núcleos y 16 GB de RAM.
- Espera a que el entorno se inicie de forma completa. Una vez abierto, ejecuta las siguientes acciones:
- Crea dos directorios independientes:
serveryplayit. - Instala la extensión de Python desde el marketplace integrado de VS Code.
- Mueve el archivo
java-execute.jaral interior de la carpetaserver.
- Crea dos directorios independientes:
- Abre una nueva terminal en la interfaz del codespace.
- Navega al directorio correspondiente y descarga el agente oficial mediante los siguientes comandos:
cd playit
curl -L -o playit [https://github.com/playit-cloud/playit-agent/releases/latest/download/playit-linux-amd64](https://github.com/playit-cloud/playit-agent/releases/latest/download/playit-linux-amd64)
chmod +x playit- Abre y edita el script
backup.sh. Actualiza la ruta del directorio base acd /workspaces/NOMBRE-DE-TU-REPO; además, modifica el mensaje del commit según tus convenciones de control de versiones. - Abre y edita el script
iniciar.py. Verifica que las variables de rutaserver_diryplayit_dirapunten directamente a tu repositorio. - Confirma la sintaxis de ejecución del archivo
.jaren el comando de Java dentro del mismo scriptiniciar.py. Ajusta los parámetros de asignación de memoria RAM (-Xmx,-Xms) en función de los recursos físicos de tu codespace.
- Ejecuta el servidor por primera vez en la terminal mediante el comando
cd server && java -jar java-execute.jar. Interrumpe el proceso conCtrl+C; después, abre el archivoserver/eula.txty cambia la líneaeula=falseaeula=truepara aceptar el acuerdo de licencia. - Abre una nueva sesión de terminal e inicia el túnel de red mediante el comando
cd playit && ./playit. El sistema generará una URL de vinculación; por lo tanto, accede a ese enlace para conectar el agente con tu cuenta web. - Añade un nuevo túnel desde la interfaz web de Playit.gg y define el "Tunnel Type" como Minecraft Java. Copia la dirección IP y el puerto asignados dinámicamente para conectar tu cliente de juego.
- Ejecución automatizada: Ejecuta el script principal en la terminal (
python iniciar.py) para arrancar los servicios del servidor y el túnel simultáneamente. - Interrupción del servicio: Aplica la combinación
Ctrl+Cen la terminal activa para detener los procesos en ejecución. - Respaldos de seguridad: Ejecuta el script
./backup.shpara empaquetar y subir los datos persistentes al repositorio remoto.
- ¿Cómo permito el acceso a jugadores sin cuentas Premium? Abre el archivo
server.properties; busca la variableonline-mode=truey modifícala aonline-mode=false. - ¿Cómo modifico la dificultad del mundo? Edita el archivo
server.propertiesy asigna el parámetro deseado a la variabledifficulty=(opciones admitidas: peaceful, easy, normal, hard). - ¿Cómo personalizo el mensaje de bienvenida (MOTD)? Localiza la variable
motd=en el archivoserver.propertiesy reemplaza el valor predeterminado por el texto descriptivo de tu servidor. - ¿Cuál es el procedimiento para instalar mods o datapacks? Sube los archivos en formato
.jaro.zipdirectamente a las subcarpetas correspondientes (comomodsoworld/datapacks) dentro del directorioserverde tu codespace.
Ejecuta la siguiente secuencia de diagnóstico para corregir fallos críticos durante el despliegue del sistema operativo virtual.
- Audita la configuración de la máquina virtual si el entorno falla durante la fase de inicialización. Revisa la documentación oficial sobre la creación de un Codespace para validar los prerrequisitos del repositorio.
- Reduce la asignación de memoria RAM en el script
iniciar.pysi el servidor colapsa de forma abrupta. El núcleo de Linux aniquilará el proceso de Java forzosamente porque el contenedor virtual carece de particiones de intercambio (swap). - Detiene y reinicia el agente de túneles si Playit.gg omite la impresión de la URL de vinculación. Asegura la ejecución del proceso en una instancia de terminal independiente para evitar la interrupción de los hilos de red principales.