Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

Jak skonfigurować serwer World of Warcraft za pomocą AzerothCore

Konfiguracja serwera World of Warcraft obejmuje instalację oprogramowania emulującego serwer, skonfigurowanie bazy danych, przygotowanie danych gry i połączenie poszczególnych komponentów serwera. Jednym z najbardziej znanych projektów open source pozwalających poznać ten proces jest AzerothCore, który emuluje środowisko serwerowe World of Warcraft: Wrath of the Lich King 3.3.5a.

AzerothCore działa w systemach Linux, Windows i macOS. W tym poradniku skupimy się na instalacji w systemie Ubuntu 26.04 LTS z wykorzystaniem aktualnej procedury instalacji z kodu źródłowego projektu.

Omówimy najważniejsze polecenia, konfigurację bazy danych i sieci oraz typowe problemy z instalacją.

Ważne: AzerothCore jest niezależnym projektem open source, a nie oficjalnym serwerem Blizzard. Warunki licencyjne firmy Blizzard ograniczają nieautoryzowaną emulację i połączenia. Ten poradnik służy celom edukacji technicznej i dotyczy środowisk, w których dysponujesz niezbędnymi prawami i zezwoleniami. Nie udostępnia klientów gry ani zastrzeżonych zasobów, ani nie daje zezwolenia na prowadzenie nieautoryzowanej usługi.

Czym jest AzerothCore?

AzerothCore to emulator serwera MMORPG o otwartym kodzie źródłowym, oparty na środowisku Wrath of the Lich King 3.3.5a.

Odtwarza systemy działające po stronie serwera, takie jak zarządzanie postaciami, uwierzytelnianie, zadania, stworzenia i interakcje w świecie gry.

Oprogramowanie składa się z trzech głównych komponentów:

  • Authserver: Obsługuje uwierzytelnianie podczas logowania i wybór świata gry.
  • Worldserver: Zarządza aktywnością w świecie gry, postaciami i mechaniką rozgrywki.
  • Baza danych MySQL: Przechowuje dane uwierzytelniania, postacie i informacje o świecie gry.

Obie aplikacje serwerowe komunikują się z MySQL i mogą działać na tej samej maszynie.

AzerothCore udostępnia oprogramowanie serwerowe, ale nie zapewnia licencjonowanego klienta gry World of Warcraft ani praw do redystrybucji zasobów firmy Blizzard.

Czym jest AzerothCore

Wymagania serwera World of Warcraft

Wymagania AzerothCore zależą od sposobu instalacji i obciążenia. Kompilacja oprogramowania zwykle wymaga więcej zasobów niż uruchomienie niewielkiego środowiska testowego.

W przypadku środowiska programistycznego lub testowego opartego na systemie Linux warto zacząć od następującej konfiguracji:

ZasóbSugerowana konfiguracja
CPU4 vCPU lub więcej
RAM8 GB lub więcej do kompilacji
Pamięć masowa60–100 GB na dysku SSD lub NVMe
System operacyjnyUbuntu 26.04 LTS
Baza danychMySQL 8.4 LTS
KompilatorGCC 15+ lub Clang 18+

Podane parametry sprzętowe to praktyczne szacunki na początek, a nie oficjalne wymagania minimalne ani gwarantowana liczba obsługiwanych graczy.

W tym poradniku użyjemy systemu Ubuntu 26.04 LTS, którego repozytoria zawierają obsługiwane pakiety MySQL 8.4.

Instalacja wymaga również dostępu administracyjnego i znajomości podstawowych poleceń systemu Linux.

Krok 1: Przygotuj serwer z systemem Linux

Połącz się ze środowiskiem Linux przez SSH:

ssh admin@YOUR_SERVER_IP

Zastąp admin swoją nazwą użytkownika, a YOUR_SERVER_IP rzeczywistym adresem serwera.

Zaktualizuj system:

sudo apt update
sudo apt upgrade

Następnie zainstaluj zależności wskazane w dokumentacji dla 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

Sprawdź, czy MySQL działa:

sudo systemctl status mysql

Możesz również sprawdzić wersje kompilatora i bazy danych:

clang --version
mysql --version

Przed przejściem dalej upewnij się, że spełniają aktualne wymagania AzerothCore.

Kompiluj i uruchamiaj AzerothCore z konta zwykłego użytkownika systemu Linux, a nie jako root.

Krok 2: Pobierz i skompiluj AzerothCore

Pobierz oficjalny kod źródłowy z GitHub:

git clone https://github.com/azerothcore/azerothcore-wotlk.git \
--branch master --single-branch ~/azerothcore

Przejdź do katalogu projektu i utwórz osobny katalog kompilacji:

cd ~/azerothcore
mkdir build
cd build

Skonfiguruj kompilację za pomocą 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

Jeśli konfiguracja przebiegła pomyślnie, skompiluj AzerothCore:

make -j2

Opcja -j2 ogranicza kompilację do dwóch równoległych zadań, zmniejszając obciążenie pamięci w porównaniu z wykorzystaniem wszystkich dostępnych wątków procesora.

Jeśli serwer ma mało pamięci RAM i kompilacja kończy się niepowodzeniem z powodu jej wyczerpania, spróbuj użyć make -j1.

Po zakończeniu kompilacji zainstaluj pliki wykonywalne:

make install

Zainstalowane pliki powinny być teraz dostępne w katalogu:

~/azerothcore/env/dist/

Katalog bin zawiera aplikacje serwerowe i skompilowane narzędzia.

Krok 3: Skonfiguruj bazę danych MySQL

AzerothCore korzysta z trzech baz danych:

  • acore_auth — dane uwierzytelniania i kont.
  • acore_characters — dane postaci i graczy.
  • acore_world — informacje o świecie gry.

W przypadku nowej instalacji AzerothCore udostępnia skrypt SQL do utworzenia baz danych i użytkownika bazy danych.

Uruchom:

sudo mysql < ~/azerothcore/data/sql/create/create_mysql.sql

Używaj tego skryptu inicjalizacyjnego wyłącznie przy nowej instalacji. Skrypt ponownie tworzy również domyślnego użytkownika bazy danych, co może zakłócić działanie istniejącej konfiguracji.

Skrypt tworzy konto acore z domyślnym hasłem. Zmień to hasło przed rozpoczęciem korzystania z instalacji.

Otwórz MySQL:

sudo mysql

Zmień hasło konta:

ALTER USER 'acore'@'localhost'
IDENTIFIED BY 'YOUR_STRONG_PASSWORD';

Zastąp symbol zastępczy silnym, unikatowym hasłem. Zachowaj je w poufności i zaktualizuj odpowiednie dane logowania do bazy danych w plikach konfiguracyjnych.

Wyjdź z MySQL:

EXIT;

AzerothCore zawiera automatyczny mechanizm aktualizacji bazy danych, który inicjalizuje i aktualizuje wymagane tabele podczas uruchamiania odpowiednich procesów serwera.

Nie musisz ręcznie importować każdego pliku aktualizacji bazy danych.

Krok 4: Przygotuj wymagane dane gry

AzerothCore wymaga danych świata gry zgodnych ze środowiskiem 3.3.5a.

Dane te są odrębne od kodu serwera o otwartym kodzie źródłowym i wymagają szczególnej uwagi w kwestii zastrzeżonych zasobów oraz licencji.

Główne katalogi danych to:

KatalogPrzeznaczenie
dbcKonfiguracja gry i dane referencyjne
mapsInformacje o terenie i mapach
vmapsDane dotyczące kolizji i widoczności
mmapsDane dotyczące nawigacji i ruchu

AzerothCore udostępnia narzędzia do wyodrębniania tych danych ze zgodnej instalacji klienta, pod warunkiem że masz niezbędne prawa.

Do wyodrębniania służą narzędzia takie jak map_extractor, vmap4_extractor, vmap4_assembler i mmaps_generator. Aby przeprowadzić ten proces odpowiednio do swojego środowiska, postępuj zgodnie z oficjalną instrukcją konfiguracji serwera w systemie Linux.

Po zakończeniu wyodrębniania umieść wymagane katalogi w skonfigurowanej lokalizacji danych.

Przy domyślnej konfiguracji zwykle powinny znajdować się obok zainstalowanego pliku wykonywalnego worldserver w katalogu:

~/azerothcore/env/dist/bin/

Przed uruchomieniem serwera świata gry sprawdź, czy wymagane katalogi istnieją.

Uwaga: Licencja emulatora o otwartym kodzie źródłowym nie zezwala na pobieranie, udostępnianie ani redystrybucję zastrzeżonych plików klienta World of Warcraft.

Krok 5: Skonfiguruj Authserver i Worldserver

AzerothCore udostępnia przykładowe pliki konfiguracyjne dla obu usług.

Przejdź do katalogu konfiguracyjnego:

cd ~/azerothcore/env/dist/etc/

Utwórz kopie robocze:

cp authserver.conf.dist authserver.conf
cp worldserver.conf.dist worldserver.conf

Otwórz pliki konfiguracyjne w wybranym edytorze tekstu.

Na przykład:

nano worldserver.conf

Znajdź ustawienia połączenia z bazą danych.

Mają one następujący format:

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"

Zastąp YOUR_PASSWORD utworzonym wcześniej hasłem do bazy danych.

Skonfiguruj również LoginDatabaseInfo w pliku authserver.conf.

Każdy wpis określa host MySQL, port, nazwę użytkownika, hasło i nazwę bazy danych.

Następnie sprawdź opcję DataDir w pliku worldserver.conf.

Jeśli wymagane katalogi danych gry znajdują się obok zainstalowanego pliku wykonywalnego serwera świata gry, domyślna ścieżka względna może być odpowiednia. W przeciwnym razie ustaw DataDir na właściwy katalog.

Zapisz pliki konfiguracyjne przed przejściem dalej.

Krok 6: Uruchom serwer świata gry i serwer uwierzytelniania

AzerothCore zawiera skrypty uruchomieniowe do zarządzania procesami serwera.

Podczas testów interaktywnych możesz użyć tmux, aby każdy proces działał w osobnej sesji terminala.

Najpierw utwórz sesję dla serwera świata gry:

tmux new -s wow-world

W tej sesji uruchom:

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

Przy pierwszym uruchomieniu AzerothCore może poprosić o utworzenie lub wypełnienie tabel bazy danych. Postępuj zgodnie z wyświetlanymi instrukcjami i poczekaj na zakończenie inicjalizacji.

Sprawdź, czy w danych wyjściowych nie ma informacji o problemach z połączeniem z bazą danych lub brakujących plikach danych gry.

Aby odłączyć się od sesji tmux bez zamykania procesu, naciśnij Ctrl+B, a następnie D.

Uruchom drugą sesję:

tmux new -s wow-auth

Następnie uruchom:

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

Oba procesy serwera powinny teraz działać w osobnych sesjach.

Listę sesji wyświetlisz za pomocą:

tmux ls

W przypadku wdrożeń działających przez dłuższy czas korzystaj z opisanych w dokumentacji AzerothCore metod zarządzania usługami, zamiast polegać wyłącznie na interaktywnych sesjach terminala.

Krok 7: Utwórz konto testowe

Po pomyślnym uruchomieniu serwera świata gry możesz utworzyć konto za pomocą jego konsoli.

Ponownie połącz się z sesją serwera świata gry:

tmux attach -t wow-world

W konsoli serwera świata gry wpisz:

account create testuser YOUR_STRONG_PASSWORD

Zastąp przykładową nazwę użytkownika i hasło wybranymi przez siebie danymi logowania.

AzerothCore obsługuje również różne poziomy uprawnień kont.

Na przykład za pomocą poleceń zarządzania kontami można nadać uprawnienia administratora:

account set gmlevel testuser 3 -1

Poziom 3 nadaje uprawnienia administratora, a -1 stosuje to ustawienie we wszystkich światach gry.

Nadawaj podwyższone uprawnienia tylko kontom, które naprawdę ich potrzebują.

Są to polecenia konsoli AzerothCore, a nie zwykłe polecenia powłoki systemu Linux.

Krok 8: Zapoznaj się z konfiguracją sieciową światów gry

AzerothCore domyślnie używa dwóch portów TCP:

PortUsługa
3724Serwer uwierzytelniania
8085Serwer świata gry

Informacje o połączeniu ze światami gry przechowuje również w tabeli realmlist w bazie acore_auth.

W przypadku testów lokalnych adres może pozostać ustawiony na 127.0.0.1. W autoryzowanym środowisku testów zdalnych adres świata gry musi odpowiadać adresowi dostępnému dla uprawnionego klienta, a dostęp sieciowy trzeba odpowiednio skonfigurować.

Istniejącą konfigurację światów gry możesz sprawdzić przez MySQL:

sudo mysql

Następnie:

USE acore_auth;
SELECT id, name, address FROM realmlist;

Dokumentacja sieciowa AzerothCore wyjaśnia działanie adresów światów gry i ustawień sieciowych.

Nie udostępniaj portu bazy danych w publicznym internecie. Jeśli w autoryzowanym środowisku potrzebny jest dostęp zdalny, ogranicz go za pomocą odpowiednich reguł zapory sieciowej lub sieci prywatnej.

AzerothCore jest przeznaczony do obsługi historycznego protokołu klienta WoW 3.3.5a. Współczesnych klientów World of Warcraft nie można używać zamiennie z tą wersją. Sama zgodność klienta nie oznacza zezwolenia na łączenie się z nieoficjalnym serwerem.

Typowe problemy z konfiguracją serwera World of Warcraft

Nawet jeśli oprogramowanie skompiluje się pomyślnie, problemy z konfiguracją mogą uniemożliwić uruchomienie usług.

ProblemCo sprawdzić
Nie udało się połączyć z bazą danychStan MySQL, dane logowania do bazy danych, uprawnienia użytkownika
Worldserver nie może wczytać mapBrakujące lub umieszczone w niewłaściwej lokalizacji pliki dbc, maps lub vmaps
Świat gry jest niedostępnyStan Authserver i konfiguracja realmlist
Połączenie odrzuconeProces serwera, port nasłuchujący, zapora sieciowa
Kompilacja nie powiodła sięWersja kompilatora, zależności, dostępna pamięć RAM
Nieoczekiwane awarieDzienniki uruchamiania, zgodność wersji oprogramowania, limity zasobów

Na przykład dostępną pamięć i miejsce na dysku sprawdzisz za pomocą:

free -h
df -h

Jeśli diagnozujesz nieudaną kompilację, uruchom ponownie odpowiednie polecenie i przeczytaj pierwszy istotny komunikat o błędzie, zamiast skupiać się wyłącznie na końcowym komunikacie o niepowodzeniu.

W przypadku utrzymujących się problemów zajrzyj do dokumentacji AzerothCore dotyczącej typowych błędów.

Aktualizowanie i zabezpieczanie AzerothCore

AzerothCore jest stale rozwijany, dlatego wymagania instalacyjne i opcje konfiguracji mogą się zmieniać.

Przed aktualizacją istniejącego środowiska:

  1. Utwórz kopie zapasowe baz danych MySQL i własnych konfiguracji.
  2. Zapoznaj się z najnowszymi informacjami projektu dotyczącymi instalacji i aktualizacji.
  3. Zatrzymaj odpowiednie usługi w kontrolowany sposób.
  4. Zaktualizuj kod źródłowy i w razie potrzeby ponownie skompiluj oprogramowanie.
  5. Poczekaj na zakończenie aktualizacji bazy danych opisanych w dokumentacji.
  6. Sprawdź procesy serwera i przejrzyj ich dzienniki.

Regularnie instaluj również aktualizacje zabezpieczeń systemu operacyjnego, chroń dane logowania administratorów, ogranicz zbędny dostęp sieciowy i testuj procedury odzyskiwania.

Nie wyłączaj całkowicie automatycznych aktualizacji zabezpieczeń. Zamiast tego planuj okna serwisowe i koordynuj aktualizacje, które mogą spowodować ponowne uruchomienie MySQL lub innych usług.

Często zadawane pytania

Czy mogę skonfigurować serwer WoW w systemie Linux?

Tak. AzerothCore obsługuje system Linux i udostępnia dokumentację dotyczącą kompilacji i konfiguracji oprogramowania serwerowego o otwartym kodzie źródłowym. Korzystanie z zastrzeżonych zasobów gry lub łączenie się klientem WoW wiąże się z dodatkowymi kwestiami dotyczącymi praw i licencji.

Czy AzerothCore obsługuje współczesne wersje World of Warcraft?

Nie. Projekt AzerothCore WotLK jest przeznaczony dla historycznego środowiska World of Warcraft 3.3.5a. Współczesne oficjalne wersje klienta gry nie są z nim bezpośrednio zgodne.

Czy AzerothCore obsługuje MariaDB?

Nie. AzerothCore zakończył obsługę MariaDB we wrześniu 2024 roku. Aktualna dokumentacja projektu zaleca MySQL 8.4 LTS.

Czy potrzebuję serwera dedykowanego?

Niekoniecznie. Środowisko programistyczne lub testowe może działać na wystarczająco wydajnej maszynie wirtualnej. Zapotrzebowanie na zasoby zależy od kompilacji, zainstalowanych modułów, aktywnych usług i obciążenia.

Czy prowadzenie prywatnego serwera World of Warcraft jest legalne?

Umowa licencyjna użytkownika końcowego firmy Blizzard ogranicza nieautoryzowaną emulację serwerów i połączenia z nimi. Oprogramowanie serwerowe o otwartym kodzie źródłowym nie daje praw do klienta gry, grafik ani innych zastrzeżonych treści firmy Blizzard. Każdy, kto rozważa korzystanie ze środowiska emulatora, powinien zapoznać się z odpowiednimi licencjami i uzyskać wszelkie wymagane zezwolenia.

Podsumowanie

Konfiguracja serwera World of Warcraft za pomocą AzerothCore wymaga znacznie więcej niż pobrania emulatora i uruchomienia dwóch poleceń.

Działające środowisko techniczne wymaga zgodnego oprogramowania, konfiguracji MySQL, odpowiednich danych gry, prawidłowo skonfigurowanych usług uwierzytelniania i świata gry oraz właściwych ustawień sieciowych.

Postępując zgodnie z aktualną dokumentacją projektu i weryfikując każdy etap przed przejściem do następnego, możesz lepiej zrozumieć działanie infrastruktury serwerów MMORPG i uniknąć wielu typowych błędów instalacyjnych.

Zawsze odróżniaj technologię serwerową o otwartym kodzie źródłowym od zastrzeżonych treści i zezwoleń wymaganych do jej wykorzystania.

Table of Content

Hosting that grows with you

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

Explore VPS hosting →

Możesz założyć firmę hostingową bez inwestowania w drogie serwery ani budowania własnego centrum danych. Wystarczą

Odsprzedaż hostingu VPS pozwala firmom hostingowym sprzedawać wirtualne serwery prywatne pod własną marką bez kupowania

Możesz stworzyć stronę WordPress za pomocą AI bez znajomości programowania i bez zatrudniania profesjonalnego projektanta

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.

Przewijanie do góry