Configurare un server World of Warcraft significa installare un software di emulazione del server, configurare un database, preparare i dati di gioco e collegare i diversi componenti del server. Uno dei progetti open source più noti per studiare questo processo è AzerothCore, che emula l’ambiente server di World of Warcraft: Wrath of the Lich King 3.3.5a.
AzerothCore può essere eseguito su Linux, Windows e macOS. In questa guida ci concentreremo sull’installazione su Ubuntu 26.04 LTS, seguendo l’attuale procedura di installazione del progetto a partire dal codice sorgente.
Tratteremo i comandi essenziali, la configurazione del database, la rete e i problemi di installazione più comuni.
Importante: AzerothCore è un progetto open source indipendente, non un server ufficiale Blizzard. Le condizioni di licenza di Blizzard limitano l’emulazione e le connessioni non autorizzate. Questa guida è destinata alla formazione tecnica e ad ambienti per i quali si disponga dei diritti e delle autorizzazioni necessari. Non fornisce client di gioco, risorse proprietarie né il permesso di gestire un servizio non autorizzato.
Che cos’è AzerothCore?
AzerothCore è un emulatore di server MMORPG open source basato sull’ambiente di Wrath of the Lich King 3.3.5a.
Ricrea sistemi lato server come la gestione dei personaggi, l’autenticazione, le missioni, le creature e le interazioni nel mondo di gioco.
Il software utilizza tre componenti principali:
- Authserver: gestisce l’autenticazione all’accesso e la selezione del reame.
- Worldserver: gestisce le attività nel mondo di gioco, i personaggi e i sistemi di gioco.
- Database MySQL: memorizza i dati di autenticazione, i personaggi e le informazioni sul mondo di gioco.
Entrambe le applicazioni server comunicano con MySQL e possono essere eseguite sulla stessa macchina.
AzerothCore fornisce il software server, ma non un client di gioco World of Warcraft con licenza né i diritti per ridistribuire le risorse di Blizzard.

Requisiti per un server World of Warcraft
I requisiti di AzerothCore dipendono dal metodo di installazione e dal carico di lavoro. La compilazione del software richiede generalmente più risorse rispetto all’esecuzione di un piccolo ambiente di test.
Per un ambiente Linux di sviluppo o di test, considera queste specifiche come punto di partenza:
| Risorsa | Configurazione consigliata |
|---|---|
| CPU | 4 vCPU o più |
| RAM | 8 GB o più per la compilazione |
| Archiviazione | 60–100 GB SSD o NVMe |
| Sistema operativo | Ubuntu 26.04 LTS |
| Database | MySQL 8.4 LTS |
| Compilatore | GCC 15+ o Clang 18+ |
Queste specifiche hardware sono stime pratiche di partenza, non requisiti minimi ufficiali né garanzie sul numero di giocatori supportati.
Per questo tutorial useremo Ubuntu 26.04 LTS, che mette a disposizione pacchetti MySQL 8.4 supportati tramite i propri repository.
L’installazione richiede inoltre l’accesso amministrativo e una conoscenza di base dei comandi Linux.
Se non hai esperienza con l’hosting di giochi multiplayer, la nostra guida all’hosting di server di gioco spiega in che modo l’hardware del server, le prestazioni di rete e l’infrastruttura di hosting influiscono sull’esperienza di gioco, sulla stabilità e sui requisiti di risorse.
Passaggio 1: prepara il server Linux
Connettiti al tuo ambiente Linux tramite SSH:
ssh admin@YOUR_SERVER_IP
Sostituisci admin con il tuo nome utente e YOUR_SERVER_IP con l’indirizzo effettivo del server.
Aggiorna il sistema:
sudo apt update
sudo apt upgrade
Installa quindi le dipendenze indicate nella documentazione per 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
Verifica che MySQL sia in esecuzione:
sudo systemctl status mysql
Puoi anche verificare le versioni del compilatore e del database:
clang --version
mysql --version
Prima di proseguire, assicurati che soddisfino i requisiti attuali di AzerothCore.
Per compilare ed eseguire AzerothCore, usa un normale account Linux anziché eseguire l’applicazione come root.
Passaggio 2: scarica e compila AzerothCore
Scarica il codice sorgente ufficiale da GitHub:
git clone https://github.com/azerothcore/azerothcore-wotlk.git \
--branch master --single-branch ~/azerothcore
Accedi alla directory del progetto e crea una directory separata per la build:
cd ~/azerothcore
mkdir build
cd build
Configura la build 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
Se la configurazione riesce, compila AzerothCore:
make -j2
L’opzione -j2 limita la compilazione a due processi paralleli, riducendo il consumo di memoria rispetto all’uso di tutti i thread della CPU disponibili.
Se il server dispone di poca RAM e la compilazione non riesce per esaurimento della memoria, prova make -j1.
Una volta terminata la compilazione, installa i file binari:
make install
I file installati dovrebbero ora trovarsi in:
~/azerothcore/env/dist/
La directory bin contiene le applicazioni server e gli strumenti compilati.
Passaggio 3: configura il database MySQL
AzerothCore utilizza tre database:
acore_auth— informazioni di autenticazione e sugli account.acore_characters— dati dei personaggi e dei giocatori.acore_world— informazioni sul mondo di gioco.
Per una nuova installazione, AzerothCore fornisce uno script SQL per creare i database e l’utente del database.
Esegui:
sudo mysql < ~/azerothcore/data/sql/create/create_mysql.sql
Usa questo script di inizializzazione solo su una nuova installazione. Lo script ricrea anche l’utente predefinito del database e potrebbe compromettere configurazioni esistenti.
Lo script crea un account acore con una password predefinita. Cambia la password prima di utilizzare l’installazione.
Apri MySQL:
sudo mysql
Cambia la password dell’account:
ALTER USER 'acore'@'localhost'
IDENTIFIED BY 'YOUR_STRONG_PASSWORD';
Sostituisci il segnaposto con una password complessa e univoca. Mantienila riservata e aggiorna le credenziali del database corrispondenti nei file di configurazione.
Esci da MySQL:
EXIT;
AzerothCore include un sistema di aggiornamento automatico del database che inizializza e aggiorna le tabelle necessarie all’avvio dei relativi processi server.
Non è necessario importare manualmente ogni file di aggiornamento del database.
Passaggio 4: prepara i dati di gioco necessari
AzerothCore richiede dati del mondo di gioco compatibili con l’ambiente 3.3.5a.
Questi dati sono separati dal codice server open source e richiedono particolare attenzione alle risorse proprietarie e alle licenze.
Le principali directory dei dati includono:
| Directory | Scopo |
|---|---|
dbc | Dati di configurazione e di riferimento del gioco |
maps | Informazioni sul terreno e sulle mappe |
vmaps | Dati sulle collisioni e sulla linea di vista |
mmaps | Dati sulla navigazione e sul movimento |
AzerothCore fornisce strumenti di estrazione per preparare questi dati da un’installazione del client compatibile, purché si disponga dei diritti necessari.
La procedura di estrazione utilizza strumenti come map_extractor, vmap4_extractor, vmap4_assembler e mmaps_generator. Segui le istruzioni ufficiali per la configurazione del server Linux per la procedura di estrazione adatta al tuo ambiente.
Al termine dell’estrazione, colloca le directory necessarie nel percorso dei dati configurato.
Nella configurazione predefinita, in genere devono trovarsi accanto al file binario worldserver installato, in:
~/azerothcore/env/dist/bin/
Prima di avviare il world server, verifica che le directory necessarie siano presenti.
Nota: la licenza dell’emulatore open source non concede il permesso di scaricare, condividere o ridistribuire i file proprietari del client World of Warcraft.
Passaggio 5: configura Authserver e Worldserver
AzerothCore fornisce file di configurazione di esempio per entrambi i servizi.
Vai alla directory di configurazione:
cd ~/azerothcore/env/dist/etc/
Crea le copie da utilizzare:
cp authserver.conf.dist authserver.conf
cp worldserver.conf.dist worldserver.conf
Apri i file di configurazione con l’editor di testo che preferisci.
Per esempio:
nano worldserver.conf
Individua le impostazioni di connessione al database.
Il loro formato è:
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"
Sostituisci YOUR_PASSWORD con la password del database creata in precedenza.
Configura anche LoginDatabaseInfo in authserver.conf.
Ogni voce specifica l’host MySQL, la porta, il nome utente, la password e il nome del database.
Controlla quindi l’opzione DataDir in worldserver.conf.
Se le directory dei dati di gioco necessarie si trovano accanto al file binario del world server installato, il percorso relativo predefinito potrebbe essere già corretto. In caso contrario, imposta DataDir sulla directory corretta.
Salva i file di configurazione prima di proseguire.
Passaggio 6: avvia il world server e il server di autenticazione
AzerothCore include script di avvio per gestire i processi server.
Per un test interattivo, puoi usare tmux per mantenere ciascun processo in una sessione di terminale separata.
Per prima cosa, crea una sessione per il world server:
tmux new -s wow-world
All’interno della sessione, esegui:
cd ~/azerothcore
./acore.sh run-worldserver
Al primo avvio, AzerothCore potrebbe chiederti di creare o popolare le tabelle del database. Segui le istruzioni visualizzate e attendi il completamento dell’inizializzazione.
Controlla l’output per individuare eventuali problemi di connessione al database o file di dati di gioco mancanti.
Per scollegarti dalla sessione tmux senza terminare il processo, premi Ctrl+B, seguito da D.
Avvia una seconda sessione:
tmux new -s wow-auth
Quindi esegui:
cd ~/azerothcore
./acore.sh run-authserver
A questo punto, entrambi i processi server dovrebbero essere in esecuzione in sessioni separate.
Puoi elencare le sessioni usando:
tmux ls
Per le installazioni destinate a rimanere attive a lungo, usa le opzioni di gestione dei servizi documentate da AzerothCore anziché affidarti esclusivamente a sessioni di terminale interattive.
Passaggio 7: crea un account di test
Una volta avviato correttamente il world server, puoi creare un account tramite la sua console.
Riconnettiti alla sessione del world server:
tmux attach -t wow-world
Nella console del world server, inserisci:
account create testuser YOUR_STRONG_PASSWORD
Sostituisci il nome utente e la password di esempio con le credenziali che hai scelto.
AzerothCore supporta anche diversi livelli di autorizzazione per gli account.
Per esempio, i comandi di gestione degli account consentono di assegnare privilegi di amministratore:
account set gmlevel testuser 3 -1
Il livello 3 concede privilegi di amministratore, mentre -1 applica l’impostazione a tutti i reami.
Concedi privilegi elevati solo agli account che ne hanno effettivamente bisogno.
Questi sono comandi della console di AzerothCore, non normali comandi della shell Linux.
Passaggio 8: comprendi la configurazione di rete dei reami
AzerothCore utilizza due porte TCP predefinite:
| Porta | Servizio |
|---|---|
| 3724 | Server di autenticazione |
| 8085 | World server |
Memorizza inoltre le informazioni di connessione ai reami nella tabella realmlist all’interno di acore_auth.
Per i test in locale, l’indirizzo può rimanere 127.0.0.1. Per un ambiente di test remoto autorizzato, l’indirizzo del reame deve corrispondere a quello raggiungibile dal client autorizzato e l’accesso di rete deve essere configurato di conseguenza.
Puoi esaminare la configurazione esistente del reame tramite MySQL:
sudo mysql
Quindi:
USE acore_auth;
SELECT id, name, address FROM realmlist;
La documentazione di AzerothCore sulla rete spiega come funzionano gli indirizzi dei reami e le impostazioni di rete.
Evita di esporre la porta del database a Internet. Se l’accesso remoto è necessario per un ambiente autorizzato, limitalo mediante regole appropriate del firewall o della rete privata.
AzerothCore è progettato per lo storico protocollo del client WoW 3.3.5a. I client moderni di World of Warcraft non sono intercambiabili con quella versione. La compatibilità del client non costituisce, di per sé, un’autorizzazione a connettersi a un server non ufficiale.
Problemi comuni nella configurazione di un server World of Warcraft
Anche se il software viene compilato correttamente, problemi di configurazione potrebbero impedire l’avvio dei servizi.
| Problema | Cosa controllare |
|---|---|
| Connessione al database non riuscita | Stato di MySQL, credenziali del database, autorizzazioni dell’utente |
| Worldserver non riesce a caricare le mappe | File dbc, maps o vmaps mancanti o collocati nel percorso errato |
| Reame non disponibile | Stato di Authserver e configurazione di realmlist |
| Connessione rifiutata | Processo server, porta in ascolto, firewall |
| Compilazione non riuscita | Versione del compilatore, dipendenze, RAM disponibile |
| Arresti anomali imprevisti | Log di avvio, compatibilità delle versioni del software, limiti delle risorse |
Per esempio, controlla la memoria e lo spazio di archiviazione disponibili con:
free -h
df -h
Se stai cercando di risolvere un problema di compilazione, esegui nuovamente il comando pertinente e leggi il primo errore significativo, invece di concentrarti soltanto sul messaggio finale di errore.
Se i problemi persistono, consulta la documentazione di AzerothCore sugli errori comuni.
Mantenere AzerothCore aggiornato e sicuro
AzerothCore riceve aggiornamenti continui, quindi i requisiti di installazione e le opzioni di configurazione possono cambiare.
Prima di aggiornare un ambiente esistente:
- Esegui il backup dei database MySQL e delle configurazioni personalizzate.
- Consulta le istruzioni più recenti del progetto per l’installazione e l’aggiornamento.
- Arresta correttamente i servizi interessati.
- Aggiorna il codice sorgente e ripeti la compilazione quando necessario.
- Attendi il completamento degli aggiornamenti del database previsti dalla documentazione.
- Verifica i processi server ed esamina i relativi log.
È inoltre opportuno mantenere aggiornato il sistema operativo con le patch di sicurezza, proteggere le credenziali degli amministratori, limitare gli accessi di rete non necessari e testare le procedure di ripristino.
Evita di disabilitare completamente gli aggiornamenti automatici di sicurezza. Pianifica invece finestre di manutenzione e coordina gli aggiornamenti che potrebbero riavviare MySQL o altri servizi.
Se il tuo server di gioco utilizza Ubuntu, usa UFW per configurare il firewall del server. Consenti l’accesso solo alle porte di gioco necessarie e tramite SSH, mantenendo chiusi alle connessioni pubbliche i servizi non necessari.
Domande frequenti
Sì. AzerothCore supporta Linux e fornisce la documentazione per compilare e configurare il proprio software server open source. L’uso di risorse di gioco proprietarie o la connessione di un client WoW comportano ulteriori considerazioni relative ai diritti e alle licenze.
No. Il progetto AzerothCore WotLK è destinato allo storico ambiente di World of Warcraft 3.3.5a. I client delle versioni moderne del gioco non sono direttamente compatibili.
No. AzerothCore ha interrotto il supporto a MariaDB nel settembre 2024. La documentazione attuale consiglia MySQL 8.4 LTS.
Non necessariamente. Un ambiente di sviluppo o di test può essere eseguito su una macchina virtuale sufficientemente potente. I requisiti di risorse dipendono dalla compilazione, dai moduli installati, dai servizi attivi e dal carico di lavoro.
Il Contratto di licenza con l’utente finale di Blizzard limita l’emulazione dei server e le connessioni non autorizzate. Il software server open source non concede diritti sul client di gioco, sulle illustrazioni o su altri contenuti proprietari di Blizzard. Chiunque intenda utilizzare un ambiente con emulatore dovrebbe esaminare le licenze pertinenti e ottenere tutte le autorizzazioni necessarie.
Conclusione
Configurare un server World of Warcraft con AzerothCore richiede molto più che scaricare un emulatore ed eseguire due comandi.
Un ambiente tecnico funzionante richiede software compatibile, la configurazione di MySQL, dati di gioco appropriati, servizi di autenticazione e del mondo di gioco configurati correttamente e una rete adeguata.
Seguendo la documentazione aggiornata del progetto e verificando ogni fase prima di proseguire, potrai comprendere meglio il funzionamento dell’infrastruttura server di un MMORPG ed evitare molti errori di installazione comuni.
Distingui sempre la tecnologia server open source dai contenuti proprietari e dalle autorizzazioni necessari per utilizzarla.