Volver al blog

Cómo reducir el lag de tu servidor de Minecraft con server.properties

Reduce el lag de tu servidor de Minecraft gratuito: view-distance, simulation-distance, compresión de red, Paper y spark explicados paso a paso.

Cómo reducir el lag de tu servidor de Minecraft con server.properties

¿Tu servidor de Minecraft gratuito empieza a ir lento en cuanto se conectan unos cuantos amigos? Buena noticia: gran parte del lag se soluciona en un solo archivo, server.properties. Esta guía te explica qué ajustes cambiar, qué valores elegir y cómo medir el resultado.

Por qué cada ajuste cuenta en un servidor gratuito

Un servidor gratuito tiene recursos limitados: poca memoria, una parte compartida del procesador y un almacenamiento reducido. Sin embargo, Minecraft es exigente: calcula el mundo 20 veces por segundo, carga chunks continuamente y mueve cientos de entidades. Los ajustes por defecto están pensados para una máquina potente. Si los adaptas a tu servidor, puedes conseguir partidas fluidas sin cambiar nada más.

Lag del servidor o lag de red: identifica primero el problema

Antes de tocar nada, averigua qué tipo de lag tienes. Los dos tienen causas y soluciones distintas.

TipoSíntomasIndicador
Lag del servidorLos bloques rotos reaparecen, los mobs se congelan, los hornos van lentos, todos los jugadores lo notan a la vezTPS por debajo de 20, MSPT por encima de 50 ms
Lag de redSolo un jugador va a tirones, vuelve hacia atrás (rubber-banding), sus acciones llegan tardePing alto (barras de conexión en la lista Tab)

TPS y MSPT

El servidor hace avanzar el juego en ticks. El objetivo es 20 ticks por segundo (TPS), lo que deja un margen de 50 milisegundos por tick (MSPT). Mientras el MSPT se mantenga por debajo de 50 ms, el servidor conserva sus 20 TPS. Por encima, se retrasa y todo el mundo lo nota.

En Paper o Purpur, dos comandos muestran estos valores dentro del juego:

/tps
/mspt

El ping

Si los TPS se mantienen en 20 pero un jugador se queja, el problema seguramente viene de su conexión o de la distancia que lo separa del servidor. Los ajustes de este artículo no cambiarán gran cosa ahí, salvo la compresión de red.

Los ajustes de server.properties que importan

El archivo server.properties está en la raíz de tu servidor. Detén el servidor antes de editarlo y reinícialo después para aplicar los cambios.

ClavePor defectoRecomendado en un servidor gratuitoEfecto
view-distance106 a 8Radio de chunks enviados a los jugadores
simulation-distance104 a 6Radio en el que se simula el mundo
max-players20Según tus recursosJugadores conectados a la vez
network-compression-threshold256256 o 512Tamaño a partir del cual se comprimen los paquetes
entity-broadcast-range-percentage10050 a 80Distancia a la que se envían las entidades
sync-chunk-writestruetrue (false con precaución)Escritura síncrona de los chunks
max-tick-time6000060000Protección contra un servidor bloqueado

view-distance: la distancia de visión

Es el radio, en chunks, de la zona que se envía a cada jugador. También es el ajuste más costoso, porque el número de chunks cargados crece con el cuadrado de la distancia. Con un valor de 10, cada jugador carga una zona de 21 × 21 = 441 chunks. Con 6, solo carga 13 × 13 = 169, unas 2,6 veces menos.

view-distance=6

Los jugadores pueden elegir una distancia menor en sus opciones, pero nunca una mayor que la del servidor.

simulation-distance: donde el mundo cobra vida

Desde Minecraft 1.18, la simulación está separada de la visualización. simulation-distance fija el radio en el que las entidades se mueven, los cultivos crecen y la redstone funciona. Más allá, los chunks siguen visibles pero congelados. Un valor de 4 a 6 basta para la mayoría de servidores entre amigos.

simulation-distance=4

Ten en cuenta que las granjas automáticas solo funcionan si hay un jugador dentro del rango de simulación.

max-players: un número de jugadores realista

Cada jugador carga su propia zona de chunks y trae entidades consigo. Más vale tener 8 jugadores en un servidor fluido que 20 en uno que va a tirones. Fija un límite realista según los recursos de tu servidor y súbelo si los TPS se mantienen estables.

network-compression-threshold: la compresión de red

Este ajuste indica el tamaño, en bytes, a partir del cual se comprimen los paquetes. Comprimir ahorra ancho de banda, pero consume procesador. En un servidor con CPU limitada, un valor más alto, como 512, reduce el trabajo de compresión. El valor -1 desactiva por completo la compresión: resérvalo para servidores detrás de un proxy (BungeeCord, Velocity) en la misma red.

entity-broadcast-range-percentage: el alcance de las entidades

Este porcentaje regula la distancia a la que se envían las entidades (mobs, animales, objetos en el suelo, marcos) a los jugadores. Bajarlo entre 50 y 80 reduce los datos enviados en servidores llenos de animales o decoraciones. Los jugadores simplemente ven aparecer las entidades un poco más cerca.

sync-chunk-writes: la escritura de los chunks

Activado por defecto, este ajuste hace que el servidor escriba los chunks en el disco de forma síncrona. Así protege el mundo contra la corrupción si el servidor se cae, pero puede ralentizar los guardados en un almacenamiento lento. Ponerlo en false puede hacer el servidor más fluido, con el riesgo de perder los últimos cambios si se cae. Hazlo solo si haces copias de seguridad de tu mundo con regularidad.

max-tick-time: una protección, no un ajuste de rendimiento

Este valor, en milisegundos, es la duración máxima de un tick antes de que el servidor considere que está bloqueado y se detenga por sí mismo. Por defecto es 60000, es decir, un minuto. No reduce el lag. Deja el valor por defecto: con -1, la protección se desactiva y un servidor congelado se queda bloqueado en lugar de detenerse.

Ejemplo de configuración para un servidor gratuito

view-distance=6
simulation-distance=4
max-players=10
network-compression-threshold=256
entity-broadcast-range-percentage=75
sync-chunk-writes=true
max-tick-time=60000

Parte de estos valores, juega algunas partidas con tus amigos y sube view-distance un punto si el servidor se mantiene estable.

Pregenerar el mundo

Generar chunks nuevos es una de las tareas más pesadas para un servidor, sobre todo cuando los jugadores exploran rápido con élitros. Pregenerar el mapa antes de abrir el servidor elimina estos picos: nuestra guía completa del plugin Chunky explica cómo hacerlo.

Piensa también en limitar el tamaño del mundo con un borde, para no llenar tu espacio de almacenamiento:

/worldborder center 0 0
/worldborder set 6000

Ir más lejos con Paper

Si tu servidor sigue en vanilla, pasar a Paper (o a Purpur, basado en Paper) suele ser la mejora más importante. Este software optimiza muchas partes del juego y sigue siendo compatible con la mayoría de los plugins de Spigot. Además, añade archivos de configuración avanzados, como config/paper-world-defaults.yml, que se aplica a todos tus mundos.

Estos son algunos ajustes muy utilizados. Sus nombres pueden cambiar de una versión a otra: compruébalos en la documentación de tu versión de Paper.

environment:
  optimize-explosions: true   # cálculo de explosiones más ligero
hopper:
  cooldown-when-full: true    # una tolva llena espera antes de volver a intentarlo
  disable-move-event: false   # true aligera las tolvas, pero puede afectar a algunos plugins de protección
entities:
  armor-stands:
    tick: false               # soportes de armadura más ligeros, pero menos reactivos

Cambia un solo ajuste cada vez y mide su efecto antes de pasar al siguiente. Si no, no sabrás qué ha ayudado de verdad.

Medir con spark

spark es una herramienta de análisis gratuita que muestra con precisión qué consume los recursos de tu servidor. Según tu versión de Paper, puede que ya venga integrada; si no, instálala como plugin desde Modrinth o SpigotMC.

ComandoUtilidad
/spark tpsTPS, MSPT y uso del procesador
/spark healthEstado general: memoria, disco, TPS
/spark profiler startInicia el análisis
/spark profiler stopDetiene el análisis y genera un enlace al informe

Inicia el profiler durante un momento de lag, déjalo funcionar unos minutos y abre el informe. Verás si el tiempo se va en las entidades, en la generación de chunks o en un plugin concreto.

Resumen

  1. Comprueba primero si se trata de lag del servidor (TPS, MSPT) o de red (ping).
  2. Reduce view-distance y simulation-distance.
  3. Fija un número de jugadores adaptado a tus recursos.
  4. Ajusta la compresión de red y el alcance de las entidades.
  5. Pregenera tu mundo y pon un borde.
  6. Pasa a Paper y mide cada cambio con spark.

Conclusión

Un servidor de Minecraft gratuito puede funcionar con total fluidez si sus ajustes se adaptan a sus recursos. Empieza por la distancia de visión y de simulación, que dan la mejora más visible, y luego afina con Paper y spark. Avanza paso a paso: son las mediciones, y no las intuiciones, las que deben guiar tus decisiones.