El servidor se reinicia o se cae solo
Un servidor que se cae o se reinicia solo es frustrante. Esta guía te ayuda a encontrar la causa por orden: de lo más habitual a lo más raro.
Paso 1: lee el log y el crash report
- En Consola mira los últimos mensajes antes del reinicio, o abre
logs/latest.logy ve al final: el error está justo antes del mensaje de apagado. - Si hay un archivo en
crash-reports/(crash-AAAA-MM-DD_HH.MM.SS-server.txt), léelo. Fíjate en la línea de la excepción y en el *stack trace* que la sigue: el nombre del paquete suele indicar el plugin (com.sk89q.worldedit→ WorldEdit). - Palabras clave:
ERROR,FATAL,Exception,OutOfMemoryError,Watchdog,Killed.
Causa: OutOfMemoryError
java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: GC overhead limit exceeded
Java se quedó sin la memoria que tenía asignada.
- Sube la RAM asignada en Inicio (
-Xmx), dejando un 10-15 % libre respecto a tu plan. Si el plan se queda corto, mira la calculadora. - Busca una fuga de memoria. Si el servidor va bien durante horas y luego cae, probablemente hay un plugin que va acumulando memoria. Instala spark y ejecuta de vez en cuando
/spark heapsummary: verás qué clases crecen sin parar. - Revisa las flags de Aikar y que
-Xmsy-Xmxsean iguales.
Más contexto en la guía Arreglar OutOfMemoryError: Java heap space.
Causa: Watchdog (el servidor se queda «colgado»)
[WARN] A single server tick took 60.00 seconds (should be max 0.05)
[FATAL] The server has stopped responding! This is a crash report.
Un tick tardó demasiado (lag extremo o un bucle infinito en un plugin) y el *watchdog* cerró el servidor para que no quedara colgado. Para encontrar el responsable:
- Instala spark y ejecuta
/spark profiler startcuando empiece el lag; para con/spark profiler stop. - El informe muestra qué método o plugin bloquea el tick principal.
| Causa habitual | Qué ves | Solución |
|---|---|---|
| Plugin con bucle infinito | El mismo método repetido en el stack trace | Actualízalo o desinstálalo |
| Demasiadas entidades | El tick de entidades al tope del perfil | Baja los límites de mobs |
| Disco lento | Guardado o carga de chunks al tope | Pregenera el mapa |
| Redstone enorme | Ticks de bloques al tope | Revisa esas granjas |
| Consultas síncronas a base de datos | Llamadas MySQL en el tick principal | Actualiza el plugin a una versión asíncrona |
Existe un tiempo máximo antes de que el watchdog actúe (timeout-time en spigot.yml, 60 s por defecto). Subirlo no arregla nada: solo retrasa el cierre. No lo hagas salvo como medida temporal mientras investigas.
Causa: un plugin falla
[SEVERE] Could not pass event ... to PluginX v1.2.3
java.lang.NullPointerException
at com.pluginx.ClaseX.metodo(ClaseX.java:123)
- Mira el stack trace: el nombre del paquete suele indicar el plugin.
- Si no está claro, para el servidor y renombra los
.jarde uno en uno a.jar.disabled(empezando por los más recientes). Cuando deje de fallar, el último que quitaste es el culpable. - Actualiza el plugin; si no hay versión nueva, avisa a su autor o busca una alternativa mantenida.
Causa: un reinicio programado
Si el servidor «se reinicia solo» sin ningún error, revisa Tareas: puede haber una tarea programada con una acción de reinicio.
Causa: el sistema cierra el proceso por memoria
Si el log se corta de golpe, sin ningún error, el sistema pudo cerrar el proceso por quedarse sin memoria (no el *heap* de Java, sino la memoria total). Es raro, pero pasa si -Xmx es casi igual a la RAM de tu plan. Baja -Xmx para dejar un 10-15 % libre; si sigue, escríbenos y lo miramos desde el nodo.
Lista de comprobación
- ¿Hay un crash report en
crash-reports/? Léelo. - ¿Aparece
OutOfMemoryError? Más RAM o buscar una fuga. - ¿Aparece
Watchdog? Usa spark. - ¿Sale el nombre de un plugin en el error? Actualízalo o quítalo.
- ¿El log se corta sin error? Baja
-Xmxy avísanos. - ¿Se reinicia a horas fijas? Mira Tareas.
Herramientas útiles
| Herramienta | Para qué |
|---|---|
| spark | Perfiles de rendimiento y memoria |
| mclo.gs | Subir logs para compartirlos |
| Timings de Paper | Análisis de timings (versiones antiguas de Paper) |
Si no encuentras la causa, sigue Por dónde empezar y escríbenos con el log completo.