Захотелось мне вспомнить старые пейзажи. Да и просто занять чем-то руки и голову, и решил я на свой простаивающий домашний сервачок нагнать ужаса ледяного, от Короля Личей… Короче, решил сервер WOW поднять под linux. Поглядел чего из эмуляторов есть, почитал мануал, да и запустил. Запустил Trinity Core 3.3.5 версию на ubuntu 18.04. О чем вам и спешу рассказать.
Примечание: если остановить работу vmap4extractor до
завершения, то нужно будет удалить директорию Buildings прежде чем
начать заново извлечение vmaps.
По завершению работы, которая в зависимости от железа может занять длительное время, вы получите сообщение что-то типа такого:
Processing Map 724 [################################################################] Extracting GameObject models...
Extracting WorldWmoBandFinal_Stage.wmo No such file.
Couldn't open RootWmo!!!
Done!
Extract V4.00 2012_02.
Work complete. No errors.
Это нормально. Главное что нет ошибок.
Извлечение карт передвижений
Опиционально, делается еще дольше чем vmaps, но рекомендуется.
cd /home/wow/WOW_client/
mkdir mmaps
/home/wow/server/bin/mmaps_generator
cp -r mmaps /home/wow/server/data
cd ~
mkdir tdb
cd tdb
wget https://github.com/TrinityCore/TrinityCore/releases/download/TDB335.64/TDB_full_world_335.64_2018_02_19.7z
7z x TDB_full_world_335.64_2018_02_19.7z
cp TDB_full_world_335.64_2018_02_19.sql /home/wow/
Создадим пользователя и БД:
mysql > USE mysql; mysql > CREATE USER ‘trinity’@’localhost’ IDENTIFIED BY ‘password’; mysql > GRANT ALL PRIVILEGES ON `trinity`.* TO ‘trinity’@’localhost’; mysql > FLUSH PRIVILEGES;
Экcпортируем в mysql файл create_mysql.sql
sudo mysql
Содержимое файла:
GRANT USAGE ON * . * TO 'trinity'@'localhost' IDENTIFIED BY 'trinity' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;
CREATE DATABASE `world` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `characters` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `auth` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON `world` . * TO 'trinity'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `characters` . * TO 'trinity'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `auth` . * TO 'trinity'@'localhost' WITH GRANT OPTION;
Поправить /home/wow/server/etc/worldserver.conf и /home/wow/server/etc/authserver.conf указав пользователь;бд;пароль:
Заменить trinity;trinity;trinity на trinity;trinity;password
Далее БД должна экспортироваться при первом запуске world сервера.
9. ОПЦИОНАЛЬНО: проброс портов, открытие портов:
для 3.3.5 используются порты: 3724 и 8085
10. Запуск сервера
cd ~ /home/wow/server/bin/worldserver /home/wow/server/bin/authserver
11. Создание аккаунта и назначение GM
Выполняется в консоли worldserver
account create username pass
account set gmlevel username 3 -1
12. Настройка клиента
Откройте realmlist.wtf внутри директории клиента World of WarcraftData. IP адрес внутри файла realmlist.wtf должен быть адресом вашего сервера. Измените строку: set realmlist X.X.X.X Например: set realmlist 127.0.0.1 Опционально: если хотите использовать WoW Launcher.exe для запуска клиента, то вы должны установить patchlist тот же ip/dns что и для вашего сервера.
В итоге.
Надеюсь у вас всё получилось, мой сервер запущен, все шаги я записывал, хотя мог что-то напутать или забыть.
Осталось подождать пока будет время зайти в игру и лично убедиться что всё работает. Пишите, кидайте скрины с вашей игры ;)