Компиляция SkyFire на windows

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

Важно: Поскольку проект SkyFire быстроразвивающийся, части руководство могут быть устаревшими. В случае, если что-то не удается, посетите специализированные форумы, которые, как правило, уже имеют ответ на ваш вопрос.

Необходимые программы:

Предупреждение: Express версия НЕ поддерживаем 64-битную компиляциюпо умолчанию и сделать это трудно.

 

При установке сервера MySQL, запомните имя пользователя и пароль. Они будут необходимы, чтобы войти в выбранное вами средство управления базами данных (см. ниже) для того, чтобы импортировать файлы SQL позже.

Выберите один из этих инструментов управления базами данных:

  • SQLYog (Быстрый и эффективный)
  • HeidiSQL (лучший для начинающих)

НЕ ИСПОЛЬЗУЙТЕ NaviCat : NaviCat не может правильно импортировать файлы, да и скорость его работы оставляет желать лучшего.

 

Скачка и компиляция исходников:

 

Скачка исходников:

 

Создайте директорию, в которой будут находится основные файлы (например: C:\Trinity).

Щелкните правой кнопкой мыши на папку и нажмите на Git Расширения -> Clone.

Заполните данные следующим образом:

  • Репозиторий для клонирования: git://github.com/ProjectSkyfire/SkyFireEMU_420.git
  • Назначение: C:\Trinity
  • Подкаталог создать: <none>
  • Отрасль: мастер
  • Личные репозитория: Да
  • Нажмите Clone.

Через несколько минут все файлы Skyfire попадут в папку, которую вы создали (т.е. C:\Trinity)

Ту же процедуру проделайте и с репозиторием git://github.com/ProjectSkyfire/SkyFireDB.git — это база данных сервера

 

Настройка Visual C + + для работы с CMake

 

Прежде чем начать, создайте пустой каталог с именем Build. В этом примере мы будем использовать D:\Build.

  1. Откройте CMake GUI (каталог установки по умолчанию C:\Program Files(x86)\CMake\BIN). Две верхние области текста используются, чтобы показать CMake, где находятся исходники эмулятора, а также где поместить файлы сборки.
  2. Нажмите кнопку Browse Source … -> Выберите исходный каталог (C:/Trinity)
  3. Нажмите кнопку Browse Build … -> Выберите каталог сборки (D:/Build)
  4. Нажмите кнопку Configure)
  5. Убедитесь, что выбран пункт «используется компилятор по умолчанию»
  6. В выпадающем меню выберите версию компилятора.
    Примечание: CMake не компилятор. Он просто создает файлы сборки, необходимые для компилятора. Если вы выберите неверный компилятор — вы не сможете правильно (или вообще не сможете) собрать ваш сервер. Поэтому не ошибайтесь
  7. Нажмите кнопку Готово. CMake начнет просматривать исходный код и создавать CMakeLists.txt необходимый для работы.
  8. После анализа CMake покажет вам (или не покажет, если появились ошибки) список вариантов для выбора различных компонентов сборки.
    Проверьте меню «Tools». Там находятся экстракторы карт, которые будут необходимы позже в настройке. Все остальные оставьте по умолчанию, однако, если ваш MySQL сервер версии отличается от 5.5.x, мы настоятельно рекомендуем, снять галочку с USE_MYSQL_SOURCES.
  9. Когда настройки будут закончены, нажмите кнопку Configure снова.
  10. Нажмите Generate. Это установит выбранную сборку в вашу папку D:/Build.

 

Компиляция исходников:

 

  1. Откройте вашу папку D:\Build и запустите TrinityCore.sln в вашем Visual C + + Express.
  2. В верхнем меню нажмите кнопку Создать и выберите Configuration Manager.
  3. Установить Active Solution Configuration в режим Release
  4. Установить Active Solution Platform в режим Win32 (если у вас 64-битная ОС и вы в выбирали 64 CMake, то выберите Win64)
  5. Нажмите кнопку Build -> Build solution

Visual C + + 2010: Щелкните правой кнопкой мыши и выберите «Построить все». Время компиляции зависит от компонентов компьютера.

Обычно это занимает 5-30 минут.

Если вас просят Перезагрузить построенный билд, сделайте это.

При успешном завершении компиляции вы увидите сообщение:

  • ========== Build: 14 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

Это сообщение может отличаться

 

Вы найдете только что скомпилированные файлы в папке D:\Build\Bin\Release . Все это потребуется для запуска сервера. Вам нужны следующие файлы для того, чтобы ядро функционировало должным образом:

  • ACE.dll
  • libeay32.dll
  • libmySQL.dll
  • ssleay32.dll
  • worldserver.conf.dist
  • worldserver.exe
  • authserver.conf.dist
  • authserver.exe

libeay32.dll, libmySQL.dll, and ssleay32.dll нужно добавить самому в эту папку, которые можно взять из установленных программ ранее:

libmySQL.dll: C:\Program Files\MySQL\MySQL Server 5.x\lib

libeay32.dll и ssleay32.dll: C:\OpenSSL-Win32\bin

 

УСТАНОВКА БАЗЫ ДАННЫХ

 

Примерно раз в месяц все обновления, сделанные от всех предыдущих месяцев объединяются в несколько файлов. SQL файлы легко импортировать в базу данных. Эти обновления подобно тому, как пакеты обновления выпускаются для Windows. Кроме того, они меньшие по размеру.

Теперь более подробно о том, чтоже нам делать.

Загрузка базы данных

Загрузку базы мы провели раньше (если вы конечно не проигнорировали 😉 ). Все, что нам остается сделать — это извлечь базу из архива, в которомона была.

Сделать это можно с помощью любого (или почти любого) архиватора.

Установка базы данных

Сервер требует три базы данных для запуска — auth, characters и world:

auth — хранит информацию об аккаунтах — имена пользователей, пароли, GM права и т.д.

characters — хранит информацию о персонажах — сами персонажи, инвентарь, банк, аукцион и т.д.

world — хранит данные о мире, такие как НПС, квесты, предметы и т.д.

Примечание: база данных аутентификации раньше называлось «realmd». Если у вас возникли проблемы и при поиске решения на форуме, то попробуйте воспользоваться старым названием базы.

Следующие шаги выполняются с помощью программы управления базами данных (например, HeidiSQL или SQLyog):

Создаем три базы данных, импортируя C:\Trinity\SQL\create\create_mysql.sql. Теперь у вас есть три базы данных — аутентификации, персонажей и мира.

Импортируем файл базы авторизации  C:\Trinity\SQL\base\auth_database.sql.

Импортируем базу данных персонажей C:\Trinity\SQL\base\character_database.sql.

Импортируем базу данных мира . Для этого нужно залить в базу с миром все файлы из папки main_db/world/.

 

Настройка сервера

После того, как исходники были скомпилированы и база данных установлена, вы должны настроить сервер.

Загрузка экстракторов

Сервер требует DBC и файлы карт. Это необязательно, но настоятельно рекомендуется также извлекать vmaps, которые линии видимости, стены и пр. в святилищах, подземельях и т.д.

Есть два способа получения экстракторов. Если вы собрали их в то время как использовали CMake (в разделе Настройка Visual C + + для работы с CMake), то они у вас оуже есть в D:\Build\Bin\Release\папка. В противном случае, вы можете скачать maptools здесь.

 

Извлечение DBC / Карт / VMapsОткройте ваш D:\Build\Bin\Release\ папку и скопируйте следующие файлы в корневой каталог клиента WoW: mapextractor.exe, vmap3extractor.exe, vmap3assembler.exe и makevmaps3_simple.bat

Если у вас нет makevmaps3_simple.bat, создайте его в корневой папке с WoW.

После создания, откройте его в блокноте и скопируйте туда следующее данные:

  • vmap3extractor.exe
  • md vmaps
  • vmap3assembler.exe
  • Buildings vmaps pause

Запустите WoW клиент один раз (Войти на экран входа достаточно). Вы должны сделать это для того, чтобы mapextractor.exe знал, где находится ваш клиент WoW и откуда извлекать файлы.

Запусите mapextractor.exe и ждите завершения его работы.

Переместите DBC и карты в папку с вашим сервером (там, где находятся worldserver.exe и authserver.exe), т.е. (D:\Build\Bin\Release\). (Необязательно, но рекомендуется) Запустить makevmaps3_simple.bat. Это создаст две новые папки: buildings и vmaps. buildings папка совершенно бесполезна и может быть безопасно удалена.

Переместите папку vmaps в тот же каталог, куда вы переместили DBC и карты.

 

Примечание: Извлечение vmaps займет некоторое время в зависимости от вашей машины (30 мин — 2 часа). Не пытайтесь остановить этот процесс. Процесс извлечения закончится фразой «Нажмите любую клавишу …».

 

Настройка сервера

Найдите в папке D:\Build\Bin\Release\ файлы worldserver.conf.dist и authserver.conf.dist и удалите у них расширение .dist. Вы получите worldserver.conf и authserver.conf — это конфигурационные файлы сервера.

Откройте worldserver.conf

Прокрутите вниз до LoginDatabaseInfo, WorldDatabaseInfo и CharacterDatabaseInfo вариантов конфигурации и введите данные для входа на Mysql сервер, (ип скорей всего будит тотже, логин пользователя тотже, а вот пароль необходим тот, который вы писали при установке MySql.

Все остальные параметры необязательны, но если вам интересно, то вы можете посмотреть и поменять остальные — это позволит изменить большинство параметров на сервере.

 

ВАЖНО — Если вы решили не использовать vmaps, необходимо внести изменения в файле worldserver.conf или ваш сервер не запустится:

  • vmap.enableLOS = 1 — установить в 0
  • vmap.enableHeight = 1 — установить в 0
  • vmap.petLOS = 1 — установить в 0
  • vmap.enableIndoorCheck = 1 — установить в 0

 

Примечание: Если вы передумаете и решите извлекать и использовать vmaps позже, удостоверьтесь, чтобы изменили эти значения обратно в «1», чтобы воспользоваться ими.

authserver.conf

Прокрутите вниз до LoginDatabaseInfo и введите такие же данные, как и вводили в wordserver файле конфигурации.

 

Таблица Realmlist

Вы должны убедиться, что authserver.exe направляет входящие соединения на вашем сервере. Для этого откройте базу данных auth с помощью удобной вам программы (например, SQLyog или HeidiSQL) и откройте таблицу realmlist. Вам необходимо отредактировать поле с IP адресом:

127.0.0.1 — также известный как «локальный». Оставьте этот вариант, если вы установили сервер на том же компьютере, что и клиент WoW. Но при данном IP только вы и сможете подключиться к серверу.

Внешний IP — Если вы хотите, чтобы другие люди могли подключаться к серверу, использовать внешний IP. Посетите http://2ip.ru/, чтобы узнать ваш внешний IP-адрес.

 

Внимание:

Команда TrinityCore, SkyFire и пр. не одобряют незаконные публичных сервера. Если вы используете эти проекты для запуска общедоступного сервера, а не для тестирования и обучения это ваш личный выбор.

 

ЗАПУСК И ПОДКЛЮЧЕНИЕ К СЕРВЕРА

 

После завершения всех шагов, перечисленных выше, вы можете включать ваш сервер

Запустите authserver.exe и worldserver.exe для включения сервера. Оба появившехся окна должны остаться на экране, тем самым показав, что они работают и ваш сервер принимает соединения.

Совет: authserver необходим для входа на сервер и подключения к окну выбора реалма, а WorldServer позволяет уже выбрать реалм и войти в игру. Когда вы находитесь в игре, и предполагаете, что никто больше не нуждаются в подключении к серверу, вы можете безопасно закрыть authserver, если хотите.

Откройте файл realmlist.wtf внутри папки WoW по адресу \Data\RuRU\. IP в файле realmlist.wtf должен быть точно такой же, как IP-адрес вы указали в realmlist таблице выше.

 

Заключительные шаги

Вы можете вводить команды в окне WorldServer, похожего на командную строку.

Создать аккаунт: account create <user> <pass>. Например: account create test test

Уровень доступа: account set gmlevel <user> 3 -1. Например: account set gmlevel test 3 -1

«3» -это уровень доступа GM’a (большее число = больше доступа), и «-1» — это ID реалма (-1 значит — на все реалмы).

Совет: Никогда не запускайте WoW используя Launcher, если вы редактировали realmlist.wtf).

Все, что осталось — это создать персонажа и играть. Всем удачных исследований 😉

 

Материал взят с оффициальной wiki проэкта TrinityCore. В переводе возможны неточности и прочая хуйня, поэтому если что-то неясно — всегда можно воспользоваться оригиналом. Переведено с помощью гугла и мозга.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *