spark: cómo saber qué da lag en tu servidor de Minecraft
Quitar plugins a ciegas o subir la RAM «por si acaso» suele no arreglar nada. spark mide en qué se le va el tiempo al servidor y te dice el culpable con nombre: un plugin, un mod, una granja o la generación del mundo. En Paper ya viene puesto.
Qué es spark y dónde está
spark es un perfilador: mira muchas veces por segundo qué está haciendo el servidor y lo suma. Al final ves un árbol con el porcentaje de tiempo que se lleva cada cosa, como el administrador de tareas de Windows, pero dentro de Minecraft.
En Paper viene incluido desde la 1.21: es el perfilador oficial y sustituye a los antiguos «timings», que Paper dejó apagados. No hay que instalar nada; los comandos empiezan por /spark y piden ser administrador (op).
En Fabric, Forge o NeoForge es un mod que se instala solo en el servidor (los jugadores no lo necesitan). Está en Modrinth con el nombre spark.
¿Prefieres no montarlo tú? Servidores de Minecraft desde 6 € al mes, sin permanencia y con devolución íntegra en 72 horas. O crea un servidor de Minecraft gratis, sin tarjeta.
Primero, el pulso: /spark tps
Enseña los TPS (ticks por segundo) del último minuto, de los últimos 5 y de los últimos 15, y el MSPT: los milisegundos que tarda cada tick. Minecraft quiere 20 ticks por segundo, así que cada tick tiene 50 ms. Con el MSPT por debajo de 50, el servidor va sobrado aunque los TPS digan 20; por encima de 50, los TPS empiezan a bajar y se nota.
Si los TPS están en 20 y aun así a alguien le va a tirones, el problema no es el servidor sino la conexión de ese jugador o su ordenador (lo explica la guía de lag).
/spark health da una foto más completa: TPS, MSPT, memoria usada, uso de procesador y disco. Es lo primero que conviene pegar si pides ayuda a alguien.
Busca al culpable: el perfilador
Espera a que haya lag
Perfilar un servidor vacío no sirve de nada. Hazlo cuando se note: con gente conectada, al explorar o cuando las granjas están cargadas.
Arráncalo con tiempo fijo
/spark profiler start --timeout 300 lo deja midiendo 5 minutos y se para solo. Con menos de un par de minutos el informe sale demasiado ruidoso.
Abre el enlace
Al acabar, spark sube el informe y te da un enlace a su visor web. No hay que descargar nada; el enlace se puede pasar a quien te ayude.
Si el lag va a golpes
Para los parones de un segundo que van y vienen, mejor /spark profiler start --only-ticks-over 100 --timeout 300: así solo guarda los ticks que tardaron más de 100 ms, y el culpable no se diluye entre los ticks buenos.
Cómo leer el informe sin ser programador
Arriba sale un árbol que empieza en «Server thread», el hilo principal donde pasa todo el juego. Ve abriendo siempre la rama con el porcentaje más alto, sin pararte en las pequeñas.
Si al bajar aparece el nombre de un plugin o un mod (spark lo marca a la derecha de cada línea) con un porcentaje grande, ya tienes sospechoso. Lo normal es que los plugins se lleven poco; uno que se lleve un 20 o un 30 % del tick tiene un problema o una configuración que pide demasiado.
Si lo que pesa lleva «entity» o «chunk» en el nombre, es el mundo: demasiados animales, objetos en el suelo, aldeanos o tolvas. Si pesa la generación de chunks, es que estáis explorando zonas nuevas.
Y si no hay nada claro pero el informe enseña mucho tiempo en «GC» (el recolector de basura de Java), la memoria va justa: el servidor se pasa el rato limpiándola.
Qué hacer con lo que encuentres
Un plugin o un mod: mira si hay una versión más nueva, revisa su configuración (muchos tienen tareas cada pocos ticks que se pueden espaciar) o cámbialo por otro que haga lo mismo. Haz una copia antes de quitar nada.
Entidades: limita el tamaño de las granjas, recoge los objetos sueltos y no amontones aldeanos. Bajar «simulation-distance» en server.properties reduce lo que se simula alrededor de cada jugador y suele notarse mucho.
Generación de mundo: pregenera el mundo con Chunky y pon un borde con /worldborder. Lo explorado una vez ya no cuesta.
Memoria: si los GC son largos y frecuentes, el servidor necesita más RAM o menos mods. Ahí sí, más RAM arregla el lag.
En NapNodes
Los servidores de Minecraft se entregan en Paper con la última versión, así que spark ya está: abre la «Consola» del servidor en el panel y escribe spark tps (en la consola, sin la barra). En «Inicio», la pantalla del servidor, ves a la vez cuánta memoria y cuánto procesador gasta, y en «Configuración avanzada» → «Rendimiento», sus gráficas.
La RAM de tu plan es solo tuya, sin sobreventa: si spark dice que el lag es tu mundo o tus plugins, lo arreglas tú en tu servidor; no depende de lo que hagan otros clientes en la misma máquina. Y si resulta que te falta memoria, se la das sin reinstalar nada ni perder el mundo: «Más RAM» en «Mi plan y facturas» o «Contratar RAM» en «Mis servidores» (lo explica la guía para darle más RAM).
En Fabric, Forge o NeoForge, búscalo en «Mods y plugins» del panel y se instala con un clic.
Preguntas frecuentes
¿Cómo sé qué plugin da lag en mi servidor de Minecraft?
Con spark: /spark profiler start --timeout 300 mientras hay lag, y en el informe abre siempre la rama con el porcentaje más alto. Al lado de cada línea pone de qué plugin o mod es.
¿Hay que instalar spark en Paper?
No. Paper lo trae incluido desde la 1.21 como perfilador oficial. En Fabric, Forge o NeoForge sí: es un mod que va solo en el servidor.
¿Qué es el MSPT?
Los milisegundos que tarda el servidor en cada tick. Para mantener 20 TPS cada tick tiene 50 ms: por debajo de 50 va bien; por encima, el servidor se retrasa y se nota el lag.
¿Siguen existiendo los timings de Paper?
Paper los dejó apagados en la 1.21 y recomienda spark en su lugar. Si una guía vieja te dice que uses /timings, usa /spark profiler.
¿Lo montamos?
Servidores de Minecraft desde 6 € al mes, sin sobreventa: tu RAM es solo tuya. Y si quieres empezar sin pagar, tienes un servidor de Minecraft gratis, sin tarjeta.
¿Tu servidor no aparece en el juego? Compruébalo en un segundo con «¿Está encendido mi servidor?»: jugadores, versión y MOTD, gratis. ¿Necesitas el UUID de un jugador para la whitelist o los permisos? Búscalo aquí. ¿Vas a dar objetos encantados? Crea el comando con el generador de /give.