Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

Como configurar um servidor de World of Warcraft com AzerothCore

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.

O que é o AzerothCore

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:

RecursoConfiguração sugerida
CPU4 vCPU ou mais
RAM8 GB ou mais para compilação
Armazenamento60–100 GB em SSD ou NVMe
Sistema operacionalUbuntu 26.04 LTS
Banco de dadosMySQL 8.4 LTS
CompiladorGCC 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.

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órioFinalidade
dbcDados de configuração e referência do jogo
mapsInformações sobre terreno e mapas
vmapsDados de colisão e linha de visão
mmapsDados 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:

PortaServiço
3724Servidor de autenticação
8085Servidor 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.

ProblemaO que verificar
Falha na conexão com o banco de dadosStatus do MySQL, credenciais do banco de dados, permissões do usuário
O Worldserver não consegue carregar os mapasArquivos dbc, maps ou vmaps ausentes ou em locais incorretos
Reino indisponívelStatus do Authserver e configuração de realmlist
Conexão recusadaProcesso de servidor, porta de escuta, firewall
Falha na compilaçãoVersão do compilador, dependências, RAM disponível
Falhas inesperadasLogs 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:

  1. Faça backup dos bancos de dados MySQL e das configurações personalizadas.
  2. Consulte as notas mais recentes de instalação e atualização do projeto.
  3. Encerre os serviços correspondentes de forma adequada.
  4. Atualize o código-fonte e recompile quando necessário.
  5. Aguarde a conclusão das atualizações de banco de dados documentadas.
  6. 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

Posso configurar um servidor de WoW no Linux?

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.

O AzerothCore oferece suporte às versões modernas de World of Warcraft?

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.

O AzerothCore oferece suporte ao MariaDB?

Não. O AzerothCore encerrou o suporte ao MariaDB em setembro de 2024. Sua documentação atual recomenda o MySQL 8.4 LTS.

Preciso de um servidor dedicado?

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.

É legal operar um servidor privado de World of Warcraft?

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.

Table of Content

Hosting that grows with you

Give your next website or application the resources and control it needs.

Explore VPS hosting →

A revenda de hospedagem VPS permite que empresas de hospedagem vendam servidores virtuais privados com

Você pode criar um site WordPress com IA sem saber programar nem contratar um web

Fedora vs Ubuntu é uma comparação comum entre desenvolvedores, entusiastas do Linux e empresas que

Build your next project with ZYNOO

From your first website to demanding applications, choose the resources and control you need.

Shared Hosting

Start your blog or business website with cPanel, LiteSpeed and CloudLinux.

VPS Hosting

Grow your websites and applications with NVMe storage, KVM virtualization and full root access.

Dedicated Servers

Power demanding projects with your own physical server, dedicated resources and control over your environment.

Rolar para cima