Optimizar servidores de Minecraft
Esta guía, a comparación de otras tantas que puedes encontrar en internet, va al grano sin tanto texto y con pasos claros y concisos para que puedas optimizar tu servidor de Minecraft de la mejor manera posible. Si crees que hay algo que podríamos agregar, por favor háznoslo saber. Si buscas una guía más detalla puedes ver la guía recomendada por Paper para servidores con plugins: https://paper-chan.moe/paper-optimization/ (opens in a new tab)
Aqui están las recomendaciones y ajustes que nosotros mismos usamos para optimizar servidores para eventos y comunidades grandes. Puede variar en que fork de Paper se utiliza o especificaciones del server ya que generalmente para esos servidores usamos servidores con muchos recursos, pero en general, la clave está en los parametros que indicamos aqui. Estas recomendaciones están basadas en nuestra experiencia.
Esta guia primero tiene algunas recomendaciones generales que puedes aplicar a servidores con mods o plugins por igual. Luego tiene secciones separadas para servidores con plugins y servidores con mods que contiene recomendaciones especificas para cada tipo de servidor.
Recomendaciones generales
Distancia de renderizado
📌 Se configura en el archivo server.properties
.
-
Distancia de simulación (simulation-distance): Determina cuánto del entorno está activo alrededor del jugador. Un valor más bajo reduce la carga del servidor. Se recomienda un valor entre 4 y 6.
-
Distancia de vista (view-distance): Define cuántos bloques son visibles. Mantén este valor igual al de simulación.
simulation-distance=5
view-distance=5
Pre-generación de chunks
Casi obligatorio para servidores de modalidad Survival donde los jugadores exploraran el mundo constantemente. Sigue nuestra guía para pre-generar chunks en tu servidor aquí.
Evita utilizar plugins/mods en beta
Asegúrate de que todos los plugins o mods que utilices estén actualizados y sean compatibles con la versión de tu servidor. Evita usar versiones beta o inestables que puedan causar problemas de rendimiento o que aún no estén preparados para ser usados en servidores, sino en mundos locales de un jugador.
Puerto de conexión para Voice Chat
Si usas el mismo puerto para jugar como chat de voz, el servidor no podrá manejar ambos tipos de conexión en el mismo puerto, ya que los paquetes de voz (UDP) tienen prioridad sobre los demás paquetes que utiliza el juego (TCP), causando desconexiones por Timeout, lag o ping elevado.
Esto es un error común. Si utilizas un plugin o mod de chat de voz, asegúrate de configurarlo para que utilice un puerto diferente al que usas para ingresar al servidor. Esto evitará conflictos y problemas de conexión.
Para poder crear un puerto adicional en tu servidor puedes hacerlo en la pestaña Network del panel de juegos, allí podrás crear un puerto adicional para el chat de voz. Luego debes configurar el plugin o mod de chat de voz para que use ese puerto. Si necesitas ayuda abre un ticket y lo configuramos por ti.
Reinicios automáticos
Recomendamos cada X tiempo reiniciar el servidor automáticamente para liberar memoria RAM y evitar problemas de crasheos o reinicios inesperados. Puedes configurar una tarea programada desde el panel de juegos siguiendo esta guía aquí o abrir un ticket de soporte para que podamos ayudarte.
Servidores con plugins
Optimización de entidades
📌 Se configura en los archivos bukkit.yml
, spigot.yml
y config/paper-world-defaults.yml
. A continuación, se indican configuraciones recomendadas en cada archivo:
spawn-limits:
monsters: 20
animals: 5
water-animals: 2
water-ambient: 2
water-underground-creature: 3
axolotls: 3
ambient: 1
ticks-per:
animal-spawns: 400
monster-spawns: 10
water-spawns: 400
water-ambient-spawns: 400
water-underground-creature-spawns: 400
axolotl-spawns: 400
ambient-spawns: 400
autosave: 6000
world-settings:
default:
view-distance: 5
simulation-distance: 5
mob-spawn-range: 3
nerf-spawner-mobs: true
entity-activation-range:
animals: 16
monsters: 24
raiders: 40
misc: 8
water: 8
villagers: 16
flying-monsters: 40
tick-inactive-villagers: false
entity-tracking-range:
players: 32
animals: 32
monsters: 32
misc: 24
display: 32
other: 32
anticheat:
anti-xray:
enabled: false
collisions:
fix-climbing-bypassing-cramming-rule: true
max-entity-collisions: 2
entities:
armor-stands:
do-collision-entity-lookups: false
tick: false
spawning:
despawn-ranges:
ambient:
hard: 48
soft: 24
axolotls:
hard: 48
soft: 24
creature:
hard: 48
soft: 24
misc:
hard: 48
soft: 24
monster:
hard: 48
soft: 24
underground_water_creature:
hard: 48
soft: 24
water_ambient:
hard: 48
soft: 24
water_creature:
hard: 48
soft: 24
per-player-mob-spawns: true
environment:
optimize-explosions: true
misc:
update-pathfinding-on-block-update: false
tick-rates:
behavior:
villager:
validatenearbypoi: 60
acquirepoi: 120
sensor:
villager:
secondarypoisensor: 80
nearestbedsensor: 80
villagerbabiessensor: 40
playersensor: 40
nearestlivingentitysensor: 40
Usar Aikar's Flags
📌 Puedes activarlas desde la pestaña Startup en el menú del panel de juegos.
Esto son flags de Java que ayudan a optimizar el uso de memoria RAM y se agregan al comando de inicio de tu servidor. Para tu comodidad puedes activarlas tú mismo desde el panel de control de tu servidor, en la pestaña Startup. Si quieres saber más sobre estas flags puedes ver la documentación de Paper: https://docs.papermc.io/paper/aikars-flags/ (opens in a new tab)
Plugins recomendados
-
Spark (opens in a new tab): Herramienta para identificar cuellos de botella. Ejecuta /spark health para generar un informe de rendimiento. También puedes ver nuestra guía sobre cómo usar Spark.
-
Chunky (opens in a new tab): Permite pre-generar chunks de forma eficiente. Recomendamos ver nuestra guía sobre cómo pre-generar chunks.
-
WorldGuard (opens in a new tab): Usa el comando /stoplag para limitar tareas del servidor en momentos críticos, aunque afecta la jugabilidad.
Evita usar plugins para optimizar entidades, como ClearLag. En su lugar, utiliza los propios ajustes de limitación de entidades en la configuración de Paper. ClearLag puede parecer útil, pero en realidad al eliminar entidades de forma masiva cada X tiempo provoca que el servidor tenga que volver a generar entidades nuevas cada vez que se eliminan, lo que causa un mayor uso de CPU y RAM, esto provocará bajones de TPS constantes. Por lo tanto, es mejor evitar su uso.
Servidores con mods
Si estas por aplicar estas recomendaciones en un modpack recomendamos que primero revises si este modpack ya contiene alguna de estas optimizaciones, ya que muchos modpacks populares ya incluyen mods de optimización y no es necesario agregarlos manualmente.
Mods de optimización
Es probable que no necesites todos los mods de la lista, y algunos no sean compatibles con los diferentes server loaders que existen para mods, como Fabric, Forge, Quilt o NeoForge. Por lo tanto, recomendamos que revises la compatibilidad de cada mod con la version de tu servidor y el server loader que estés utilizando.
-
ServerCore (opens in a new tab): Mejora el rendimiento del servidor y permite optimizar el servidor como si fuera un servidor de plugins.
-
AI Improvements (opens in a new tab): Mejora la IA de mobs, reduciendo la carga de CPU al optimizar comportamientos como pathfinding. No requiere instalación en el cliente.
-
In Control! (opens in a new tab): Permite personalizar y limitar la generación de mobs y entidades, lo que puede reducir la carga del servidor al evitar la generación innecesaria de mobs.
-
Phosphor (opens in a new tab): Mejora el rendimiento de la iluminación, especialmente en mundos grandes. No requiere instalación en el cliente. Úsalo junto con Lithium para mejores resultados.
-
Lithium (opens in a new tab): Mejora el rendimiento del servidor al optimizar la generación de chunks, el pathfinding y otros aspectos del juego.
-
FerriteCore (opens in a new tab): Reduce el uso de memoria RAM al optimizar la forma en que se almacenan los datos del mundo.
-
Chunk-Pregeneration (opens in a new tab): Permite pre-generar chunks de forma eficiente, similar a Chunky pero para servidores con mods. Sigue nuestra guía sobre cómo pre-generar chunks.
Configurar ServerCore
Después de subir el mod ServerCore e iniciar tu servidor, apágalo y en la configuración del mod activa la optimización dinámica para ajustar configuraciones en tiempo real según el estado del servidor.
features:
lobotomize-villagers:
enabled: true
dynamic:
enabled: true
Si necesitas una optimización mas agresiva puedes configurarlo como indica la documentación del mod: https://github.com/Wesley1808/ServerCore/blob/main/docs/config/OPTIMIZED.md (opens in a new tab)
Usar mods asincrónicos
Los mods pueden ser asincrónicos, es decir, que usan hilos diferentes en la CPU, y los mods sincrónicos utiliza los mismos hilos que Minecraft. Si tienes muchos mods sincrónicos en tu servidor con poca RAM puede probar problemas de rendimiento.
Identificar la causa del lag
Recomendamos el mod Spark para monitorear el servidor. Puedes instalarlo en el servidor y en tu cliente. Puedes ver una guía sobre cómo usar Spark aquí.
Evitar usar mods client-side en el servidor
Evita usar mods que solo son necesarios en el cliente, como los mods gráficos, shaders o mods de sonidos ambientales, algunos de estos son Optifine, Mouse Tweaks o mods de mapas. Estos pueden causar problemas de rendimiento en el servidor y no aportan nada al juego en sí desde el lado del servidor. Si un mod no es necesario en el servidor, evítalo y solo úsalo en tu PC.
Nuestro panel de juego tiene una opción en el File Manager para detectar mods client-side, puedes usarla para identificar si tienes mods que no son necesarios en el servidor y borrarlos del servidor.