AzerothCore
Pages :

Instalaci贸n del Core en Linux

Gu铆a de instalaci贸n
Este art铆culo es parte de la Gu铆a de instalaci贸n. Puedes leerlo solo o hacer click en el enlace anterior para moverte f谩cilmente entre los pasos.
<< Paso 1: Requisitos Paso 3: Configuraci贸n del servidor >>

Directorios de instalaci贸n

Los siguientes pasos instalar谩n AzerothCore en $AC_CODE_DIR. Por defecto ser谩 $HOME/azerothcore. Esta ruta puede cambiarse a cualquier otra ubicaci贸n a la que el usuario tenga acceso, si se desea.

El usuario azerothuser tambi茅n se usar谩 en algunos ejemplos. De nuevo, puede cambiarse por lo que se desee.

Nota: en el siguiente comando la variable $HOME es la ruta del usuario actual, as铆 que si has iniciado sesi贸n como root, $HOME ser谩 "/root". Puedes comprobar el estado de la variable de entorno as铆:

echo $HOME

Configura el directorio de instalaci贸n as铆:

export AC_CODE_DIR=$HOME/azerothcore

Software necesario

Consulta Requisitos antes de continuar.

Obtener el c贸digo fuente

Elige UNO de los siguientes m茅todos; ejecuta uno de los comandos git ... de abajo en tu terminal.

  1. Clonar solo la rama master + historial completo (menor tama帽o - recomendado):

    git clone https://github.com/azerothcore/azerothcore-wotlk.git --branch master --single-branch $AC_CODE_DIR
    
  2. Clonar solo la rama master + sin historial previo (el menor tama帽o):

    git clone https://github.com/azerothcore/azerothcore-wotlk.git --branch master --single-branch $AC_CODE_DIR --depth 1
    

    Nota: Si quieres recuperar el historial completo, usa git fetch --unshallow.

  3. Clonar todas las ramas y todo el historial:

    git clone https://github.com/azerothcore/azerothcore-wotlk.git $AC_CODE_DIR
    

Esto crear谩 un directorio azerothcore en tu carpeta home que contiene los archivos fuente de AC.

Compilaci贸n del c贸digo fuente

[!WARNING] Cuando uses versiones recientes de Debian o Ubuntu, 隆existe una comprobaci贸n e instalaci贸n autom谩tica de actualizaciones que puede romper el funcionamiento del servidor! De hecho, MySQL por ejemplo puede actualizarse autom谩ticamente (隆mientras el servidor est谩 en ejecuci贸n!), por lo que authserver y worldserver se cierran al instante y esta situaci贸n puede causar p茅rdida de tiempo de juego.

As铆 que, para evitarlo, simplemente haz esto:

  1. edita el archivo sudo nano /etc/apt/apt.conf.d/20auto-upgrades
  2. comenta todas las l铆neas
  3. reinicia

Esto evitar谩 que el sistema actualice algunos programas 煤tiles y cierre tu servidor de juego

enlaces: https://discord.com/channels/217589275766685707/1255602330431127753/1369358673465442405 https://discord.com/channels/217589275766685707/555424966137479180/1445387284768620554

Crear el directorio de build

Para evitar problemas con las actualizaciones y builds de c贸digo que colisionen, creamos un directorio de build espec铆fico, as铆 evitamos cualquier posible problema por eso (si llegara a ocurrir alguno)

cd $AC_CODE_DIR
mkdir build
cd build

Configurar para compilar {#configuring-for-compiling}

Explicaci贸n de los par谩metros para usuarios avanzados: Opciones de CMake.

En este punto, debes estar en tu directorio $AC_CODE_DIR/build.

Nota: en caso de que uses un paquete no predeterminado para clang, necesitas reemplazarlo en consecuencia. Por ejemplo, si instalaste clang-6.0, tienes que reemplazar clang por clang-6.0 y clang++ por clang++-6.0

cmake ../ -DCMAKE_INSTALL_PREFIX=$AC_CODE_DIR/env/dist/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static

Para saber la cantidad de cores disponibles, puedes usar el siguiente comando

nproc --all

Establece el n煤mero de cores con los que compilar, reemplazando el comando con el n煤mero de hilos que quieras ejecutar, si aplica:

export BUILD_CORES=`nproc | awk '{print $1 - 1}'`

Luego, escribe:

make -j$BUILD_CORES
make install

Puede ser 煤til conservar estos comandos en un script o anotarlos para m谩s adelante. Necesitar谩s volver a ejecutar los tres comandos cada vez que actualices AzerothCore o a帽adas nuevos m贸dulos. Por ejemplo:

#!/bin/bash

BUILD_CORES=`nproc | awk '{print $1 - 1}'`
cmake ../ -DCMAKE_INSTALL_PREFIX=$AC_CODE_DIR/env/dist/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static &&
make -j$BUILD_CORES &&
make install

(Opcional) Servicios de Systemd {#optional-systemd-services}

Los servicios de systemd pueden ayudarte a gestionar tu servidor de AzerothCore. Los archivos de servicio que se muestran abajo deben instalarse como root en la mayor铆a de las distros. La ubicaci贸n apropiada en la mayor铆a de las distros es /etc/systemd/system.

Dado que estos comandos no se ejecutar谩n con acceso a las variables del usuario, el directorio de instalaci贸n $AC_CODE_DIR debe expandirse completamente a, por ejemplo, /home/azerothuser/azerothcore. Ejecuta echo $AC_CODE_DIR como tu usuario si no est谩s seguro de cu谩l deber铆a ser.

Establece el usuario con el que se ejecutar谩n las units. El nombre de usuario usado aqu铆 es azerothuser, y debe sustituirse por tu nombre de usuario.

export AC_UNIT_USER=azerothuser

ac-authserver.service

sudo tee /etc/systemd/system/ac-authserver.service << EOF
[Unit]
Description=AzerothCore Authserver
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
User=$AC_UNIT_USER
WorkingDirectory=$AC_CODE_DIR
ExecStart=$AC_CODE_DIR/acore.sh run-authserver

[Install]
WantedBy=multi-user.target
EOF

ac-worldserver.service

sudo tee /etc/systemd/system/ac-worldserver.service << EOF
[Unit]
Description=AzerothCore Worldserver
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
User=$AC_UNIT_USER
WorkingDirectory=$AC_CODE_DIR
ExecStart=/bin/screen -S worldserver -D -m $AC_CODE_DIR/acore.sh run-worldserver

[Install]
WantedBy=multi-user.target
EOF

systemd toma conocimiento de estos nuevos archivos de servicio con systemctl daemon-reload. Puedes iniciar AzerothCore as铆:

sudo service ac-worldserver start
sudo service ac-authserver start

O detenerlo:

sudo service ac-worldserver stop
sudo service ac-authserver stop

Los servidores pueden configurarse para que se inicien autom谩ticamente cuando el sistema arranca con:

sudo systemctl enable ac-authserver
sudo systemctl enable ac-worldserver

Puedes revisar si los servicios se iniciaron correctamente inspeccionando las entradas de log del journal de systemd as铆:

sudo journalctl ac-authserver.service
sudo journalctl ac-worldserver.service

Ayuda

Si sigues teniendo problemas, comprueba:

Gu铆a de instalaci贸n
Este art铆culo es parte de la Gu铆a de instalaci贸n. Puedes leerlo solo o hacer click en el enlace anterior para moverte f谩cilmente entre los pasos.
<< Paso 1: Requisitos Paso 3: Configuraci贸n del servidor >>