AzerothCore
Pages :
Contents:
  1. C贸mo reiniciar y depurar
    1. El motor startup-scripts
    2. Uso de Docker (multiplataforma)

C贸mo reiniciar y depurar

AzerothCore est谩 compuesto por dos servicios: authserver y worldserver. El authserver solo act煤a como autenticador y router para tus reinos, redirigiendo las conexiones autorizadas de tus clientes a la direcci贸n del reino seleccionado. El worldserver, en cambio, se encarga de todas las conexiones relacionadas con la mec谩nica del juego y es la 煤nica fuente de verdad para todo lo relacionado con un reino concreto.

El authserver y los worldservers pueden colocarse en entornos diferentes. Sin embargo, en la siguiente gu铆a explicaremos c贸mo ejecutarlos juntos en el mismo entorno.

El motor startup-scripts

Hemos introducido un nuevo conjunto de startup scripts que ofrecen una forma potente y unificada de ejecutar, gestionar y depurar tus servidores. Esta es ahora la forma recomendada de manejar los procesos authserver y worldserver para todas las instalaciones que no usen Docker.

Estos scripts ofrecen funcionalidades avanzadas como reinicios autom谩ticos mediante systemd o PM2, gesti贸n de sesiones (usando tmux o screen) y depuraci贸n con GDB integrada para el an谩lisis de fallos.

Para una gu铆a completa sobre c贸mo usar y configurar los nuevos startup scripts, consulta el README.md ubicado en el directorio startup-scripts oficial.

Uso b谩sico

La forma m谩s sencilla de usar el nuevo sistema es a trav茅s del dashboard acore.sh:

# Para ejecutar el worldserver con el nuevo motor
./acore.sh run-worldserver

# Para ejecutar el authserver con el nuevo motor
./acore.sh run-authserver

Configuraci贸n y depuraci贸n

Para habilitar el GNU Debugger (GDB) y generar reportes de fallos, necesitas editar el archivo de configuraci贸n de tu servicio. Por ejemplo, para un servicio llamado ac-world-1, editar铆as un archivo similar a ac-world-1-run-engine.conf y establecer铆as GDB_ENABLED=1.

// ...existing code...
# Habilitar/deshabilitar la ejecuci贸n de GDB
export GDB_ENABLED=1
// ...existing code...

Si el servidor falla despu茅s de habilitar GDB, encontrar谩s el archivo crashdump (p. ej. gdb-YYYY-MM-DD-HH-MM-SS.txt) dentro del directorio apps/startup-scripts/logs/crashes/. Ten en cuenta que debes compilar tu c贸digo con uno de los siguientes tipos de compilaci贸n: Debug o RelWithDebInfo; de lo contrario, GDB no producir谩 reportes 煤tiles.

Uso de Docker (multiplataforma)

Nuestra configuraci贸n de Docker integra el motor startup-scripts. Esto significa que habilitar GDB y gestionar los reinicios tambi茅n funciona sin problemas dentro del entorno de Docker. Adem谩s, nuestro docker-compose.yml usa la funcionalidad de restart-policy para mantener autom谩ticamente los contenedores en funcionamiento tras un fallo o un reinicio del sistema.

Para m谩s informaci贸n, consulta la documentaci贸n de Instalaci贸n con Docker. Tambi茅n encontrar谩s una gu铆a sobre c贸mo depurar tu c贸digo usando VSCode combinado con su extensi贸n Remote Docker.