Server crash fixes

Server crash fixes

Por Jamo_sh 18 de enero de 2026
#comunidad#Correcciones de caídas del servidor#errores#Hytale#Juegos#plugins#servidores

Server fixes 1.1.1

Este plugin tiene como objetivo solucionar (o reducir el impacto de) una serie de errores en el archivo jar del servidor de Hytale que pueden provocar que el servidor se caiga o que los hilos del mundo se bloqueen. A continuación, encontrarás información sobre las correcciones.

Crash de referencia de objeto nulo en el ítem recogido

Excepción

java.lang.NullPointerException: No se puede invocar "com.hypixel.hytale.component.Ref.isValid()" porque "targetRef" es nulo; en com.hypixel.hytale.server.core.modules.entity.item.PickupItemSystem.tick(PickupItemSystem.java:69); en com.hypixel.hytale.component.system.tick.EntityTickingSystem.doTick(EntityTickingSystem.java:92); en com.hypixel.hytale.component.system.tick.EntityTickingSystem.tick(EntityTickingSystem.java:36); en com.hypixel.hytale.component.Store.tick(Store.java:1971); 
...  

¿Por qué está ocurriendo esto?

Esto ocurre si se crea un PickupItemComponent sin utilizar los constructores que establecen el targetRef (por ejemplo, si se genera o se carga desde datos utilizando el códec) o si algún plugin/mod accidentalmente pasa un valor nulo.

¿Cómo soluciona esto ServerFixes?

Serverfixes monitoriza entidades PickupItem inválidas y las eliminará durante los ticks del mundo antes del PickupItemSystem, previniendo el crash; esto se registra en la consola cuando ocurre.

Mitigación de crash de arquetipo MountedComponent

Excepción

Excepción en el hilo Thread[#72,WorldThread - default,5,InnocuousForkJoinWorkerThreadGroup]:  
java.lang.IllegalArgumentException: ComponentType no está en el arquetipo: ComponentType{} ……..  
en com.hypixel.hytale.component.Archetype.validateComponentType(Archetype.java:146)  
en com.hypixel.hytale.component.Holder.removeComponent(Holder.java:304)  
en com.hypixel.hytale.component.Store.removeComponent(Store.java:1254)  
en com.hypixel.hytale.component.CommandBuffer.lambda$removeComponent$0(CommandBuffer.java:430)  
en com.hypixel.hytale.component.CommandBuffer.consume(CommandBuffer.java:520)  

¿Por qué está ocurriendo esto?

Esto sucede porque hay una verificación validateComponentType en los eventos ECS que asegura que el componente realmente existe. Si la cola de comandos contiene más de una actualización de RelativeMovement o AbsoluteMovement, lo cual es muy posible en un servidor ocupado, el búfer de comandos termina conteniendo múltiples comandos “eliminar MountedComponent”; el primero cambia el arquetipo de las entidades (en este punto el componente ya no está) y luego la segunda eliminación activa validateComponentType(…) y lanzará una excepción.

¿Cómo soluciona esto ServerFixes?

Serverfixes monitoriza PlayerInput.getMovementUpdateQueue y la recorta para asegurarse de que solo contenga un evento de movimiento cuando un jugador está montado después de 600 ms. Esto puede causar un pequeño temblor en el movimiento dentro del juego, pero es un pequeño detalle visual que solo ocurrirá en casos donde el mundo de otro modo se caería.

NullPointerException No se puede leer la longitud del array porque “<local15>” es nulo en npcReferences onEntityRemove

Excepción

Excepción en el hilo Thread[#151,WorldThread - default,5,InnocuousForkJoinWorkerThreadGroup]:
java.lang.NullPointerException: No se puede leer la longitud del array porque "<local15>" es nulo
en com.hypixel.hytale.server.npc.systems.SpawnReferenceSystems$MarkerAddRemoveSystem.onEntityRemove(SpawnReferenceSystems.java:166)
en com.hypixel.hytale.component.Store.removeEntity(Store.java:848)
en com.hypixel.hytale.component.CommandBuffer.lambda$removeEntity$0(CommandBuffer.java:292) en com.hypixel.hytale.component.CommandBuffer.consume(CommandBuffer.java:520)
...

¿Por qué está ocurriendo esto?

Cuando el servidor elimina un NPC, ejecuta un gancho de limpieza que actualiza el marcador de aparición del NPC. Durante la limpieza, el servidor realiza “eliminar este NPC de la lista del marcador” recorriendo esa lista. Pero como la lista es nula, Java se bloquea inmediatamente cuando intenta recorrerla (“no se puede leer la longitud del array porque es nulo”), y el hilo del mundo muere. En el caso que falla, el marcador de aparición está en un estado inconsistente donde:

  • todavía piensa que hay NPCs generados (spawnCount > 0)
  • pero su lista interna de referencias de NPC (npcReferences) está ausente (nula)

¿Cómo soluciona esto ServerFixes?

ServerFixes añade una pequeña guardia de pre-limpieza que se ejecuta antes del código de limpieza defectuoso del servidor.

  • Si el NPC está siendo eliminado y el marcador de aparición vinculado tiene spawnCount > 0 y npcReferences == null (la condición exacta del crash), ServerFixes ajusta el spawnCount del marcador para que el código de limpieza del servidor omita la rama que recorrería el array nulo.

¡AYUDA! Mi servidor se ve afectado por un error fatal que causa caídas, pero Server Fixes no incluye una solución

No dudes en contactarme a través de mi servidor de Discord enlazado en esta publicación, o enviándome un DM en Discord (jamo.sh) y estaré encantado de revisar tu registro e implementar una solución donde sea posible.

Enlaces

Servidor de Discord del plugin

Comunidad de propietarios de servidores

Relacionados:

Jax – Orbis Evolved

Jax – Orbis Evolved

#comunidad#Herramientas#Hytale

Orbis Evolved: Una Revisión de la Progresión Orbis Evolved reescribe completamente cómo progresas a través del mundo. Es...

HyHomes

HyHomes

#comunidad#gestión#Hytale

# 🏠 Sistema HyHome### *Plugin Esencial de Gestión de Hogares para Hytale* ## 📋 **CARACTERÍSTICAS** El Sistema HyHome p...

MPChatGames

MPChatGames

#chat#comunidad#Hytale

Mini-juegos de chat atractivos para servidores de Hytale ¡Un plugin divertido e interactivo que ejecuta juegos de chat p...

Alterverses

Alterverses

#actualización#cambio#comunidad

Change your Hytale server name 18 January 2026 ...

FAQ Hytale

FAQ Hytale

#Aventura#comunidad#Creación

Bienvenido a la FAQ de Hytale, tu recurso principal para todas las preguntas y curiosidades que puedas tener sobre este ...