Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

Como configurar um servidor de World of Warcraft com o 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 licenciamento 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 proprietários 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 com o 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 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. Em geral, compilar o software 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 práticas para começar, não requisitos mínimos oficiais nem garantias de capacidade para determinado número de 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, certifique-se de que elas atendam aos requisitos atuais do AzerothCore.

Use uma conta comum do Linux 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

Entre no 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 concluída com sucesso, compile o AzerothCore:

make -j2

A opção -j2 limita a compilação a duas tarefas paralelas, reduzindo o uso 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 devem 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.

Abra 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 do 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 aos recursos proprietários e ao licenciamento.

Os principais diretórios de dados incluem:

DiretórioFinalidade
dbcDados de configuração e referência do jogo
mapsInformações de 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 compatível do cliente, desde que 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 do servidor Linux para realizar a extração adequada ao seu ambiente.

Depois de concluir a extração, coloque os diretórios necessários no local de dados configurado.

Na configuração padrão, geralmente se espera que eles fiquem ao lado do binário instalado worldserver, em:

~/azerothcore/env/dist/bin/

Verifique se os diretórios necessários existem antes de iniciar o servidor do mundo.

Observação: A licença do emulador de código aberto não concede permissão para baixar, compartilhar ou redistribuir arquivos proprietários do cliente de World of Warcraft.

Etapa 5: Configure o Authserver e o Worldserver

O AzerothCore fornece arquivos de configuração de exemplo para os dois 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 dessas configuraçõ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"

Substitua YOUR_PASSWORD pela senha do banco de dados criada anteriormente.

Configure também LoginDatabaseInfo em authserver.conf.

Cada entrada identifica o host, a porta, o nome de usuário, a senha e o nome do banco de dados MySQL.

Em seguida, verifique a opção DataDir em worldserver.conf.

Se os diretórios necessários dos dados do jogo estiverem ao lado do binário instalado do servidor do mundo, o caminho relativo padrão talvez já seja adequado. Caso contrário, defina DataDir como o diretório correto.

Salve os arquivos de configuração antes de prosseguir.

Etapa 6: Inicie os servidores do mundo e de 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 do mundo:

tmux new -s wow-world

Dentro dessa sessão, execute:

cd ~/azerothcore
./acore.sh run-worldserver

Na primeira inicialização, o AzerothCore pode solicitar que você crie ou preencha as tabelas do banco de dados. Siga as instruções exibidas 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 sair da sessão do tmux sem encerrar o processo, pressione Ctrl+B, seguido de D.

Inicie uma segunda sessão:

tmux new -s wow-auth

Depois, execute:

cd ~/azerothcore
./acore.sh run-authserver

Agora, os dois processos de servidor devem 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

Depois que o servidor do mundo iniciar corretamente, você poderá criar uma conta pelo console dele.

Reconecte-se à sessão do servidor do mundo:

tmux attach -t wow-world

No console do servidor do mundo, digite:

account create testuser YOUR_STRONG_PASSWORD

Substitua o nome de usuário e a senha de exemplo pelas credenciais escolhidas.

O AzerothCore também oferece diferentes níveis de permissão para contas.

Por exemplo, os comandos de gerenciamento de contas podem 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.

Conceda privilégios elevados apenas a 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 configuração de rede dos reinos

O AzerothCore usa duas portas TCP padrão:

PortaServiço
3724Servidor de autenticação
8085Servidor do mundo

Ele também mantém as 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 autorizado de testes remotos, 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

Depois:

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 em um ambiente autorizado, restrinja-o por meio de regras adequadas de firewall ou de rede privada.

O AzerothCore foi desenvolvido para o protocolo do cliente histórico de WoW 3.3.5a. 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 concede 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 em escuta, firewall
Falha na compilaçãoVersão do compilador, dependências, RAM disponível
Falhas inesperadasLogs de inicialização, compatibilidade entre versões do software, limites de recursos

Por exemplo, verifique a memória e o espaço de armazenamento disponíveis com:

free -h
df -h

Se 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 controlada.
  4. Atualize o código-fonte e compile-o novamente quando necessário.
  5. Aguarde a conclusão das atualizações documentadas do banco de dados.
  6. Verifique os processos de servidor e examine 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.

Se o seu servidor de jogos estiver executando o Ubuntu, use o UFW para configurar o firewall do servidor. Permita o acesso apenas às portas necessárias para o jogo e ao SSH, mantendo os serviços desnecessários fechados para conexões públicas.

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 proprietários do jogo ou a conexão de um cliente de WoW envolve considerações adicionais sobre direitos e licenciamento.

O AzerothCore oferece suporte ao World of Warcraft moderno?

Não. O projeto AzerothCore WotLK foi desenvolvido para o ambiente histórico de World of Warcraft 3.3.5a. Os clientes das versões atuais do jogo não são diretamente compatíveis.

O AzerothCore oferece suporte ao MariaDB?

Não. O AzerothCore descontinuou 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 funcionar 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 ilustrações ou outros conteúdos proprietários da Blizzard. Quem estiver considerando usar um ambiente com emulador deve analisar as licenças aplicáveis e obter todas as permissões necessárias.

Conclusão

Configurar um servidor de World of Warcraft com o 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 do mundo configurados corretamente e uma configuração de rede apropriada.

Ao seguir a documentação atual do projeto e verificar cada etapa antes de prosseguir, 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 proprietário e das permissões necessárias para utilizá-la.

Table of Content

Um site de staging do WordPress é uma cópia privada do seu site em produção,

Veja como atualizar o PHP no WordPress com segurança: verifique a versão atual do PHP,

Configurar o firewall do Ubuntu com o UFW (Uncomplicated Firewall) ajuda a proteger seu VPS,

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