Instalación y Primeros Pasos
Esta guía detalla los prerrequisitos del sistema, el flujo de trabajo de desarrollo local y el proceso de despliegue en producción para CraftLab.
Prerrequisitos
Antes de configurar CraftLab, asegúrate de tener instalado el siguiente software en tu entorno:
| Componente | Versión Mínima | Notas |
|---|---|---|
| Java Development Kit | JDK 21 (Temurin u OpenJDK) | Requerido para compilar y ejecutar CraftLab-plugin |
| Python | 3.11+ | Requerido para CraftLab-backend y CraftLab-ctl |
| Node.js | 20.x LTS | Requerido para el Web Studio (CraftLab-frontend) y el panel web |
| Servidor Minecraft Paper | 1.21.1+ | Entorno de ejecución del servidor de juegos con Java 21 |
| PacketEvents | 2.14.0+ | Plugin de dependencia obligatoria instalado en el servidor Paper |
Inicio Rápido en Entorno de Desarrollo
La forma más veloz de iniciar la plataforma completa en tu máquina de desarrollo es mediante el script de automatización PowerShell:
.\scripts\dev.ps1Acciones automáticas ejecutadas por dev.ps1:
- Compila el Plugin de Paper: Genera
CraftLab-plugin/build/libs/CraftLab-plugin-1.0.0-SNAPSHOT.jarmediante Gradle. - Inicializa el Backend: Verifica el entorno virtual
CraftLab-backend\.venvy migra las tablas de base de datos. - Inicia Backend y Gateway WebSocket: Arranca FastAPI en
http://127.0.0.1:8000. - Inicia el Web Studio Frontend: Arranca el servidor de desarrollo Vite en
http://localhost:3000. - Abre el Navegador: Lanza tu navegador predeterminado apuntando a
http://localhost:3000.
Modos de Ejecución en Desarrollo
-
Solo Servicios Web (sin compilar ni desplegar el JAR del plugin):
Ventana de terminal .\scripts\dev.ps1 -Mode web-only -
Auto-Despliegue a Servidor Paper Local:
Ventana de terminal .\scripts\dev.ps1 -PaperServerDir "C:\minecraft\paper-server"Copia automáticamente el JAR compilado a la carpeta
plugins/, genera el archivo de configuración por defecto si no existe y arranca el servidor Paper en una consola interactiva. -
Limpieza y Reinicio de Datos (elimina base de datos de prueba y caché de packs):
Ventana de terminal .\scripts\dev.ps1 -CleanData -
Detener Procesos en Ejecución:
Ventana de terminal .\scripts\dev.ps1 -Mode stop
Despliegue en Servidores de Producción
En entornos de producción, CraftLab se despliega mediante paquetes oficiales de release (craftlab-v<version>.tar.gz) administrados por el supervisor craftctl.
1. Descarga y Descompresión
Descarga el release correspondiente desde GitHub Releases:
mkdir -p /opt/craftlabcd /opt/craftlabtar -xzf craftlab-v0.3.3.tar.gz2. Configurar Variables de Entorno
Copia la plantilla .env.example a .env y configura tus credenciales seguras:
cp .env.example .envnano .envParámetros clave a personalizar:
CRAFTLAB_SECRET_KEY: Cadena aleatoria robusta para firma de tokens JWT.CRAFTLAB_GATEWAY_SECRET: Contraseña compartida para la conexión WebSocket del plugin del servidor.CRAFTLAB_HOST/CRAFTLAB_PORT: Interfaz de red y puerto de enlace (por defecto127.0.0.1:8000).
3. Instalar y Controlar mediante craftctl
Instala el paquete Python complementario:
pip install craftlab_ctl-0.3.3-py3-none-any.whlEjecuta el diagnóstico del sistema:
craftctl doctorInicia los servicios en segundo plano:
craftctl startComprueba el estado de la plataforma:
craftctl status