Apoyamos completamente al equipo de Hytale y recomendamos que compres el juego oficial cuando esté disponible.
Hytale Launcher Core es un paquete completo que permite instalar, parchear y ejecutar Hytale. Hemos desarrollado diversas herramientas internas y APIs que la comunidad de desarrolladores puede utilizar para crear proyectos similares o integrar funcionalidades relacionadas.
- Gestión de versiones: Descarga e instalación de diferentes versiones de Hytale (release y pre-release)
- Sistema de parches: Modificación automática de binarios para redireccionar a servidores personalizados
- Gestión de dependencias: Instalación automática de Java y Butler cuando sea necesario
- Sistema de autenticación: Soporte para modo online (con servidor de autenticación) y offline
- Manejo de procesos: Control completo sobre el proceso del juego con monitoreo en tiempo real
- Eventos extensibles: Sistema de eventos para integrar con interfaces de usuario
Para facilitar el desarrollo de la comunidad, hemos creado las siguientes APIs:
https://bvcrytgetpzniqfqdsng.supabase.co/storage/v1/object/public/json/manifest/java-runtime/Java-${version}-${type}-manifest.json
Provee información sobre las versiones de Java requeridas por Hytale.
https://bvcrytgetpzniqfqdsng.supabase.co/storage/v1/object/public/json/manifest/hytale-manifest.json
Contiene el manifiesto completo con todas las versiones disponibles de Hytale, información de compatibilidad y metadatos.
- HytaleDownloader: Maneja la descarga de versiones de Hytale desde los servidores
- ButlerManager: Gestiona la instalación y uso de Butler para extraer archivos PWR
- JavaManager: Administra la instalación y verificación de Java
- PatcherManager: Aplica parches a los ejecutables de cliente y servidor
- HytaleLauncher: Coordina todo el proceso de lanzamiento del juego
El proceso completo sigue estos pasos:
- Obtención del manifiesto: Se descarga el archivo JSON con todas las versiones disponibles
- Construcción de URL: Se genera la URL específica para la versión y plataforma solicitada
- Descarga del PWR: Se obtiene el archivo comprimido que contiene el juego completo
- Extracción con Butler: Se utiliza Butler para descomprimir el archivo PWR
- Aplicación de parches: Se modifican los ejecutables para redireccionar a servidores personalizados
- Verificación de dependencias: Se asegura que Java esté disponible y en la versión correcta
- Ejecución: Se lanza el juego con los parámetros adecuados
- Node.js: Versión 18.0.0 o superior
- Sistema operativo: Windows, macOS o Linux
- Espacio en disco: ~1.5GB para instalación completa ( Del Juego )
- Conexión a internet: Para descarga inicial y actualizaciones
# Clonar el repositorio
git clone https://github.com/Stepnicka012/Hytale-Launcher-Core.git
# Instalar dependencias
npm install
# Construir el proyecto
npm run buildimport { HytaleLauncher, Folder } from './index.js';
// Configurar rutas
const javaDir = Folder.getToolsPath();
const launcher = new HytaleLauncher(javaDir);
// Configurar opciones de lanzamiento
const options = {
username: 'MiUsuario',
gameDir: '/ruta/al/juego',
userDir: '/ruta/al/perfil',
offline: false,
repairServer: true
};
// Configurar callbacks
const callbacks = {
onStdout: (data) => console.log('Salida:', data),
onStderr: (data) => console.error('Error:', data),
onLaunchStatus: (status) => console.log('Estado:', status),
onExit: (code) => console.log('Código de salida:', code)
};
// Lanzar el juego
try {
await launcher.launchGame(options, callbacks);
} catch (error) {
console.error('Error al lanzar el juego:', error);
}hytale-launcher-core/
├── Manager/
│ ├── ButlerManager.ts # Gestión de Butler
│ ├── JavaManager.ts # Gestión de Java
│ └── PatcherManager.ts # Sistema de parches
├── Utils/
│ ├── EventEmitter.ts # Sistema de eventos
│ └── Folder.ts # Utilidades de rutas
├── HytaleDownloader.ts # Descargador principal
├── HytaleLauncher.ts # Lanzador principal
└── index.ts # Punto de entrada
launch-start: Inicio del proceso de lanzamientostatus: Actualizaciones de estado generaljava-found: Java encontrado/verificadotokens-*: Eventos relacionados con autenticaciónprocess-*: Eventos del proceso del juego
client-detected: Cliente encontrado durante el escaneoclient-patched: Cliente parcheado exitosamenteserver-detected: Servidor encontrado durante el escaneoserver-patched: Servidor parcheado exitosamentepatchAll-finished: Finalización del proceso de parcheo completo
const downloadOptions = {
versionId: '1.0.0',
type: 'release',
outputPath: '/ruta/personalizada',
extractPath: '/ruta/extraccion',
keepPWR: false,
maxRetries: 5,
enableResume: true
};const patchOptions = {
dryRun: false,
recurse: true,
includeUnknownJars: true,
includeClassFiles: false
};- Autenticación: El sistema soporta tanto autenticación online como offline
- Tokens JWT: Generación y validación de tokens para sesiones de juego
- Verificación de integridad: Chequeo de archivos descargados y parcheados
- Manejo seguro de credenciales: Almacenamiento local seguro de sesiones
- Requisitos de ingeniería inversa: Se requiere conocimiento avanzado para modificar los parches
- Dependencia de APIs externas: El sistema depende de nuestras APIs públicas
- Actualizaciones del juego: Los parches pueden requerir actualización con nuevas versiones de Hytale
- Compatibilidad: Algunas versiones antiguas pueden no ser compatibles
- Conocimiento avanzado de TypeScript/Node.js
- Experiencia en ingeniería inversa de binarios
- Comprensión de protocolos de red y autenticación
- Familiaridad con formatos de archivo (PWR, JAR, EXE)
- Soporte para más arquitecturas de CPU
- Mejora en la gestión de memoria para grandes descargas
- Sistema de plugins para funcionalidades extendidas
- Interfaz gráfica integrada
- Documentación completa: Disponible en docs.sanasol.ws
- Comunidad Discord: Únete a discord.gg/98SsAX7Ks9
- Reporte de issues: Utiliza el sistema de issues de GitHub
- Wiki del proyecto: Guías y tutoriales detallados
Este proyecto se distribuye bajo los términos de la licencia GPL-3.0. Sin embargo:
- Uso educativo: Este proyecto está destinado principalmente para fines educativos
- Respeto a los desarrolladores: Apoyamos a los desarrolladores oficiales de Hytale
- Comprar el juego oficial: Recomendamos encarecidamente comprar el juego cuando esté disponible
- Uso responsable: No utilices este software para infringir derechos de autor de Stepnicka012
- Este proyecto no esta afiliado ni respaldado por Hypixel Studios Canada Inc.
- Al equipo de Hytale por crear un juego increíble
- A la comunidad de desarrolladores por su continuo apoyo
- A todos los contribuidores que han ayudado a mejorar este proyecto
Nota: Este software está en desarrollo activo. Las APIs y funcionalidades pueden cambiar sin previo aviso. Siempre verifica la documentación más reciente antes de implementar en producción. oh unete a nuestro discord para tener avisos de Hytale-Launcher-Core
