Este artículo también está disponible en:
En este artículo aprenderemos a optimizar tu servidor de Minecraft al máximo. Ten en cuenta que no se trata de un conjunto mágico de instrucciones que eliminarán todo el lag de tu servidor, pero te ayudarán.

Este artículo es un poco diferente a los demás, ya que se actualizará con mucha frecuencia para que sea lo mejor posible.

Paper y cualquiera de sus bifurcaciones

Software para el que esto no se aplica:
Pocketmine
Nukkit
Vanilla Bedrock
Vanilla Java
Spigot o bifurcaciones inferiores
Otros

* Si está usando Spigot o cualquiera de las bifurcaciones, realmente no deberías hacerlo y debería usar burficaciones más optimizados, como Paper o Purpur (recomendamos purpur).
Términos clave:
TPS son los ticks por segundo. Hay 20 ticks de minecraft en un segundo de la vida real, por lo tanto, si su servidor no está lag, debe estar funcionando a 20TPS.
MSPT es el tiempo que tarda cada tic. Cuanto más bajo sea este número, mejor.
Ping (ms). El 99,9% de las veces, esto no está relacionado con el rendimiento de tus servidores, y más bien, con el retraso de localización entre tu cliente y el servidor.

Cómo comenzar:

La primera sección requerirá la edición de los archivos de configuración del servidor que se encuentran en la carpeta raíz de su servidor. Para llegar a estos archivos si no sabes cómo hacerlo, sigue esta mini guía:

Llegar y editar los archivos de configuración:

Vae al panel, en witherpanel.com
Selecciona el servidor de la lista.
Navegue hasta el Administrador de Archivos en el lado del panel.


Aquí puedes ver la lista de los archivos del servidor que incluye los archivos de configuración que queremos.

Vamos a intentar editar el archivo de configuración llamado paper.yml y vamos a poner use-faster-eigencraft-redstone a true.

Haga clic en el archivo paper.yml en el Administrador de Archivos, esto abrirá el archivo en el navegador web.


En su teclado, utilice la combinación de teclas Ctrl + F para abrir el cuadro de búsqueda.


Puedes buscar la configuración a través de esto, y luego hacer clic en enter.


Luego, cambiamos use-faster-eigencraft-redstone: false a use-faster-eigencraft-redstone: true.
Guarde el archivo con el botón de guardar.

Ahora ha editado un ajuste en el archivo de configuración, para aplicar estos ajustes, reinicie su servidor.

Ajustes

Hay una lista de ajustes que se recomiendan cambiar para que el servidor esté más optimizado.
Podríamos ir a través y la lista de todos ellos aquí, pero hay una lista perfectamente buena que la gente ha hecho a lo largo de los años, que le recomendamos cambiar la configuración para que coincida.

La guía que combina muchas otras guías más pequeñas está aquí: https://github.com/YouHaveTrouble/minecraft-optimization y aquí https://www.spigotmc.org/threads/guide-server-optimization%E2%9A%A1.283181/

Te recomendamos que las revises y apliques los cambios a tu servidor.

Si tu servidor requiere trabajar lo más cerca posible del comportamiento vainilla (mientras usas los forks de Spigot), algunos de los ajustes que modifican las características principales del juego, como el comportamiento de los contenedores y la aparición de mobs, puede que no quieras cambiarlos. Dicho esto, es tu servidor, así que haz lo que quieras.

Encontrar las causas del lag:

Has seguido estas 2 guías, cambiando muchas configuraciones en tu servidor, pero todavía tiene un TPS bajo...
Te mostraremos cómo depurar lo que está causando el lag en tu servidor.

Esto es para Paper y forks superiores, ya que Spigot no tiene esta funcionalidad actualizada (Spigot sólo tiene Timings v1, mientras que Paper/forks tienen Timings v2, que es lo que necesitamos).

Pasos:

En tu servidor, ejecuta el comando timings on .
Deje su servidor en funcionamiento durante unos 30 minutos, mientras los timings recogen los datos para el informe.
Después de 30 minutos, ejecute el comando timings paste, y vaya al enlace que hace en la consola.
Aquí es donde comienza la diversión, mirando a través de los tiempos para ver lo que está causando el lag.

Paseo:
Para empezar más fácilmente, vamos a echar un vistazo a la pestaña PLUGINS, para ver si alguno de tus plugins está causando lag.
Este es un ejemplo de informe de tiempos, en dicha pestaña:



Puedes ver en la imagen que el plugin "InventoryRollback" está ocupando una cantidad de tick superior a la media.
Haciendo clic en InventoryRollback::Combined Total, aparecerá una lista más detallada de los eventos que el plugin está manejando, y que están causando lag:



Los primeros pasos que recomendamos tomar, es echar un vistazo para ver si hay una versión actualizada del plugin que está utilizando, que tiene más optimizaciones en su lugar, para reducir el lag (como una actualización que intenta ejecutar los eventos de los plugins en async, en lugar de en el hilo de la CPU del servidor principal).

Por ejemplo, el plugin "InventoryRollback" tiene una nueva versión, llamada "InventoryRollbackPlus", que es una versión actualizada, mejorada y con menos lag del plugin. Véase aquí.

Si no existe tal actualización, o no hay ninguna que mejore el estado del informe de tiempos de su servidor, entonces el siguiente paso que le recomendamos es investigar qué es lo que el informe de tiempos dice que su plugin está haciendo para causar lag.

Ejemplo
Podemos ver que InventoryRollback tiene algunos eventos que están retrasando al servidor más que otros, como, InventoryRollback::Event: m.d.i.l.EventLogs (PlayerQuitEvent) (ver captura de pantalla).
En la configuración de InventoryRollback podemos ver que hay opciones en la configuración que controlan cuando se toma una copia de seguridad del inventario de los jugadores.



Específicamente, nota quit, que es el evento más lag cuando se lee de nuestros tiempos. Podemos desactivar ese evento estableciendo el valor a 0.

Lo que esto pretende es reducir el impacto que un plugin específico tiene en los ticks de tu servidor.
Siguiendo este tipo de método con otros plugins que causan problemas en sus tiempos, ayudará a disminuir la carga en su servidor.

Ahora pasamos a la pestaña TIMINGS.

Mirar esta pestaña puede parecer desalentador al principio, pero se puede desglosar con bastante facilidad.



El informe de timings tiene los números del "lag" codificados por colores (el rojo es el peor, el blanco tiene poco impacto), sin embargo, las diferentes secciones no lo están, así que he codificado por colores la parte principal de los Timings que vamos a ver.
Colores:
Aqua = Entidades
Rosa = Mundo
Amarillo = Plugins

Comenzando por la parte superior, podemos ver que el Tick del Servidor Completo está siendo impactado en su mayor parte por Minecraft::world -doTick, y expandiendo doTick, vemos que tickEntities es el que más pesa.



Expandiendo los siguientes valores nos lleva a esto:



En este caso, vemos que los "mooshroom`s" están ocupando mucho de el tick. Esto significa que lo más probable es que haya muchas setas en tu servidor.
Esto podría estar sucediendo por múltiples razones, tales como:
Jugadores que los usan como granjas.
Los ajustes de spawn de mobs de tu servidor son altos y permiten que muchos spawn.
Se cargan muchos chunks que contienen el mob.

Las cosas que podrías hacer para reducir el impacto de estas cosas enumeradas podrían ser cosas como:
Introducir un kick AFK, para que los jugadores no puedan mantener los chunks cargados durante largos periodos de tiempo.
Cambiar la configuración de spawn de los mobs en bukkit.yml para reducir la cantidad de spawns. Puedes habilitar la opción per-player-mob-spawns en paper.yml, que tiene como objetivo cambiar la distribución de mobs entre los jugadores del servidor de forma más justa (esto puede dar lugar a que se generen más mobs, dependiendo de cómo esté configurado tu servidor).
Reducir la distancia de renderizado para los trozos, y habilitar la configuración de no-tick-distance en paper.yml.

En mis timings de ejemplo, casi todo el lag proviene de la aparición de mobs en chunks. Reducir la distancia de renderizado mientras se configura la no-tick-distance en paper.yml ayudaría al problema de la aparición de mobs en un área amplia, porque la no tick distance es como la distancia de renderizado (view distance), pero los chunks no hacen tick, así que los mobs no aparecerán en ellos. En los tiempos, puedo ver muchos mobs en chunks y haciedo tareas causando la mayoría de los problemas con el lag. Reducir el spawn de mobs y el cap ayudaría a resolver este problema.

Revisar el informe de tiempos así te ayudará a identificar de dónde viene el lag de TPS y MSPT y es necesario para que tu servidor funcione sin problemas.

Intenta no utilizar una cantidad excesiva de plugins, ya que pueden utilizar muchos recursos, especialmente si están mal codificados, y sé razonable con la configuración de tu servidor.

Para obtener ayuda con la optimización del servidor más, no dude en ping MrRazamataz#6614 en #community-help en el Servidor de discord de WitherHosting.

Última actualización: 13/09/2021 @ 21:19 GMT + 1
¿Este artículo te resultó útil?
Cancelar
¡Gracias!