Configurar um servidor de World of Warcraft envolve instalar um software de emulação de servidor, configurar um banco de dados, preparar os dados do jogo e conectar os diferentes componentes do servidor. Um dos projetos de código aberto mais conhecidos para estudar esse processo é o AzerothCore, que emula o ambiente de servidor de World of Warcraft: Wrath of the Lich King 3.3.5a.
O AzerothCore pode ser executado no Linux, Windows e macOS. Neste guia, vamos nos concentrar na instalação no Ubuntu 26.04 LTS, usando o processo atual de instalação a partir do código-fonte do projeto.
Vamos abordar os comandos essenciais, a configuração do banco de dados, a rede e os problemas comuns de instalação.
Importante: O AzerothCore é um projeto independente de código aberto, não um servidor oficial da Blizzard. Os termos de licença da Blizzard restringem a emulação e as conexões não autorizadas. Este guia destina-se ao aprendizado técnico e a ambientes nos quais você tenha os direitos e as permissões necessários. Ele não fornece clientes do jogo, recursos protegidos por direitos de propriedade nem permissão para operar um serviço não autorizado.
O que é o AzerothCore?
O AzerothCore é um emulador de servidor de MMORPG de código aberto baseado no ambiente de Wrath of the Lich King 3.3.5a.
Ele recria sistemas do lado do servidor, como gerenciamento de personagens, autenticação, missões, criaturas e interações no mundo do jogo.
O software usa três componentes principais:
- Authserver: Cuida da autenticação de login e da seleção de reinos.
- Worldserver: Gerencia as atividades no mundo do jogo, os personagens e os sistemas de jogabilidade.
- Banco de dados MySQL: Armazena registros de autenticação, personagens e informações do mundo.
As duas aplicações de servidor se comunicam com o MySQL e podem ser executadas na mesma máquina.
O AzerothCore fornece o software de servidor, mas não fornece um cliente licenciado do jogo World of Warcraft nem os direitos de redistribuir os recursos da Blizzard.

Requisitos para um servidor de World of Warcraft
Os requisitos do AzerothCore dependem do método de instalação e da carga de trabalho. Compilar o software geralmente exige mais recursos do que executar um pequeno ambiente de testes.
Para um ambiente de desenvolvimento ou testes no Linux, considere estas especificações iniciais:
| Recurso | Configuração sugerida |
|---|---|
| CPU | 4 vCPU ou mais |
| RAM | 8 GB ou mais para compilação |
| Armazenamento | 60–100 GB em SSD ou NVMe |
| Sistema operacional | Ubuntu 26.04 LTS |
| Banco de dados | MySQL 8.4 LTS |
| Compilador | GCC 15+ ou Clang 18+ |
Esses valores de hardware são estimativas iniciais práticas, não requisitos mínimos oficiais nem garantias de capacidade para jogadores.
Neste tutorial, usaremos o Ubuntu 26.04 LTS, que disponibiliza pacotes do MySQL 8.4 com suporte por meio de seus repositórios.
A instalação também exige acesso administrativo e familiaridade com comandos básicos do Linux.
Se você está começando a hospedar jogos multijogador, nosso Guia de hospedagem de servidores de jogos explica como o hardware do servidor, o desempenho da rede e a infraestrutura de hospedagem afetam a jogabilidade, a estabilidade e os requisitos de recursos.
Etapa 1: Prepare seu servidor Linux
Conecte-se ao seu ambiente Linux por SSH:
ssh admin@YOUR_SERVER_IP
Substitua admin pelo seu nome de usuário e YOUR_SERVER_IP pelo endereço real do seu servidor.
Atualize o sistema:
sudo apt update
sudo apt upgrade
Em seguida, instale as dependências documentadas para o 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
Verifique se o MySQL está em execução:
sudo systemctl status mysql
Você também pode verificar as versões do compilador e do banco de dados:
clang --version
mysql --version
Antes de continuar, confirme que elas atendem aos requisitos atuais do AzerothCore.
Use uma conta Linux comum para compilar e executar o AzerothCore, em vez de executar a aplicação como root.
Etapa 2: Baixe e compile o AzerothCore
Baixe o código-fonte oficial do GitHub:
git clone https://github.com/azerothcore/azerothcore-wotlk.git \
--branch master --single-branch ~/azerothcore
Acesse o diretório do projeto e crie um diretório separado para a compilação:
cd ~/azerothcore
mkdir build
cd build
Configure a compilação usando o 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
Se a configuração for bem-sucedida, compile o AzerothCore:
make -j2
A opção -j2 limita a compilação a duas tarefas paralelas, reduzindo o consumo de memória em comparação com o uso de todas as threads de CPU disponíveis.
Se o servidor tiver pouca RAM e a compilação falhar por falta de memória, tente make -j1.
Quando a compilação terminar, instale os binários:
make install
Os arquivos instalados deverão estar disponíveis em:
~/azerothcore/env/dist/
O diretório bin contém as aplicações de servidor e as ferramentas compiladas.
Etapa 3: Configure o banco de dados MySQL
O AzerothCore usa três bancos de dados:
acore_auth— informações de autenticação e contas.acore_characters— dados de personagens e jogadores.acore_world— informações do mundo do jogo.
Para uma nova instalação, o AzerothCore fornece um script SQL para criar os bancos de dados e o usuário do banco de dados.
Execute:
sudo mysql < ~/azerothcore/data/sql/create/create_mysql.sql
Use este script de inicialização apenas em uma instalação nova. O script também recria o usuário padrão do banco de dados, o que pode afetar configurações existentes.
O script cria uma conta acore com uma senha padrão. Altere essa senha antes de usar a instalação.
Acesse o MySQL:
sudo mysql
Altere a senha da conta:
ALTER USER 'acore'@'localhost'
IDENTIFIED BY 'YOUR_STRONG_PASSWORD';
Substitua o valor de exemplo por uma senha forte e exclusiva. Mantenha-a em sigilo e atualize as credenciais correspondentes do banco de dados nos arquivos de configuração.
Saia do MySQL:
EXIT;
O AzerothCore inclui um atualizador automático de banco de dados que inicializa e atualiza as tabelas necessárias quando os processos de servidor correspondentes são iniciados.
Você não precisa importar manualmente todos os arquivos de atualização do banco de dados.
Etapa 4: Prepare os dados necessários do jogo
O AzerothCore exige dados do mundo do jogo compatíveis com o ambiente 3.3.5a.
Esses dados são separados do código de servidor de código aberto e exigem atenção especial quanto aos recursos protegidos por direitos de propriedade e às licenças.
Os principais diretórios de dados incluem:
| Diretório | Finalidade |
|---|---|
dbc | Dados de configuração e referência do jogo |
maps | Informações sobre terreno e mapas |
vmaps | Dados de colisão e linha de visão |
mmaps | Dados de navegação e movimentação |
O AzerothCore fornece ferramentas de extração para preparar esses dados a partir de uma instalação de cliente compatível para a qual você tenha os direitos necessários.
O processo de extração usa ferramentas como map_extractor, vmap4_extractor, vmap4_assembler e mmaps_generator. Siga as instruções oficiais de configuração de servidor Linux para realizar a extração adequada ao seu ambiente.
Após concluir a extração, coloque os diretórios necessários no local configurado para os dados.
Na configuração padrão, geralmente se espera que eles fiquem junto ao binário worldserver instalado em:
~/azerothcore/env/dist/bin/
Verifique se os diretórios necessários existem antes de iniciar o servidor de mundo.
Observação: A licença do emulador de código aberto não concede permissão para baixar, compartilhar ou redistribuir arquivos protegidos por direitos de propriedade do cliente de World of Warcraft.
Etapa 5: Configure o Authserver e o Worldserver
O AzerothCore fornece arquivos de configuração de exemplo para ambos os serviços.
Acesse o diretório de configuração:
cd ~/azerothcore/env/dist/etc/
Crie cópias para uso:
cp authserver.conf.dist authserver.conf
cp worldserver.conf.dist worldserver.conf
Abra os arquivos de configuração com o editor de texto de sua preferência.
Por exemplo:
nano worldserver.conf
Localize as configurações de conexão com o banco de dados.
O formato delas é:
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"
Substitua YOUR_PASSWORD pela senha do banco de dados criada anteriormente.
Configure também LoginDatabaseInfo em authserver.conf.
Cada entrada identifica o host MySQL, a porta, o nome de usuário, a senha e o nome do banco de dados.
Em seguida, verifique a opção DataDir em worldserver.conf.
Se os diretórios necessários dos dados do jogo estiverem junto ao binário instalado do servidor de mundo, o caminho relativo padrão talvez já seja adequado. Caso contrário, defina DataDir com o diretório correto.
Salve os arquivos de configuração antes de prosseguir.
Etapa 6: Inicie os servidores de mundo e autenticação
O AzerothCore inclui scripts de inicialização para gerenciar os processos de servidor.
Para um teste interativo, você pode usar o tmux para manter cada processo em uma sessão de terminal separada.
Primeiro, crie uma sessão para o servidor de mundo:
tmux new -s wow-world
Nessa sessão, execute:
cd ~/azerothcore
./acore.sh run-worldserver
Na primeira inicialização, o AzerothCore pode solicitar que você crie ou preencha tabelas do banco de dados. Siga as instruções e aguarde a conclusão da inicialização.
Verifique na saída se há problemas de conexão com o banco de dados ou arquivos de dados do jogo ausentes.
Para se desconectar da sessão do tmux sem encerrar o processo, pressione Ctrl+B e depois D.
Inicie uma segunda sessão:
tmux new -s wow-auth
Em seguida, execute:
cd ~/azerothcore
./acore.sh run-authserver
Os dois processos de servidor agora deverão estar em execução em sessões separadas.
Você pode listar suas sessões usando:
tmux ls
Para implantações de longa duração, use as opções de gerenciamento de serviços documentadas pelo AzerothCore, em vez de depender apenas de sessões interativas de terminal.
Etapa 7: Crie uma conta de teste
Quando o servidor de mundo iniciar corretamente, você poderá criar uma conta pelo console dele.
Reconecte-se à sessão do servidor de mundo:
tmux attach -t wow-world
No console do servidor de mundo, digite:
account create testuser YOUR_STRONG_PASSWORD
Substitua o nome de usuário e a senha de exemplo pelas credenciais de sua escolha.
O AzerothCore também oferece suporte a diferentes níveis de permissão para contas.
Por exemplo, os comandos de gerenciamento de contas permitem conceder privilégios de administrador:
account set gmlevel testuser 3 -1
O nível 3 concede privilégios de administrador, enquanto -1 aplica a configuração a todos os reinos.
Use privilégios elevados apenas em contas que realmente precisem deles.
Esses são comandos do console do AzerothCore, não comandos comuns do shell do Linux.
Etapa 8: Entenda a rede dos reinos
O AzerothCore usa duas portas TCP padrão:
| Porta | Serviço |
|---|---|
| 3724 | Servidor de autenticação |
| 8085 | Servidor de mundo |
Ele também mantém informações de conexão dos reinos na tabela realmlist, dentro de acore_auth.
Para testes locais, o endereço pode permanecer como 127.0.0.1. Para um ambiente de testes remotos autorizado, o endereço do reino deve corresponder ao endereço acessível pelo cliente autorizado, e o acesso à rede deve ser configurado de acordo.
Você pode consultar a configuração atual dos reinos pelo MySQL:
sudo mysql
Em seguida:
USE acore_auth;
SELECT id, name, address FROM realmlist;
A documentação de rede do AzerothCore explica como funcionam os endereços dos reinos e as configurações de rede.
Evite expor a porta do banco de dados à internet pública. Se o acesso remoto for necessário para um ambiente autorizado, restrinja-o por meio de regras adequadas de firewall ou de rede privada.
O AzerothCore usa como referência o protocolo do cliente histórico do WoW 3.3.5a. Os clientes modernos de World of Warcraft não são intercambiáveis com essa versão. A compatibilidade do cliente, por si só, não estabelece permissão para se conectar a um servidor não oficial.
Problemas comuns na configuração de um servidor de World of Warcraft
Mesmo quando o software é compilado com sucesso, problemas de configuração podem impedir a inicialização dos serviços.
| Problema | O que verificar |
|---|---|
| Falha na conexão com o banco de dados | Status do MySQL, credenciais do banco de dados, permissões do usuário |
| O Worldserver não consegue carregar os mapas | Arquivos dbc, maps ou vmaps ausentes ou em locais incorretos |
| Reino indisponível | Status do Authserver e configuração de realmlist |
| Conexão recusada | Processo de servidor, porta de escuta, firewall |
| Falha na compilação | Versão do compilador, dependências, RAM disponível |
| Falhas inesperadas | Logs de inicialização, compatibilidade das versões do software, limites de recursos |
Por exemplo, verifique a memória e o armazenamento disponíveis com:
free -h
df -h
Se você estiver investigando uma falha de compilação, execute novamente o comando correspondente e leia o primeiro erro relevante, em vez de se concentrar apenas na mensagem final de falha.
Para problemas persistentes, consulte a documentação de erros comuns do AzerothCore.
Como manter o AzerothCore atualizado e seguro
O AzerothCore recebe atualizações contínuas de desenvolvimento, portanto os requisitos de instalação e as opções de configuração podem mudar.
Antes de atualizar um ambiente existente:
- Faça backup dos bancos de dados MySQL e das configurações personalizadas.
- Consulte as notas mais recentes de instalação e atualização do projeto.
- Encerre os serviços correspondentes de forma adequada.
- Atualize o código-fonte e recompile quando necessário.
- Aguarde a conclusão das atualizações de banco de dados documentadas.
- Verifique os processos de servidor e analise os logs.
Você também deve manter as atualizações de segurança do sistema operacional em dia, proteger as credenciais de administrador, restringir o acesso desnecessário à rede e testar os procedimentos de recuperação.
Evite desativar completamente as atualizações automáticas de segurança. Em vez disso, planeje janelas de manutenção e coordene as atualizações que possam reiniciar o MySQL ou outros serviços.
Perguntas frequentes
Sim. O AzerothCore oferece suporte ao Linux e fornece documentação para compilar e configurar seu software de servidor de código aberto. O uso de recursos protegidos por direitos de propriedade do jogo ou a conexão de um cliente de WoW envolvem considerações adicionais sobre direitos e licenças.
Não. O projeto AzerothCore WotLK é voltado ao ambiente histórico de World of Warcraft 3.3.5a. Os clientes modernos da versão comercial do jogo não são diretamente compatíveis.
Não. O AzerothCore encerrou o suporte ao MariaDB em setembro de 2024. Sua documentação atual recomenda o MySQL 8.4 LTS.
Não necessariamente. Um ambiente de desenvolvimento ou testes pode ser executado em uma máquina virtual com recursos suficientes. Os requisitos de recursos dependem da compilação, dos módulos instalados, dos serviços ativos e da carga de trabalho.
O Contrato de Licença de Usuário Final da Blizzard restringe a emulação de servidores e as conexões não autorizadas. O software de servidor de código aberto não concede direitos sobre o cliente do jogo, as artes ou outros conteúdos protegidos por direitos de propriedade da Blizzard. Quem estiver considerando usar um ambiente com emulador deve consultar as licenças aplicáveis e obter todas as permissões necessárias.
Conclusão
Configurar um servidor de World of Warcraft com AzerothCore envolve muito mais do que baixar um emulador e executar dois comandos.
Um ambiente técnico funcional exige software compatível, configuração do MySQL, dados adequados do jogo, serviços de autenticação e de mundo configurados corretamente e uma rede apropriada.
Ao seguir a documentação atual do projeto e verificar cada etapa antes de avançar, você pode entender melhor como funciona a infraestrutura de servidores de MMORPG e evitar muitos erros comuns de instalação.
Sempre diferencie a tecnologia de servidor de código aberto do conteúdo protegido por direitos de propriedade e das permissões necessárias para usá-lo.