Настройка сервера 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.
Он воссоздаёт серверные системы, включая управление персонажами, аутентификацию, задания, существ и взаимодействия в игровом мире.
Программное обеспечение состоит из трёх основных компонентов:
- Сервер аутентификации: обрабатывает вход в систему и выбор игрового мира.
- Сервер игрового мира: управляет событиями в игровом мире, персонажами и игровыми системами.
- База данных MySQL: хранит данные аутентификации, персонажей и игрового мира.
Оба серверных приложения взаимодействуют с MySQL и могут работать на одной машине.
AzerothCore предоставляет серверное программное обеспечение, но не предоставляет лицензированный игровой клиент World of Warcraft и права на распространение ресурсов Blizzard.

Требования к серверу World of Warcraft
Требования AzerothCore зависят от способа установки и рабочей нагрузки. Для компиляции программного обеспечения обычно требуется больше ресурсов, чем для работы небольшой тестовой среды.
Для среды разработки или тестирования на Linux можно ориентироваться на следующие характеристики:
| Ресурс | Рекомендуемая конфигурация |
|---|---|
| CPU | 4 vCPU или более |
| RAM | 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, и избежать многих распространённых ошибок установки.
Всегда отличайте серверные технологии с открытым исходным кодом от проприетарного контента и разрешений, необходимых для их использования.