Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

Как настроить сервер World of Warcraft с помощью AzerothCore

Настройка сервера 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.

Что такое AzerothCore

Требования к серверу World of Warcraft

Требования AzerothCore зависят от способа установки и рабочей нагрузки. Для компиляции программного обеспечения обычно требуется больше ресурсов, чем для работы небольшой тестовой среды.

Для среды разработки или тестирования на Linux можно ориентироваться на следующие характеристики:

РесурсРекомендуемая конфигурация
CPU4 vCPU или более
RAM8 ГБ или более для компиляции
Хранилище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 постоянно развивается, поэтому требования к установке и параметры конфигурации могут меняться.

Перед обновлением существующей среды:

  1. Создайте резервные копии баз данных MySQL и пользовательских конфигураций.
  2. Ознакомьтесь с актуальными инструкциями проекта по установке и обновлению.
  3. Корректно остановите соответствующие службы.
  4. Обновите исходный код и при необходимости выполните повторную сборку.
  5. Дождитесь завершения обновлений базы данных, предусмотренных документацией.
  6. Проверьте серверные процессы и изучите их журналы.

Также следует своевременно устанавливать обновления безопасности операционной системы, защищать учётные данные администраторов, ограничивать ненужный сетевой доступ и проверять процедуры восстановления.

Не отключайте автоматические обновления безопасности полностью. Вместо этого планируйте периоды технического обслуживания и согласовывайте обновления, которые могут перезапустить MySQL или другие службы.

Часто задаваемые вопросы

Можно ли настроить сервер WoW на Linux?

Да. AzerothCore поддерживает Linux и предоставляет документацию по компиляции и настройке своего серверного программного обеспечения с открытым исходным кодом. Использование проприетарных игровых ресурсов или подключение клиента WoW требует отдельного рассмотрения вопросов прав и лицензирования.

Поддерживает ли AzerothCore современные версии World of Warcraft?

Нет. Проект AzerothCore WotLK предназначен для исторической среды World of Warcraft 3.3.5a. Современные клиенты официальной версии игры напрямую с ним несовместимы.

Поддерживает ли AzerothCore MariaDB?

Нет. AzerothCore прекратил поддержку MariaDB в сентябре 2024 года. В актуальной документации проекта рекомендуется MySQL 8.4 LTS.

Нужен ли мне выделенный сервер?

Не обязательно. Среда разработки или тестирования может работать на достаточно мощной виртуальной машине. Требования к ресурсам зависят от компиляции, установленных модулей, работающих служб и нагрузки.

Законно ли эксплуатировать частный сервер World of Warcraft?

Лицензионное соглашение Blizzard с конечным пользователем ограничивает несанкционированную эмуляцию сервера и подключения к нему. Серверное программное обеспечение с открытым исходным кодом не предоставляет прав на игровой клиент Blizzard, графические материалы или другой проприетарный контент. Тем, кто рассматривает возможность использования среды эмулятора, следует изучить соответствующие лицензии и получить все необходимые разрешения.

Заключение

Настройка сервера World of Warcraft с помощью AzerothCore — это гораздо больше, чем скачивание эмулятора и выполнение двух команд.

Для создания работоспособной технической среды необходимы совместимое программное обеспечение, настроенная база данных MySQL, подходящие игровые данные, правильно настроенные службы аутентификации и игрового мира, а также соответствующие сетевые настройки.

Следуя актуальной документации проекта и проверяя каждый этап перед переходом к следующему, вы сможете лучше понять, как работает серверная инфраструктура MMORPG, и избежать многих распространённых ошибок установки.

Всегда отличайте серверные технологии с открытым исходным кодом от проприетарного контента и разрешений, необходимых для их использования.

Table of Content

Hosting that grows with you

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

Explore VPS hosting →

Чтобы открыть компанию по предоставлению веб-хостинга, не нужно покупать дорогие серверы или строить собственный дата-центр.

Реселлерский VPS-хостинг позволяет хостинговым компаниям продавать виртуальные частные серверы под собственным брендом, не покупая дорогостоящее

Вы можете создать сайт на WordPress с помощью ИИ, даже если не умеете программировать и

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.

Прокрутить вверх