El ecosistema de un servidor moderno de Hytale ya no se limita al juego en sí. Para ofrecer funciones avanzadas como mapas en vivo, tiendas, páginas de estadísticas o herramientas de administración remota, tu servidor debe ser capaz de comunicarse con la web. Aquí es donde entra en juego el Hytale WebServer Plugin.
En lugar de dejar que cada mod abra su propio puerto y gestione las conexiones de manera caótica, este plugin actúa como una base centralizada. Estandariza cómo tu servidor de Hytale expone los datos a través de HTTP, simplificando enormemente la vida de los administradores de sistemas y optimizando el rendimiento.
Instalación y Primer Inicio
La instalación de este plugin está diseñada para ser sencilla. Simplemente coloca el archivo .jar en la carpeta mods/ de tu servidor Hytale.
Puedes encontrar el JAR aquí: https://github.com/nitrado/hytale-plugin-webserver/releases/
Tras el primer lanzamiento, el servidor web se inicializará automáticamente. Por defecto, escucha en el puerto del servidor de juego + 3. Por ejemplo, si tu servidor Hytale funciona en el puerto 5520, el servidor web estará accesible en el puerto 5523.
Si necesitas modificar este comportamiento (específicamente si alojas varios servidores en la misma máquina), puedes crear o editar el archivo de configuración ubicado en: mods/Nitrado_WebServer/config.json.
Aquí tienes cómo cambiar la dirección y el puerto de escucha:
{
"BindHost": "0.0.0.0",
"BindPort": 8080
}
Gestión Avanzada de Seguridad TLS
Este es el núcleo de la configuración de este plugin. Hoy en día, exponer un servicio web sin cifrado es una práctica arriesgada. El plugin Hytale WebServer incluye soporte nativo para Transport Layer Security (TLS), permitiéndote cambiar de HTTP a HTTPS seguro.
Por defecto, el plugin es seguro. Si no tocas nada, generará automáticamente un certificado autofirmado. Esto es funcional para pruebas, pero los navegadores web de tus jugadores mostrarán una advertencia de seguridad porque la autoridad de certificación no es reconocida.
Para una configuración profesional, tienes tres opciones principales para definir en la sección Tls de tu config.json.
Usar tus Propios Certificados (PEM)
Si ya has comprado un nombre de dominio y generado certificados SSL de una autoridad reconocida, puedes proporcionarlos directamente al plugin. Este es el método recomendado para servidores establecidos que ya tienen una infraestructura web.
Necesitarás la ruta a tu certificado público y tu clave privada:
{
"Tls": {
"CertificateProvider": "pem",
"Pem": {
"CertificatePath": "/path/to/your/certificate.pem",
"PrivateKeyPath": "/path/to/your/private-key.pem"
}
}
}
Automatización con Let’s Encrypt
El plugin integra soporte para el protocolo ACME, lo que te permite obtener certificados gratuitos y automáticos a través de Let’s Encrypt. Para que esto funcione, tu servidor debe ser accesible públicamente en el puerto 80/443 (o el puerto configurado), y tu dominio debe apuntar a la IP del servidor.
Advertencia: Durante tus pruebas iniciales, deja el valor Production en false. Let’s Encrypt aplica límites estrictos de tasa en el entorno de producción. Cambia a true solo cuando tu configuración esté validada.
{
"Tls": {
"CertificateProvider": "letsencrypt",
"LetsEncrypt": {
"Domain": "my-hytale-server.com",
"Production": false
}
}
}
Desactivar TLS (Modo Inseguro)
En algunos casos muy específicos (por ejemplo, si tu servidor Hytale está detrás de un Proxy Inverso como Nginx o Apache que ya gestiona SSL), es posible que desees desactivar el cifrado a nivel del plugin para evitar una doble gestión.
Sin embargo, haz esto solo si sabes exactamente lo que estás haciendo y el servidor no está expuesto directamente a internet.
{
"Tls": {
"Insecure": true
}
}
Autenticación y Cuentas de Servicio
El plugin no solo sirve páginas; también asegura el acceso a los datos. Se integra directamente con el sistema de permisos de Hytale. Esto significa que puedes restringir el acceso a ciertas páginas web basándote en el rango del jugador en el juego.
El Usuario Anónimo
Para páginas públicas (como una lista de jugadores conectados visible para todos), el plugin utiliza el concepto de un "Usuario Anónimo". Tiene un UUID específico (compuesto por ceros) y pertenece al grupo ANONYMOUS.
Si deseas hacer accesibles ciertos datos sin contraseña, debes otorgar los permisos necesarios al grupo ANONYMOUS en el archivo permissions.json de tu servidor principal de Hytale.
Cuentas de Servicio
Para herramientas externas, como un bot de Discord que consulta el servidor para mostrar el estado, no se recomienda usar una cuenta de jugador. El plugin permite la creación de "Cuentas de Servicio".
Estas cuentas se definen a través de archivos JSON en la carpeta mods/Nitrado_WebServer/provisioning/. Permiten que los scripts se autentiquen mediante un método estándar de "Autenticación Básica" (Basic Auth) para realizar solicitudes seguras a tu servidor.
Por Qué Este Plugin es Esencial
Más allá de la configuración técnica, usar este WebServer unificado es una cuestión de rendimiento y estabilidad. Si instalas un plugin de estadísticas (como Query) o un plugin de monitoreo de rendimiento (como Prometheus), dependerán de este servidor web base.
Esto evita abrir 10 puertos diferentes en tu firewall para 10 mods distintos. Centralizas el tráfico HTTP/HTTPS, centralizas la gestión de certificados SSL y ofreces una interfaz estandarizada y segura para todo el ecosistema web de tu proyecto Hytale.
Fuente: Hytale.game
