El software Cliente de Hytale: arquitectura y limitaciones de modding

Hytale: Guías, Mods, Opiniones | Videojuegos en CIBERED

El cliente de Hytale es el componente que los jugadores utilizan para interactuar con el juego.

Está diseñado para ejecutar el juego de manera segura, estable y eficiente, mientras que toda la lógica de modding y personalización se maneja desde el servidor.

Esto asegura que todos los jugadores tengan una experiencia consistente y evita problemas de seguridad y compatibilidad.

Cómo crear un MOD de Hytale: Guía completa paso a paso desde cero

Sin modding del lado del cliente

Hytale no permite mods en el cliente.

Según el equipo de desarrollo:

  • No hay planes para soportar modificaciones del cliente
  • Toda personalización debe realizarse a través de modding del servidor

¿Por qué no se permiten mods del cliente?

Los objetivos de la NO existencia de un software cliente editable, son:

  1. Evitar ecosistemas fragmentados: cada servidor no requerirá un cliente modificado distinto
  2. Seguridad del jugador: ejecutar archivos .jar de terceros puede introducir malware
  3. Estabilidad del cliente: bloquear el modding desde el principio permite un desarrollo consistente y prepara futuras plataformas

Como explica Slikey, todas las modificaciones que otros juegos logran con mods del cliente, como nuevos bloques, NPCs, UI o sistemas de combate, en Hytale se logran solo escuchando al servidor.

Esto, permite crear mundos completamente personalizados sin alterar el cliente, similar a cómo funciona Roblox: los jugadores solo cargan la experiencia que quieren, sin la necesidad de modificar nada dentro de la aplicación base.


Casos típicos de mods del cliente y por qué no son necesarios

  • Cosmética: texturas, shaders y capas son controladas por el servidor
  • Rendimiento: el cliente incluye controles integrados
  • Accesibilidad: la experiencia base ya está optimizada
  • Interfaz de usuario: toda la UI está definida por el servidor

En resumen, el cliente es un receptor seguro y confiable, mientras que el servidor maneja todo lo relacionado con contenido, lógica y personalización.


Predicción y ejecución del lado del cliente

Hytale utiliza predicción del cliente basada en datos para reducir la percepción de lag. Aunque toda la interacción ocurre en el servidor:

  • Algunos sistemas ya implementan predicción de manera limitada
  • Está planificada una integración futura con Visual Scripting para optimizar la experiencia

Además, el equipo está explorando permitir ejecución de código enviada desde el servidor al cliente, lo que es distinto al modding del cliente y podría ampliar la interactividad sin comprometer a la seguridad.


Modelos y assets

  • El cliente acepta archivos en formato .blockymodel, el formato personalizado de Hytale
  • Los modelos se pueden exportar directamente desde Blockbench con el plugin oficial
  • Esto asegura compatibilidad completa con el pipeline de assets del juego

Detalles técnicos del cliente

  • Lenguaje y compilación: escrito en C#, compilado a código máquina mediante NativeAOT
  • Multihilo: el cliente aprovecha múltiples núcleos para un rendimiento eficiente
  • GUI: construida con NoesisGUI usando bindings en C#
  • Versión única: solo habrá una versión oficial y actualizada del cliente, evitando la fragmentación y facilitando que los servidores confíen en que todos los jugadores usan la misma versión

Esto significa que todos los mods y personalizaciones deben pasar por el servidor, ya que no hay forma oficial de modificar el código del cliente.


Conclusión

El cliente de Hytale está diseñado para ser seguro, estable y confiable:

  • No es moddable: toda personalización ocurre en el servidor
  • Optimizado para rendimiento, multihilo y compatibilidad futura
  • Ejecuta la interfaz y los modelos de manera eficiente, pero la lógica y los datos provienen del servidor
  • Permite experiencias completamente personalizadas sin comprometer la seguridad del jugador

Este enfoque refuerza la filosofía server-first, asegurando consistencia y confiabilidad mientras permite a los creadores diseñar mundos y experiencias completas.