Explorando el Código de HytaleServer.jar

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

Hytale permite la creación de complementos y mods a través del servidor, pero para comprender mejor su funcionamiento puede ser útil explorar el código del HytaleServer.jar. Esto se hace mediante descompilación y preparación de un entorno que facilite la navegación del código fuente.

La herramienta oficial patcher permite configurar un proyecto listo para explorar Hytale Server, incluyendo la descompilación de paquetes clave y la creación de un proyecto Maven para navegar el código en un IDE.

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

¿Por qué explorar HytaleServer.jar?

Si agregas un .jar compilado como biblioteca, IntelliJ solo permite descompilar clase por clase, sin funcionalidades de búsqueda avanzada. Por ejemplo:

  • No puedes hacer clic derecho sobre una clase y usar Find Usages
  • Tampoco es fácil rastrear instancias, referencias o jerarquías de herencia

El patcher genera un proyecto completo del servidor donde puedes:

  • Buscar cualquier clase o función
  • Navegar paquetes y dependencias
  • Explorar la estructura de código que maneja eventos, players, NPCs, worldgen, y más

Si surge algún problema, contacta al autor en este post en el Discord de Hytale Modding.


Instrucciones paso a paso

Si prefieres videos, existe un excelente tutorial de Hyphen45, aunque las instrucciones escritas han sido actualizadas y mejoradas desde entonces.

1. Clonar el repositorio del patcher

git clone https://github.com/HytaleModding/patcher.git
cd patcher

2. Crear un entorno virtual de Python

Dependiendo del sistema operativo, usa uno de estos comandos:

  • python -m venv .venv
  • python3 -m venv .venv (Linux)
  • py -3.13 -m venv .venv (Windows, recomendado si tienes varias versiones de Python)

3. Activar el entorno virtual

  • Windows:

    • CMD: ".venv\Scripts\activate"
    • PowerShell: .\.venv\Scripts\activate
  • Linux/macOS: source .venv/bin/activate

A partir de ahora, usa python dentro del venv para ejecutar comandos.

4. Instalar dependencias de Python

pip install -r requirements.txt

5. Instalar y configurar herramientas externas

Asegúrate de tener estas dependencias y de que estén en tu PATH:

Después de actualizar tu PATH, cierra las terminales abiertas y abre una nueva para que los cambios surtan efecto.
Verifica con: git --version, mvn --version, java --version, jar --version.

6. Ubicar HytaleServer.jar

  • Colócalo en la raíz del repositorio patcher
  • O define la variable de entorno HYTALESERVER_JAR_PATH con la ruta del .jar

7. Ejecutar el setup del patcher

python run.py setup

¿Qué hace este comando?

  • Copia HytaleServer.jar a:
work/download
  • (Windows) Soluciona la colisión de nombres META-INF/license
  • Descompila solo el paquete com.hypixel usando Vineflower y guarda el resultado en:
work/decompile
  • Configura un proyecto Maven en:
hytale-server
  • Agrega todas las demás librerías necesarias en pom.xml automáticamente

Luego puedes abrir hytale-server en tu IDE favorito, por ejemplo IntelliJ IDEA. Configura SDK y Language level a 25 en Ctrl+Alt+Shift+S > Project.

Nota: El código descompilado puede no estar completamente funcional, pero es útil para exploración y referencias.


Añadiendo HytaleServer como dependencia

  1. En la terminal, dentro de hytale-server/src/main/java ejecuta:
jar -f hytale-server-stripped.jar -c com
  1. Luego, aún en la misma carpeta:
mvn install:install-file -Dfile=hytale-server-stripped.jar -DgroupId="com.hypixel.hytale" -DartifactId=HytaleServer-stripped -Dversion="1.0-SNAPSHOT" -Dpackaging=jar
  1. Finalmente, en tu proyecto de plugin, agrega esta dependencia en tu pom.xml:
<dependency>
    <groupId>com.hypixel.hytale</groupId>
    <artifactId>HytaleServer-stripped</artifactId>
    <version>1.0-SNAPSHOT</version>
    <scope>provided</scope>
    <!-- otras dependencias también... -->
</dependency>

Recargando proyectos Maven

En IntelliJ, a veces necesitarás recargar el proyecto Maven:

  • Haz clic en el ícono “m” en la parte derecha (Maven Projects)
  • Si no lo ves: habilítalo en View → Tool Windows → Maven

Esto garantiza que cualquier cambio en pom.xml se aplique correctamente en tu proyecto.