Minecraft | Diagnosticando problemas
Diagnóstico de problemas
Hoy aprenderemos a diagnosticar problemas en su servidor. Esto está destinado a servidores Spigot/Paper/Bukkit, así que no utilice esta guía para servidores con mods, habrá una guía separada para ello. Esta guía cubrirá específicamente:
Problemas con Plugins
Lag en el Servidor
Creasheos en el Servidor
Servidor con Lag
Para empezar, comenzaremos con su servidor lagueado. Spigot/Paper es muy bueno para diagnosticar problemas de lag, ya que hay una función incorporada conocida como timings. Esto le mostrará exactamente cuánto lag/retraso esta causando cada plugin y evento, y cualquier otra cosa que pueda ser un problema también. Para habilitar los timings, simplemente necesita ejecutar el comando "timings on". Esto primero habilitará timings y comenzará a recopilar información para su servidor.
A continuación, simplemente espera unos 3-5 minutos. Durante este período, juegue en su servidor como lo haría normalmente para poder ver exactamente cuándo jugar normalmente es el problema. Después de este tiempo, solo necesitas ejecutar el comando "timings paste". Esto luego generará y publicará un enlace para monitorear todos los datos en su servidor.
Luego, al hacer click en ese enlace, se presentará una tabla de datos con información de su servidor.
Cualquier cuadro resaltado en amarillo o rojo significa que hay problemas con esa área. Si miras arriba, verás el área o el plugin exacto que causa ese problema. Ahora ha encontrado el problema en su servidor y por qué está causando lag. Algunas soluciones comunes para este problema son actualizar los plugins y verificar que no haya errores en la consola.
Este enlace https://minecraft.gamepedia.com/Tick es bueno para comprender cómo se ejecuta su servidor en términos de ticks y por qué puede causar retrasos que se muestran en el informe timings.
Crasheo del Servidor
Lo primero que debe hacer al analizar el problema es ver la línea de crasheo. Sin la línea de crasheo, no se puede hacer mucho. La línea de crasheo puede decirle una serie de cosas, como si su servidor se está quedando sin recursos. Es posible que la línea de crasheo no siempre esté en la parte inferior, es posible que deba desplazarse un poco hacia arriba y leer los errores en la consola. Algunos plugins son conocidos por crashear el servidor si fallan. Protocol Support es uno y, por lo tanto, si tiene instalado este plugin, primero debe eliminarlo y ver. Citizens también es otro común si hay un problema, detendrá el inicio del servidor y le dirá en la consola que lo está haciendo. Una vez que tenga esta línea, solucionar el problema es bastante simple. Si el problema es un plugin, debe verificar que la versión que tiene coincida con la versión base de su servidor y verificar que no haya errores en la configuración o con el complemento en sí. Si desea saber cómo solucionar problemas de configuración, consulte Problemas con Plugins más abajo en esta página.
">/entrypoint.sh: line 17: 37 Killed ${MODIFIED_STARTUP} PTDL_CONTAINER_ERR: There was an error while attempting to run the start command." Esta línea es común para un servidor que se está quedando sin recursos. Tendrás que monitorear su uso para determinar si es CPU o RAM. Si es RAM, simplemente puede actualizar mirando nuestro otro tutorial. Si es CPU, deberá cancelar su servidor y transferirlo a uno Premium.
Problemas con Plugins
Este es probablemente lo más complicado de arreglar. Algunos errores no se pueden corregir sin contactar al desarrollador. Lo primero antes de entrar en los problemas más complejos es intentar actualizar el plugin antes de continuar, esto a menudo puede causar errores. La única excepción es que existe una dependencia desconocida. Puede ver esto escaneando el stack trace de la consola y le dirá el nombre del plugin necesario para habilitar el plugin que quiere usar y que está generando errores. La segunda parte a tener en cuenta es que si el error está en la parte superior de la consola, deberá actualizar su plugin o ponerse en contacto con el desarrollador, eso es todo lo que puede hacer para corregir ese error. Si el error aparece en la parte inferior de la consola, puede haber una variedad de razones por las que no funciona, como por ejemplo que la configuración no sea la correcta.
Para solucionar un problema de configuración, puede haber 2 problemas. El primero es escanear el error y ver si es un error debido a lo que colocó en la configuración. Los más comunes son NumberFormatException y NullPointerException. Esto no debe confundirse con NullPointerException en el código real del plugin, y sabrá cuál es leyendo el stack trace. Para solucionar este problema, solo necesitará actualizar la configuración del plugin y asegurarse de que todos hayan completado correctamente las sangrías y comentarios en el archivo de configuración. La mayoría de las configuraciones vendrán con esos comentarios y, si no, puede mirar la configuración predeterminada para comparar. El segundo tipo de problema es que hay errores de sangría, etc. Hay una solución bastante fácil para este. El primer paso es encontrar un analizador YAML en línea, este escaneará su documento y le dirá dónde hay errores. A partir de entonces, deberá volver a su configuración original y encontrar la línea y asegurarse de que todo esté en orden. Puede ser que les falten dos puntos o que estén fuera de lugar. Si no puede verlo directamente desde la línea que le dijo el analizador, mire un par de líneas ya que puede ocurrir un problema allí. Esto se ve más comúnmente con los plugins de permisos.
Un buen verificador YAML es http://wiki.ess3.net/yaml/ Está construido para propósitos específicos, como grupos, etc.
Una última mención sobre las configuraciones es que si todo lo demás falla, simplemente elimine la configuración y el plugin volverá a generar el archivo con los valores predeterminados y debería funcionar. Desde allí puede actualizar los valores correctamente como desee.
El último punto sobre los problemas con los plugins es que el desarrollador puede haberlo causado y en el inicio, todo estaba bien porque el código no se ejecutó con ninguna variable. Cuando se ejecutan eventos o comandos, la ejecución de la variable puede no ser correcta (es decir, no es un número) o puede que no haya una variable que sea igual a nula. Esto debe ser solucionado por el desarrollador mismo y no es un problema que estemos aquí para solucionar.
¡Todo listo! Disfrute de su servidor libre de fallos, errores y lag.
Actualizado el: 02/06/2021
¡Gracias!