El mayor desafío al administrar un servidor de Minecraft es el lag de ticks: cuando el servidor no puede procesar los 20 ciclos por segundo requeridos, provocando que los bloques tarden en romperse, los monstruos se teletransporten y la comida no se consuma. En esta guía detallamos los ajustes exactos de configuración en server.properties, paper-world-defaults.yml y purpur.yml para mantener 20 TPS estables.
1. El Mito de los 20 TPS vs el MSPT Real
Muchos administradores creen que su servidor va perfecto porque ven 20.0 TPS en la lista. Sin embargo, los TPS son un promedio rezagado. La métrica real de salud de un servidor es el MSPT (Milliseconds Per Tick):
- 0 a 35 ms: Servidor sumamente holgado. Hay margen suficiente para explosiones y granjas.
- 35 a 49 ms: El servidor mantiene 20 TPS, pero está cerca de su límite de procesamiento.
- Mayor a 50 ms: El tick supera el tiempo disponible en un segundo (1000 ms / 20 = 50 ms). A partir de aquí, los TPS caen inevitablemente.
2. Ajustes Clave en server.properties
# Reduce la distancia de visión enviada por el servidor
view-distance=7
# Mantiene el área de procesamiento de ticks controlada
simulation-distance=5
# Evita que el servidor gaste tiempo comprimiendo paquetes diminutos
network-compression-threshold=256
# Deshabilita el snooper innecesario
snooper-enabled=false
3. Optimización de Entidades en paper-world-defaults.yml
Las entidades pasivas y hostiles son responsables de más del 65% del consumo de CPU en cualquier servidor. Modificar los límites de activación (Entity Activation Range) evita que mobs lejanos ejecuten cálculos de ruta complejos:
entities:
activation-range:
animals: 16
monsters: 24
raiders: 32
misc: 8
water: 12
villagers: 16
tick-inactive-villagers: false
spawning:
despawn-ranges:
monster:
soft: 28
hard: 96
4. Ajustes Exclusivos de Purpur (purpur.yml)
Purpur permite desactivar cálculos de IA en entidades que no están en combate o cuando no hay jugadores cerca, lo cual ahorra hasta un 40% de MSPT adicional en granjas de aldeanos y granjas masivas de hierro:
world-settings:
default:
mobs:
villager:
brain-ticks: 2
lobotomize:
enabled: true
check-interval: 100
zombie:
aggressive-towards-villager-when-lagging: false
lobotomize) en Purpur desactiva el pathfinding pesado cuando un aldeano está encerrado en un bloque de 1x1 comerciando, sin romper sus ofertas ni sus horarios de trabajo.