Configurar un servidor de World of Warcraft implica instalar un software de emulación de servidores, configurar una base de datos, preparar los datos del juego y conectar los distintos componentes del servidor. Uno de los proyectos de código abierto más conocidos para estudiar este proceso es AzerothCore, que emula el entorno de servidor de World of Warcraft: Wrath of the Lich King 3.3.5a.
AzerothCore puede ejecutarse en Linux, Windows y macOS. En esta guía nos centraremos en instalarlo en Ubuntu 26.04 LTS mediante el proceso actual de instalación desde el código fuente del proyecto.
Veremos los comandos esenciales, la configuración de la base de datos, la red y los problemas de instalación más comunes.
Importante: AzerothCore es un proyecto independiente de código abierto, no un servidor oficial de Blizzard. Las condiciones de licencia de Blizzard restringen la emulación y las conexiones no autorizadas. Esta guía tiene fines educativos de carácter técnico y está destinada a entornos en los que dispongas de los derechos y permisos necesarios. No proporciona clientes del juego, recursos sujetos a derechos de propiedad ni autorización para ofrecer un servicio no autorizado.
¿Qué es AzerothCore?
AzerothCore es un emulador de servidor de MMORPG de código abierto basado en el entorno de Wrath of the Lich King 3.3.5a.
Recrea sistemas del lado del servidor, como la gestión de personajes, la autenticación, las misiones, las criaturas y las interacciones con el mundo del juego.
El software utiliza tres componentes principales:
- Authserver: Gestiona la autenticación de los usuarios y la selección del reino.
- Worldserver: Gestiona la actividad del mundo del juego, los personajes y los sistemas de juego.
- Base de datos MySQL: Almacena los registros de autenticación, los personajes y la información del mundo.
Ambas aplicaciones de servidor se comunican con MySQL y pueden ejecutarse en la misma máquina.
AzerothCore proporciona software de servidor, pero no un cliente de World of Warcraft con licencia ni los derechos para redistribuir los recursos de Blizzard.

Requisitos de un servidor de World of Warcraft
Los requisitos de AzerothCore dependen del método de instalación y de la carga de trabajo. Compilar el software suele requerir más recursos que ejecutar un pequeño entorno de pruebas.
Para un entorno de desarrollo o pruebas en Linux, ten en cuenta estas especificaciones iniciales:
| Recurso | Configuración recomendada |
|---|---|
| CPU | 4 vCPU o más |
| RAM | 8 GB o más para la compilación |
| Almacenamiento | 60–100 GB en SSD o NVMe |
| Sistema operativo | Ubuntu 26.04 LTS |
| Base de datos | MySQL 8.4 LTS |
| Compilador | GCC 15+ o Clang 18+ |
Estas cifras de hardware son estimaciones prácticas para empezar, no requisitos mínimos oficiales ni garantías sobre la cantidad de jugadores que se pueden admitir.
En este tutorial utilizaremos Ubuntu 26.04 LTS, que ofrece paquetes compatibles de MySQL 8.4 a través de sus repositorios.
La instalación también requiere acceso de administrador y conocimientos básicos de los comandos de Linux.
Si no tienes experiencia alojando juegos multijugador, nuestra Guía de alojamiento de servidores de juegos explica cómo afectan el hardware del servidor, el rendimiento de la red y la infraestructura de alojamiento a la experiencia de juego, la estabilidad y los requisitos de recursos.
Paso 1: Prepara tu servidor Linux
Conéctate a tu entorno Linux mediante SSH:
ssh admin@YOUR_SERVER_IP
Sustituye admin por tu nombre de usuario y YOUR_SERVER_IP por la dirección real de tu servidor.
Actualiza el sistema:
sudo apt update
sudo apt upgrade
A continuación, instala las dependencias indicadas para Ubuntu 26.04:
sudo apt install git cmake make gcc g++ clang \
libstdc++-16-dev default-libmysqlclient-dev \
libssl-dev libbz2-dev libreadline-dev \
libncurses-dev mysql-server libboost-all-dev tmux
Comprueba que MySQL esté en funcionamiento:
sudo systemctl status mysql
También puedes comprobar las versiones del compilador y de la base de datos:
clang --version
mysql --version
Antes de continuar, asegúrate de que cumplen los requisitos actuales de AzerothCore.
Utiliza una cuenta de Linux normal para compilar y ejecutar AzerothCore, en lugar de ejecutar la aplicación como root.
Paso 2: Descarga y compila AzerothCore
Descarga el código fuente oficial desde GitHub:
git clone https://github.com/azerothcore/azerothcore-wotlk.git \
--branch master --single-branch ~/azerothcore
Entra en el directorio del proyecto y crea un directorio independiente para la compilación:
cd ~/azerothcore
mkdir build
cd build
Configura la compilación con CMake:
cmake .. \
-DCMAKE_INSTALL_PREFIX="$HOME/azerothcore/env/dist/" \
-DCMAKE_C_COMPILER=/usr/bin/clang \
-DCMAKE_CXX_COMPILER=/usr/bin/clang++ \
-DTOOLS_BUILD=all \
-DSCRIPTS=static \
-DMODULES=static
Si la configuración se completa correctamente, compila AzerothCore:
make -j2
La opción -j2 limita la compilación a dos tareas paralelas, lo que reduce la demanda de memoria frente al uso de todos los hilos de CPU disponibles.
Si tu servidor tiene poca RAM y la compilación falla por falta de memoria, prueba con make -j1.
Cuando termine la compilación, instala los archivos binarios:
make install
Los archivos instalados deberían estar disponibles en:
~/azerothcore/env/dist/
El directorio bin contiene las aplicaciones del servidor y las herramientas compiladas.
Paso 3: Configura la base de datos MySQL
AzerothCore utiliza tres bases de datos:
acore_auth— información de autenticación y cuentas.acore_characters— datos de personajes y jugadores.acore_world— información del mundo del juego.
Para una instalación nueva, AzerothCore proporciona un script SQL que crea las bases de datos y el usuario de la base de datos.
Ejecuta:
sudo mysql < ~/azerothcore/data/sql/create/create_mysql.sql
Utiliza este script de inicialización solo en una instalación nueva. El script también vuelve a crear el usuario predeterminado de la base de datos, lo que podría alterar las configuraciones existentes.
El script crea una cuenta acore con una contraseña predeterminada. Cambia esa contraseña antes de utilizar la instalación.
Abre MySQL:
sudo mysql
Cambia la contraseña de la cuenta:
ALTER USER 'acore'@'localhost'
IDENTIFIED BY 'YOUR_STRONG_PASSWORD';
Sustituye el marcador de posición por una contraseña segura y única. Mantenla en privado y actualiza las credenciales correspondientes de la base de datos en los archivos de configuración.
Sal de MySQL:
EXIT;
AzerothCore incluye un actualizador automático de la base de datos que inicializa y actualiza las tablas necesarias cuando se inician los procesos de servidor correspondientes.
No necesitas importar manualmente todos los archivos de actualización de la base de datos.
Paso 4: Prepara los datos necesarios del juego
AzerothCore necesita datos del mundo del juego compatibles con el entorno 3.3.5a.
Estos datos son independientes del código abierto del servidor y requieren especial atención a los recursos sujetos a derechos de propiedad y a las licencias.
Los principales directorios de datos son:
| Directorio | Finalidad |
|---|---|
dbc | Configuración del juego y datos de referencia |
maps | Información sobre el terreno y los mapas |
vmaps | Datos de colisiones y línea de visión |
mmaps | Datos de navegación y movimiento |
AzerothCore proporciona herramientas de extracción para preparar estos datos a partir de una instalación de cliente compatible, siempre que dispongas de los derechos necesarios.
El proceso de extracción utiliza herramientas como map_extractor, vmap4_extractor, vmap4_assembler y mmaps_generator. Sigue las instrucciones oficiales de configuración del servidor Linux para realizar el proceso de extracción adecuado para tu entorno.
Una vez completada la extracción, coloca los directorios necesarios en la ubicación de datos configurada.
La configuración predeterminada suele esperar que estén junto al binario instalado de worldserver en:
~/azerothcore/env/dist/bin/
Comprueba que existan los directorios necesarios antes de iniciar el servidor del mundo.
Nota: La licencia del emulador de código abierto no concede permiso para descargar, compartir ni redistribuir archivos sujetos a derechos de propiedad del cliente de World of Warcraft.
Paso 5: Configura Authserver y Worldserver
AzerothCore proporciona archivos de configuración de ejemplo para ambos servicios.
Ve al directorio de configuración:
cd ~/azerothcore/env/dist/etc/
Crea copias de trabajo:
cp authserver.conf.dist authserver.conf
cp worldserver.conf.dist worldserver.conf
Abre los archivos de configuración con el editor de texto que prefieras.
Por ejemplo:
nano worldserver.conf
Busca los ajustes de conexión a la base de datos.
Su formato es:
LoginDatabaseInfo = "127.0.0.1;3306;acore;YOUR_PASSWORD;acore_auth"
WorldDatabaseInfo = "127.0.0.1;3306;acore;YOUR_PASSWORD;acore_world"
CharacterDatabaseInfo = "127.0.0.1;3306;acore;YOUR_PASSWORD;acore_characters"
Sustituye YOUR_PASSWORD por la contraseña de la base de datos que creaste anteriormente.
Configura también LoginDatabaseInfo en authserver.conf.
Cada entrada identifica el host de MySQL, el puerto, el nombre de usuario, la contraseña y el nombre de la base de datos.
A continuación, comprueba la opción DataDir en worldserver.conf.
Si los directorios necesarios con los datos del juego están junto al binario instalado del servidor del mundo, puede que la ruta relativa predeterminada ya sea adecuada. De lo contrario, establece DataDir en el directorio correcto.
Guarda los archivos de configuración antes de continuar.
Paso 6: Inicia los servidores del mundo y de autenticación
AzerothCore incluye scripts de inicio para gestionar los procesos de servidor.
Para hacer una prueba interactiva, puedes utilizar tmux y mantener cada proceso en una sesión de terminal independiente.
Primero, crea una sesión para el servidor del mundo:
tmux new -s wow-world
Dentro de esa sesión, ejecuta:
cd ~/azerothcore
./acore.sh run-worldserver
En el primer inicio, AzerothCore puede pedirte que crees o rellenes las tablas de la base de datos. Sigue las indicaciones y espera a que termine la inicialización.
Comprueba si la salida muestra problemas de conexión a la base de datos o archivos de datos del juego que falten.
Para salir de la sesión de tmux sin cerrar el proceso, pulsa Ctrl+B y, después, D.
Inicia una segunda sesión:
tmux new -s wow-auth
Después, ejecuta:
cd ~/azerothcore
./acore.sh run-authserver
Los dos procesos de servidor deberían estar ahora en ejecución en sesiones independientes.
Puedes ver la lista de sesiones con:
tmux ls
Para despliegues de larga duración, utiliza las opciones de gestión de servicios documentadas por AzerothCore en lugar de depender únicamente de sesiones de terminal interactivas.
Paso 7: Crea una cuenta de prueba
Cuando el servidor del mundo se haya iniciado correctamente, podrás crear una cuenta desde su consola.
Vuelve a conectarte a la sesión del servidor del mundo:
tmux attach -t wow-world
En la consola del servidor del mundo, introduce:
account create testuser YOUR_STRONG_PASSWORD
Sustituye el nombre de usuario y la contraseña del ejemplo por las credenciales que elijas.
AzerothCore también admite distintos niveles de permisos para las cuentas.
Por ejemplo, sus comandos de gestión de cuentas permiten asignar privilegios de administrador:
account set gmlevel testuser 3 -1
El nivel 3 concede privilegios de administrador, mientras que -1 aplica la configuración a todos los reinos.
Utiliza privilegios elevados solo en las cuentas que realmente los necesiten.
Estos son comandos de la consola de AzerothCore, no comandos normales de la shell de Linux.
Paso 8: Comprende la configuración de red de los reinos
AzerothCore utiliza dos puertos TCP predeterminados:
| Puerto | Servicio |
|---|---|
| 3724 | Servidor de autenticación |
| 8085 | Servidor del mundo |
También guarda la información de conexión de los reinos en la tabla realmlist de acore_auth.
Para las pruebas locales, la dirección puede seguir siendo 127.0.0.1. En un entorno autorizado de pruebas remotas, la dirección del reino debe coincidir con una dirección a la que pueda acceder el cliente autorizado, y el acceso a la red debe configurarse en consecuencia.
Puedes consultar la configuración actual de los reinos desde MySQL:
sudo mysql
Después:
USE acore_auth;
SELECT id, name, address FROM realmlist;
La documentación de red de AzerothCore explica cómo funcionan las direcciones de los reinos y los ajustes de red.
Evita exponer el puerto de la base de datos a Internet. Si necesitas acceso remoto para un entorno autorizado, restríngelo mediante reglas adecuadas de cortafuegos o de red privada.
AzerothCore está diseñado para el protocolo del cliente histórico de WoW 3.3.5a. Los clientes modernos de World of Warcraft no son intercambiables con esa versión. La compatibilidad del cliente no implica, por sí sola, que esté permitido conectarse a un servidor no oficial.
Problemas habituales al configurar un servidor de World of Warcraft
Aunque el software se compile correctamente, los problemas de configuración pueden impedir que se inicien los servicios.
| Problema | Qué comprobar |
|---|---|
| Fallo de conexión a la base de datos | Estado de MySQL, credenciales de la base de datos y permisos del usuario |
| Worldserver no puede cargar los mapas | Archivos dbc, maps o vmaps ausentes o ubicados incorrectamente |
| Reino no disponible | Estado de Authserver y configuración de realmlist |
| Conexión rechazada | Proceso de servidor, puerto de escucha y cortafuegos |
| Fallo de compilación | Versión del compilador, dependencias y RAM disponible |
| Bloqueos inesperados | Registros de inicio, compatibilidad de versiones del software y límites de recursos |
Por ejemplo, comprueba la memoria y el espacio de almacenamiento disponibles con:
free -h
df -h
Si estás investigando un fallo de compilación, vuelve a ejecutar el comando correspondiente y lee el primer error significativo en lugar de centrarte únicamente en el mensaje final de fallo.
Si el problema persiste, consulta la documentación sobre errores comunes de AzerothCore.
Cómo mantener AzerothCore actualizado y seguro
AzerothCore recibe actualizaciones de desarrollo continuas, por lo que los requisitos de instalación y las opciones de configuración pueden cambiar.
Antes de actualizar un entorno existente:
- Haz copias de seguridad de tus bases de datos MySQL y configuraciones personalizadas.
- Consulta las últimas notas de instalación y actualización del proyecto.
- Detén correctamente los servicios correspondientes.
- Actualiza el código fuente y vuelve a compilarlo cuando sea necesario.
- Deja que se completen las actualizaciones documentadas de la base de datos.
- Comprueba los procesos de servidor y revisa sus registros.
También debes mantener al día las actualizaciones de seguridad del sistema operativo, proteger las credenciales de administrador, restringir el acceso innecesario a la red y probar los procedimientos de recuperación.
Evita desactivar por completo las actualizaciones de seguridad automáticas. En su lugar, planifica ventanas de mantenimiento y coordina las actualizaciones que puedan reiniciar MySQL u otros servicios.
Preguntas frecuentes
Sí. AzerothCore es compatible con Linux y ofrece documentación para compilar y configurar su software de servidor de código abierto. El uso de recursos del juego sujetos a derechos de propiedad o la conexión de un cliente de WoW plantean cuestiones adicionales sobre derechos y licencias.
No. El proyecto AzerothCore WotLK está diseñado para el entorno histórico de World of Warcraft 3.3.5a. Los clientes de las versiones comerciales modernas del juego no son directamente compatibles.
No. AzerothCore dejó de admitir MariaDB en septiembre de 2024. Su documentación actual recomienda MySQL 8.4 LTS.
No necesariamente. Un entorno de desarrollo o pruebas puede ejecutarse en una máquina virtual lo bastante potente. Los requisitos de recursos dependen de la compilación, los módulos instalados, los servicios activos y la carga de trabajo.
El Acuerdo de licencia de usuario final de Blizzard restringe la emulación de servidores y las conexiones no autorizadas. El software de servidor de código abierto no concede derechos sobre el cliente del juego de Blizzard, sus elementos gráficos ni otros contenidos sujetos a derechos de propiedad. Quien se plantee utilizar un entorno con emulador debe revisar las licencias pertinentes y obtener los permisos necesarios.
Conclusión
Configurar un servidor de World of Warcraft con AzerothCore implica mucho más que descargar un emulador y ejecutar dos comandos.
Un entorno técnico funcional requiere software compatible, una configuración de MySQL, datos del juego adecuados, servicios de autenticación y del mundo correctamente configurados y una configuración de red apropiada.
Si sigues la documentación actual del proyecto y compruebas cada etapa antes de continuar, entenderás mejor cómo funciona la infraestructura de los servidores de MMORPG y evitarás muchos errores de instalación habituales.
Distingue siempre entre la tecnología de servidor de código abierto y el contenido sujeto a derechos de propiedad, así como los permisos necesarios para utilizarlo.