Настройка сервера World of Warcraft включает установку программного обеспечения для эмуляции сервера, настройку базы данных, подготовку игровых данных и соединение различных серверных компонентов. Один из наиболее известных проектов с открытым исходным кодом, на примере которого можно изучить этот процесс, — AzerothCore. Он эмулирует серверную среду World of Warcraft: Wrath of the Lich King 3.3.5a.
AzerothCore работает на Linux, Windows и macOS. В этом руководстве мы сосредоточимся на установке в Ubuntu 26.04 LTS, следуя актуальной процедуре установки из исходного кода проекта.
Мы рассмотрим основные команды, настройку базы данных и сети, а также распространённые проблемы при установке.
Важно: AzerothCore — независимый проект с открытым исходным кодом, а не официальный сервер Blizzard. Лицензионные условия Blizzard ограничивают несанкционированную эмуляцию серверов и подключения к ним. Это руководство предназначено для изучения технических аспектов в условиях, когда у вас есть необходимые права и разрешения. Оно не предоставляет игровые клиенты, проприетарные ресурсы или разрешение на работу несанкционированного сервиса.
Что такое AzerothCore?
AzerothCore — эмулятор сервера MMORPG с открытым исходным кодом, основанный на среде Wrath of the Lich King 3.3.5a.
Он воссоздаёт серверные системы, в том числе управление персонажами, аутентификацию, задания, существ и взаимодействия в игровом мире.
Программное обеспечение состоит из трёх основных компонентов:
- Authserver: отвечает за аутентификацию при входе и выбор игрового мира.
- Worldserver: управляет событиями в игровом мире, персонажами и игровыми системами.
- База данных MySQL: хранит данные аутентификации, персонажей и игрового мира.
Оба серверных приложения взаимодействуют с MySQL и могут работать на одном компьютере.
AzerothCore предоставляет серверное программное обеспечение, но не предоставляет лицензированный игровой клиент World of Warcraft или права на распространение ресурсов Blizzard.

Требования к серверу World of Warcraft
Требования AzerothCore зависят от способа установки и нагрузки. Для компиляции обычно требуется больше ресурсов, чем для работы небольшой тестовой среды.
Для среды разработки или тестирования на Linux можно ориентироваться на следующие характеристики:
| Ресурс | Рекомендуемая конфигурация |
|---|---|
| ЦП | 4 vCPU или больше |
| Оперативная память | 8 ГБ или больше для компиляции |
| Хранилище | SSD или NVMe на 60–100 ГБ |
| Операционная система | Ubuntu 26.04 LTS |
| База данных | MySQL 8.4 LTS |
| Компилятор | GCC 15+ или Clang 18+ |
Эти характеристики оборудования — практические ориентиры для начала работы, а не официальные минимальные требования или гарантия определённой вместимости сервера.
В этом руководстве мы будем использовать Ubuntu 26.04 LTS, в репозиториях которой доступны поддерживаемые пакеты MySQL 8.4.
Для установки также потребуются права администратора и знание базовых команд Linux.
Если вы только начинаете разбираться в хостинге многопользовательских игр, наше руководство по хостингу игровых серверов поможет понять, как серверное оборудование, производительность сети и инфраструктура хостинга влияют на игровой процесс, стабильность и требования к ресурсам.
Шаг 1. Подготовьте сервер Linux
Подключитесь к среде Linux по SSH:
ssh admin@YOUR_SERVER_IP
Замените admin своим именем пользователя, а YOUR_SERVER_IP — фактическим адресом сервера.
Обновите систему:
sudo apt update
sudo apt upgrade
Затем установите зависимости, указанные в документации для 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
Проверьте, работает ли MySQL:
sudo systemctl status mysql
Также можно проверить версии компилятора и базы данных:
clang --version
mysql --version
Прежде чем продолжить, убедитесь, что они соответствуют актуальным требованиям AzerothCore.
Для компиляции и запуска AzerothCore используйте обычную учётную запись Linux, а не запускайте приложение от имени root.
Шаг 2. Загрузите и скомпилируйте AzerothCore
Загрузите официальный исходный код с GitHub:
git clone https://github.com/azerothcore/azerothcore-wotlk.git \
--branch master --single-branch ~/azerothcore
Перейдите в каталог проекта и создайте отдельный каталог для сборки:
cd ~/azerothcore
mkdir build
cd build
Настройте сборку с помощью 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
Если настройка прошла успешно, скомпилируйте AzerothCore:
make -j2
Параметр -j2 ограничивает компиляцию двумя параллельными задачами. Это снижает нагрузку на память по сравнению с использованием всех доступных потоков ЦП.
Если на сервере мало оперативной памяти и компиляция завершается ошибкой из-за её нехватки, попробуйте make -j1.
После завершения компиляции установите исполняемые файлы:
make install
Теперь установленные файлы должны находиться в каталоге:
~/azerothcore/env/dist/
Каталог bin содержит серверные приложения и скомпилированные инструменты.
Шаг 3. Настройте базу данных MySQL
AzerothCore использует три базы данных:
acore_auth— данные аутентификации и учётных записей.acore_characters— данные персонажей и игроков.acore_world— данные игрового мира.
Для новой установки AzerothCore предоставляет SQL-скрипт, создающий базы данных и пользователя базы данных.
Выполните:
sudo mysql < ~/azerothcore/data/sql/create/create_mysql.sql
Используйте этот скрипт инициализации только при новой установке. Он также повторно создаёт пользователя базы данных по умолчанию, что может нарушить работу существующих конфигураций.
Скрипт создаёт учётную запись acore с паролем по умолчанию. Смените этот пароль перед использованием установленной системы.
Откройте MySQL:
sudo mysql
Смените пароль учётной записи:
ALTER USER 'acore'@'localhost'
IDENTIFIED BY 'YOUR_STRONG_PASSWORD';
Замените заполнитель надёжным уникальным паролем. Не разглашайте его и обновите соответствующие учётные данные базы данных в файлах конфигурации.
Выйдите из MySQL:
EXIT;
В AzerothCore предусмотрен инструмент автоматического обновления базы данных: он создаёт и обновляет необходимые таблицы при запуске соответствующих серверных процессов.
Импортировать каждый файл обновления базы данных вручную не требуется.
Шаг 4. Подготовьте необходимые игровые данные
Для работы AzerothCore нужны данные игрового мира, совместимые со средой 3.3.5a.
Они не входят в состав серверного кода с открытым исходным кодом, поэтому следует внимательно отнестись к правам на проприетарные ресурсы и условиям лицензирования.
Основные каталоги данных:
| Каталог | Назначение |
|---|---|
dbc | Настройки игры и справочные данные |
maps | Данные о местности и картах |
vmaps | Данные о столкновениях и прямой видимости |
mmaps | Данные для навигации и перемещения |
AzerothCore предоставляет инструменты для извлечения этих данных из совместимой установки клиента при наличии у вас необходимых прав.
Для извлечения используются такие инструменты, как map_extractor, vmap4_extractor, vmap4_assembler и mmaps_generator. Следуйте официальным инструкциям по настройке сервера Linux, чтобы выполнить извлечение с учётом вашей среды.
После извлечения поместите необходимые каталоги в указанное в настройках расположение данных.
При настройках по умолчанию обычно предполагается, что они находятся рядом с установленным исполняемым файлом worldserver в каталоге:
~/azerothcore/env/dist/bin/
Перед запуском сервера игрового мира убедитесь, что необходимые каталоги существуют.
Примечание: лицензия эмулятора с открытым исходным кодом не даёт разрешения загружать, передавать или распространять проприетарные файлы клиента World of Warcraft.
Шаг 5. Настройте Authserver и Worldserver
AzerothCore предоставляет примеры файлов конфигурации для обеих служб.
Перейдите в каталог конфигурации:
cd ~/azerothcore/env/dist/etc/
Создайте рабочие копии:
cp authserver.conf.dist authserver.conf
cp worldserver.conf.dist worldserver.conf
Откройте файлы конфигурации в удобном вам текстовом редакторе.
Например:
nano worldserver.conf
Найдите параметры подключения к базе данных.
Их формат:
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"
Замените YOUR_PASSWORD паролем базы данных, созданным ранее.
Также настройте LoginDatabaseInfo в файле authserver.conf.
Каждая запись содержит адрес сервера MySQL, порт, имя пользователя, пароль и имя базы данных.
Затем проверьте параметр DataDir в файле worldserver.conf.
Если необходимые каталоги с игровыми данными находятся рядом с установленным исполняемым файлом сервера игрового мира, относительный путь по умолчанию может уже подходить. В противном случае укажите в DataDir правильный каталог.
Прежде чем продолжить, сохраните файлы конфигурации.
Шаг 6. Запустите сервер игрового мира и сервер аутентификации
В AzerothCore есть скрипты запуска для управления серверными процессами.
Для интерактивного тестирования можно использовать tmux, чтобы каждый процесс работал в отдельной терминальной сессии.
Сначала создайте сессию для сервера игрового мира:
tmux new -s wow-world
В этой сессии выполните:
cd ~/azerothcore
./acore.sh run-worldserver
При первом запуске AzerothCore может предложить создать или заполнить таблицы базы данных. Следуйте подсказкам и дождитесь завершения инициализации.
Проверьте вывод на наличие ошибок подключения к базе данных или сообщений об отсутствии файлов с игровыми данными.
Чтобы отключиться от сессии tmux, не останавливая процесс, нажмите Ctrl+B, а затем D.
Запустите вторую сессию:
tmux new -s wow-auth
Затем выполните:
cd ~/azerothcore
./acore.sh run-authserver
Теперь оба серверных процесса должны работать в отдельных сессиях.
Просмотреть список сессий можно с помощью команды:
tmux ls
Для длительной эксплуатации используйте описанные в документации AzerothCore способы управления службами, а не полагайтесь только на интерактивные терминальные сессии.
Шаг 7. Создайте тестовую учётную запись
После успешного запуска сервера игрового мира вы можете создать учётную запись через его консоль.
Повторно подключитесь к сессии сервера игрового мира:
tmux attach -t wow-world
В консоли сервера игрового мира введите:
account create testuser YOUR_STRONG_PASSWORD
Замените имя пользователя и пароль из примера выбранными вами учётными данными.
AzerothCore также поддерживает различные уровни прав для учётных записей.
Например, с помощью команд управления учётными записями можно назначить права администратора:
account set gmlevel testuser 3 -1
Уровень 3 предоставляет права администратора, а -1 применяет эту настройку ко всем игровым мирам.
Предоставляйте повышенные права только тем учётным записям, которым они действительно необходимы.
Это команды консоли AzerothCore, а не обычные команды оболочки Linux.
Шаг 8. Разберитесь с сетевыми настройками игровых миров
По умолчанию AzerothCore использует два TCP-порта:
| Порт | Служба |
|---|---|
| 3724 | Сервер аутентификации |
| 8085 | Сервер игрового мира |
Данные для подключения к игровым мирам также хранятся в таблице realmlist базы данных acore_auth.
При локальном тестировании адресом может оставаться 127.0.0.1. Для удалённого тестирования при наличии разрешения адрес игрового мира должен совпадать с адресом, доступным разрешённому клиенту, а сетевой доступ необходимо настроить соответствующим образом.
Просмотреть текущую конфигурацию игровых миров можно через MySQL:
sudo mysql
Затем:
USE acore_auth;
SELECT id, name, address FROM realmlist;
В документации AzerothCore по сетевым настройкам объясняется, как работают адреса игровых миров и параметры сети.
Не открывайте доступ к порту базы данных из публичного интернета. Если в среде, для которой получено разрешение, необходим удалённый доступ, ограничьте его соответствующими правилами межсетевого экрана или частной сети.
AzerothCore предназначен для исторической версии протокола клиента WoW 3.3.5a. Современные клиенты World of Warcraft не являются взаимозаменяемыми с этой версией. Сама по себе совместимость клиента не даёт разрешения подключаться к неофициальному серверу.
Распространённые проблемы при настройке сервера World of Warcraft
Даже если программное обеспечение успешно скомпилировано, ошибки конфигурации могут помешать запуску служб.
| Проблема | Что проверить |
|---|---|
| Не удалось подключиться к базе данных | Состояние MySQL, учётные данные базы данных, права пользователя |
| Worldserver не может загрузить карты | Отсутствие файлов dbc, maps или vmaps либо их неправильное расположение |
| Игровой мир недоступен | Состояние Authserver и конфигурацию realmlist |
| В подключении отказано | Серверный процесс, прослушиваемый порт, межсетевой экран |
| Ошибка компиляции | Версию компилятора, зависимости, объём доступной оперативной памяти |
| Неожиданные сбои | Журналы запуска, совместимость версий программного обеспечения, ограничения ресурсов |
Например, проверить объём доступной памяти и свободное место в хранилище можно с помощью команд:
free -h
df -h
Если вы устраняете ошибку сборки, повторно выполните соответствующую команду и найдите первую содержательную ошибку, а не ориентируйтесь только на итоговое сообщение о сбое.
Если проблему не удаётся устранить, обратитесь к документации AzerothCore по распространённым ошибкам.
Обновление и безопасность AzerothCore
Разработка AzerothCore продолжается, поэтому требования к установке и параметры конфигурации могут меняться.
Перед обновлением существующей среды:
- Создайте резервные копии баз данных MySQL и пользовательских конфигураций.
- Ознакомьтесь с последними инструкциями проекта по установке и обновлению.
- Корректно остановите соответствующие службы.
- Обновите исходный код и при необходимости выполните повторную сборку.
- Дождитесь завершения обновлений базы данных, предусмотренных документацией.
- Проверьте серверные процессы и просмотрите их журналы.
Также следует устанавливать обновления безопасности операционной системы, защищать учётные данные администраторов, ограничивать ненужный сетевой доступ и проверять процедуры восстановления.
Не отключайте автоматические обновления безопасности полностью. Вместо этого планируйте периоды технического обслуживания и согласовывайте обновления, которые могут привести к перезапуску MySQL или других служб.
Часто задаваемые вопросы
Да. AzerothCore поддерживает Linux и предоставляет документацию по компиляции и настройке своего серверного программного обеспечения с открытым исходным кодом. Использование проприетарных игровых ресурсов или подключение клиента WoW требует отдельного рассмотрения вопросов прав и лицензирования.
Нет. Проект AzerothCore WotLK предназначен для исторической среды World of Warcraft 3.3.5a. Современные клиенты официальной версии игры не совместимы с ним напрямую.
Нет. AzerothCore прекратил поддержку MariaDB в сентябре 2024 года. Актуальная документация проекта рекомендует MySQL 8.4 LTS.
Не обязательно. Среду разработки или тестирования можно запустить на достаточно мощной виртуальной машине. Требования к ресурсам зависят от компиляции, установленных модулей, работающих служб и нагрузки.
Лицензионное соглашение Blizzard с конечным пользователем ограничивает несанкционированную эмуляцию серверов и подключения к ним. Серверное программное обеспечение с открытым исходным кодом не предоставляет прав на игровой клиент Blizzard, графические материалы или другой проприетарный контент. Если вы планируете использовать среду с эмулятором, изучите соответствующие лицензии и получите все необходимые разрешения.
Заключение
Настройка сервера World of Warcraft с помощью AzerothCore — это гораздо больше, чем загрузка эмулятора и выполнение двух команд.
Для создания работоспособной технической среды нужны совместимое программное обеспечение, настроенная база данных MySQL, подходящие игровые данные, правильно настроенные службы аутентификации и игрового мира, а также соответствующая сетевая конфигурация.
Следуя актуальной документации проекта и проверяя результат каждого этапа, прежде чем переходить к следующему, вы сможете лучше понять устройство серверной инфраструктуры MMORPG и избежать многих распространённых ошибок при установке.
Всегда учитывайте разницу между серверной технологией с открытым исходным кодом и проприетарным контентом, для использования которого нужны отдельные права и разрешения.