empyrean
Adéntrate en el Reino Empíreo, una impresionante dimensión celestial que redefine la exploración vertical en Hytale. Isl...

Un sistema de balanceo de carga para servidores de Hytale con autenticación JWT. Soporta dos modos de operación: lobby (redirige jugadores) y target (recibe jugadores redirigidos).
MLoadBalancer es una alternativa nativa a BungeeCord (proxies de Minecraft) desarrollada específicamente para Hytale.
¿Por qué usar MLoadBalancer en lugar de BungeeCord?
Comparación rápida:
Si vienes de Minecraft y conoces BungeeCord, ¡MLoadBalancer cumple la misma función, pero de una manera más integrada y nativa para Hytale!
¿Qué es esto?
MLoadBalancer te permite tener un servidor de lobby que distribuye automáticamente a los jugadores a múltiples servidores de juego. Es como una “puerta de entrada” que dirige a los jugadores a diferentes salas de juego.
¿Cómo funciona?
Características
LoadBalancerBeforeRedirectEvent – se activa antes de la redirección del jugador (lobby)PlayerLobbyConnectionEvent – se activa cuando los jugadores se conectan desde el lobby (target)Cómo Usar (Guía Paso a Paso)
Necesitas dos tipos de servidores:
⚠️ ADVERTENCIA: Este es el paso más importante!
El jwt.secret es como una “contraseña maestra” que TODOS los servidores deben compartir. Se utiliza para crear y validar tokens de autenticación.
Reglas del Secreto:
Cómo crear un buen secreto:
❌ Malo: "secret123"
✅ Bueno: "MySuperSecretKey2024!ThatNobodyCanGuess12345@#$%"
✅ Excelente: Usa un generador de contraseñas aleatorias con 40+ caracteres
Ejemplo práctico:
"jwt.secret": "MySuperSecurePassword2024!DontShare123""jwt.secret": "MySuperSecurePassword2024!DontShare123" ✅"jwt.secret": "MySuperSecurePassword2024!DontShare123" ✅¡Si algún servidor tiene un secreto diferente, los tokens no funcionarán!
Edita el archivo: config/com.machina/mloadbalancer/config.json5
Nota: Los mensajes para los jugadores se configuran en un archivo separado: config/com.machina/mloadbalancer/translation.json5. Consulta la sección “Mensajes Configurables” a continuación para más detalles.
{
// Habilitar o deshabilitar el balanceador de carga globalmente
// Cuando es falso, el plugin no hace nada (útil para mantenimiento o pruebas)
"enabled": true,
// Cómo funciona este servidor: "lobby" significa que redirige a los jugadores
"mode": "lobby",
// CONTRASEÑA COMPARTIDA - ¡Debe ser la MISMA en TODOS los servidores!
"jwt": {
"secret": "YOUR-SUPER-SECURE-PASSWORD-HERE-MINIMUM-32-CHARACTERS",
"expirationMinutes": 5
},
// Configuración del lobby
"lobby": {
// Cuando es verdadero, los jugadores NUNCA pueden permanecer en el lobby - siempre redirigidos o desconectados
"preventDirectConnections": true
},
// Cómo elegir qué servidor recibe al jugador
// "round-robin" = distribuye de manera uniforme (recomendado)
// "random" = elige aleatoriamente
"strategy": "round-robin",
// Lista de servidores target a los que redirigir a los jugadores
"servers": [
{
"name": "Game Server 1", // Nombre amigable (solo para registros)
"host": "192.168.1.100", // IP o dominio del servidor target
"port": 5520, // Puerto del servidor (el puerto predeterminado de Hytale es 5520)
"enabled": true // true = usar este servidor, false = desactivar temporalmente
},
{
"name": "Game Server 2",
"host": "192.168.1.101",
"port": 5520,
"enabled": true
},
{
"name": "Game Server 3",
"host": "game.example.com", // Puedes usar IP o dominio
"port": 5520,
"enabled": false // Desactivado - este servidor no recibirá jugadores
}
]
}
Edita el archivo: config/com.machina/mloadbalancer/config.json5 en CADA servidor target
Nota: Los mensajes para los jugadores se configuran en un archivo separado: config/com.machina/mloadbalancer/translation.json5. Consulta la sección “Mensajes Configurables” a continuación para más detalles.
{
// Habilitar o deshabilitar el balanceador de carga globalmente
// Cuando es falso, el plugin no hace nada (útil para mantenimiento o pruebas)
"enabled": true,
// Cómo funciona este servidor: "target" significa que recibe jugadores redirigidos
"mode": "target",
// CONTRASEÑA COMPARTIDA - ¡Debe ser EXACTAMENTE IGUAL que el servidor de lobby!
"jwt": {
"secret": "YOUR-SUPER-SECURE-PASSWORD-HERE-MINIMUM-32-CHARACTERS", // ¡MISMO que el lobby!
"expirationMinutes": 5
}
}
⚠️ Importante: ¡Hytale utiliza el puerto predeterminado 5520, no 25565 como Minecraft!
Asegúrate de:
Puedes deshabilitar globalmente el balanceador de carga sin eliminar el plugin configurando "enabled": false en la configuración:
{
"enabled": false, // Desactiva completamente el balanceador de carga
"mode": "lobby",
// ... resto de la configuración
}
Cuando está deshabilitado:
Predeterminado: true (habilitado)
JWT (JSON Web Token) es un “ticket de autenticación” seguro que prueba que un jugador vino del servidor de lobby.
Problema que resuelve:
¿Cómo funciona?
¿Por qué el secreto necesita ser el mismo? Es como una llave y una cerradura: la llave (secreto) que crea el token necesita ser la misma que valida. Si son diferentes, la validación falla.
Round-Robin (Recomendado):
Aleatorio:
Cuando está habilitado (true):
Cuando está deshabilitado (false):
PlayerReadyEvent)Recomendación: Mantenerlo siempre true para asegurar un comportamiento consistente.
❌ Intento: El jugador modifica el token en el cliente
✅ Resultado: La firma no coincide → Conexión rechazada
❌ Intento: El jugador se conecta directamente al target (sin token)
✅ Resultado: isReferralConnection() == false → Conexión rechazada
❌ Intento: El jugador usa un token expirado
✅ Resultado: La validación falla → Conexión rechazada
Adéntrate en el Reino Empíreo, una impresionante dimensión celestial que redefine la exploración vertical en Hytale. Isl...
Actualmente añade: 5 Armas Cuerpo a Cuerpo Barra de Neumático (Espada) Bate de Béisbol (Maza) Martillo de Guerra (Maza) ...
🌱 Eternal Seeds Protection Romper accidentalmente semillas eternas completamente crecidas y perderlas para siempre pued...
Las futuras actualizaciones añadirán más variantes de madera (tablas, cercas, techos, etc.) con el objetivo de tener var...
Hytale Discord Whitelist Mod para servidores de Hytale para poner en la lista blanca a los usuarios utilizando un código...
Este mod simplemente aumenta el tamaño de apilamiento de los MINERALES. NO de las BARRAS. ¡Planeo actualizar esto en el ...