01:26 WoW-Byka x100 3.3.5a 3 Обычные сервера WoW от bybyku
18:18 Smile-WoW Fun сервер 3 Обычные сервера WoW от super-cs
18:17 Smile-WoW Fun сервер 3 Качественные сервера WoW от super-cs
21:33 Сервер WorldWoW 4.0.6a PVP 3 Обычные сервера WoW от rvleon
ВЕРХНИЙ РЕКЛАМНЫЙ БАННЕР
Главная | Форум | Статьи | Фaйлы | Картинки WoW | | Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » TrinityCore » Установка / настройка TrinityCore » Созданте сборки TrinityCore с нуля.
Созданте сборки TrinityCore с нуля.
SerezhkaДата: Среда, 23.03.2011, 18:40 | Сообщение # 1
Лучший из Лучших
Группа: Главный Администратор
Сообщений: 66
Награды: 0
Репутация: 0
Статус: Offline

Сегодня мы будем компилировать ядро Trinity Core и создавать на его основе полноценную рабочую сборку.

Гайд ориентирован на новичков, но все таки понимающих то, что они будут делать.

Нам понадобится:

  • Visual C++ 2008 Express или Visual C++ 2010. Express издания не поддерживают компиляцию на системах с 64 битной архитектурой.
  • .NET Framework 3.5- вполне возможно, что он уже скачан вами во время обновления системы Windows.
  • MySQL- сервер баз данных, рекомендуется использовать версии 5.1.х.
  • TortoiseHg– графическая оболочка для управления системой контроля версий Mercurial.
  • Git- распределённая система управления версиями файлов.
  • CMake- программа для построения проекта и подготовки исходного кода непосредственно к процессу компиляции.
  • OpenSSL- система безопасных сокетов позволяющая создавать ключи RSA, DH, DSA и сертификаты.
  • Navicat- приложение для графического управления сервером MySQL, рекомендуется использовать Lite версию программы.

    После того как мы скачали и установили весь необходимый софт, идём дальше по плану, который состоит из следующих пунктов:

    1. Скачивание исходников.
    2. "Накатывание" патчей на ядро.
    3. Сборка компилятора.
    4. Компиляция ядра.
    5. Настройка ядра.
    6. Работа с базами.
    6.1. Создание баз.
    6.2. Заполнение баз.
    6.3. Настройки баз.
    7. Запуск сервера.

    Начинаем.
    1. Скачивание исходников.
    Создаем рабочий каталог в "корне" диска, например:
    Код:

    Code
    D:\Trinity - Путь не должен содержать кириллицы.

    В контекстном меню созданной нами папки выбираем TortoiseHg - Clone...:


    В появившемся окне, в графе Source Path, указываем адрес официального репозитория Trinity Core:
    https://trinitycore.googlecode.com/hg/ и нажимаем Clone

    После скачивания, переименуем папку с нашими исходниками, в source (для удобства), так, чтобы путь к исходникам был такой:

    Код;

    Code
    D:\work\source

    Скачивание исходников завершено.

    2. "Накатывание" патчей на ядро.

    Патч - это некая модификация для ядра, написанная на CPP, которая может в корне изменить работоспособность сервера, начиная от работы спелов заканчивая Гильд-Хаусами.
    Установка патчей производится с помощью программы Git.
    Для примера "накатывания" патча, я предлагаю Вам воспользоваться патчем, который дает возможность игрокам получать различные звания за убийства игроков противоположной фракции в зависимости от количества убийств.

    Сам патч:


    Копируем всё это содержимое, сохраняем в файл с расширением .patch, например:

    Код:

    Code
    rank.patch

    Так чтобы полный путь к патчу был такой:
    Код:

    Code
    D:\work\source\rank.patch

    Так следует поступать с любым устанавливаемым патчем.

    После того как мы перенесли наш патч, жмем ПКМ по папке с исходниками, а точнее:
    Код:

    Code
    D:\work\source

    И выбираем Git Bash Here:

    В появившемся окне, пишем:
    Код:

    Code
    patch -p1 < название.patch, в нашем случае:


    Жмем Enter.

    Если после завершения вы видите:

    Значит всё в порядке, можно продолжать.
    Вы можете продолжить установку других патчей (если они у вас имеются), но у нас он один, так что мы продолжим. Закрываем Git.

    3. Сборка компилятора.
    Создаем новую папку в нашей рабочей директории, например:
    Код:

    Code
    D:\work\tc - в этой папке будет хранится готовый к компиляции проект.

    После того как мы подготовили директорию, запускаем ранее нами установленный CMake.

    Where is the source code - папка с исходниками, у нас это:
    Код:

    Code
    D:\work\source

    Where to build the binaries - папка для готового проекта VS, у нас это:
    Код:

    Code
    D:\work\tc

    Указываем эти данные в программе:

    После жмем Configure и выбираем, на какой платформе будем компилировать, в моем случае это Visual Studio 10, выбираем, после чего жмем Finish:

    Ждем завершение процесса, после чего вы увидите:

    Столбец - TOOLS, позволяет нам после компилирования получить экстракторы карт. Так что ставим галочку.
    Больше ничего не меняем.
    Снова жмем Configure и видим:

    После жмем:

    Если все прошло успешно - то мы увидим:

    Можно закрывать CMake.

    4. Компиляция ядра.
    Наш проект теперь хранится в:
    Код:

    Code
    D:\work\tc

    Запускаем файл с расширением .sln, в нашем случае это:
    Код:

    Code
    TrinityCore.sln

    После открытия VS, запускаем Диспетчер конфигураций... и меняем Активную конфигурацию решения с Debug на Release, после жмем Закрыть:

    Если мы все сделали как надо, то можно смело жать F7 (Построить решение).

    Если после компиляции мы видим результат без ошибок, значит, компиляция прошла успешно.
    Все, наше ядро скомпилировано, но оно ещё не работоспособно.

    5. Настройка ядра.
    Наше скомпилированное ядро хранится в папке:

    Code
    D:\work\tc\bin\Release

    Для удобства переместим и переименуем папку с ядром.
    Перенесем папку Release в корень нашей рабочей папки, то есть:
    Код:

    Code
    D:\work\Release

    И переименуем в server:
    Код:

    Code
    D:\work\server

    После этого, нашему ядру не хватает три файла:
    Код:

    Code
    libeay32.dll, ssleay32.dll и libmysql.dll

    Найти libeay32.dll и ssleay32.dll мы может в папке с ранее установленным OpenSSL-Win32. Копируем libeay32.dll и ssleay32.dll с директории OpenSSL-Win32 в директорию с ядром:
    Код:

    Code
    D:\work\server

    Файл libmysql.dll у нас в ядре имеется, но нам необходимо его заменить на тот, что использует наш MySQL сервер , взять его нужно отсюда:
    Код:

    Code
    C:\Program Files\MySQL\MySQL Server\bin

    Копируем его и вставляем в директорию с ядром с заменой имеющегося.

    После чего переименовываем файлы:
    Код:

    Code
    worldserver.conf.dist в worldserver.conf             
    authserver.conf.dist в аuthserver.conf

    Теперь надо настроить подключение ядра к БД.
    Для этого открываем уже переименованный authserver.conf и настраиваем строчку:
    Код:

    Code
    LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth"

    Распишу по порядку:

    Код:

    Code
    127.0.0.1 - адрес БД, выставлено по умолчанию.             
    3306 - порт БД, выставлено по умолчанию.             
    trinity - логин БД - менять на свой.             
    trinity - пароль БД - менять на свой.             
    auth - название БД, выставлено по умолчанию.

    Нам необходимо поменять только логин и пароль на те, которые мы указали при установке MySQL сервера.
    После этого, сохраняем и закрываем authserver.conf.
    Открываем worldserver.conf, тут хранятся все настройки сервера, мы пока в них вникать не будем, сделаем только необходимое:
    Код:

    Code
    LoginDatabaseInfo     = "127.0.0.1;3306;trinity;trinity;auth"             
    WorldDatabaseInfo     = "127.0.0.1;3306;trinity;trinity;world"             
    CharacterDatabaseInfo = "127.0.0.1;3306;trinity;trinity;characters"

    Настраиваем также как и в authserver.conf.
    Закрываем worldserver.conf.
    После нам необходимо указать путь к папке содержащей карты для сервера, как извлечь я объясню чуть позже, а пока создаем папку в корне нашей рабочей папки с названием data:
    Код:

    Code
    D:\work\data - тут будут храниться карты.

    Теперь нам необходимо указать путь к папке data, для этого снова открываем worldserver.conf и строку:

    Код:

    Code
    DataDir = "."

    меняем на:
    Код:

    Code
    DataDir = "D:\work\data\"

    После, нам необходимо выключить проверку на vmaps, т.к. мы их извлекать не будем, так что меняем строки:
    Код:

    Code
    vmap.enableLOS    = 1             
    vmap.enableHeight = 1

    на
    Код:

    Code
    vmap.enableLOS    = 0             
    vmap.enableHeight = 0

    Сохраняем, закрываем.
    Если вы помните, в программе CMake мы ставили галочку в столбце TOOLS, впоследствии чего мы получили экстракторы карт.
    Карты необходимы для работы сервера.
    Мне известно 3 вида карт:
    Код:

    Code
    dbc & maps - самые необходимые для работы сервера.             
    vmaps - дополнительные карты, позволяющие более точно смоделировать мир World of Warcraft, исключает стрельбу и агр через стены.             
    maps - это расчет траектории обхода препятствий мобов. То есть моб при агре не будет лететь к вам по воздуху, а будет искать путь по земле.

    Сейчас мы будем извлекать только необходимые для работы сервера карты .maps и dbc. Без VMAPS и MAPS.
    Для этого в папке с ядром:
    Код:

    Code
    D:\work\server

    Имеется файл:
    Код:

    Code
    mapextractor.exe

    Переносим его в папку с игровым клиентом и запускаем.
    ВАЖНО "Версии ядра, экстрактора и игрового клиента должны быть ИДЕНТИЧНЫ"

    После того как экстрактор закончит работу, он создаст 2 папки:
    Код:

    Code
    dbc и maps

    Переноси эти 2 папки в папку data, которую мы создали ранее:
    Код:

    Code
    D:\work\data


    На этом начальная нстройка ядра окончена.

    6. Работа с базами.
    Trinity Core имеет три базы:
    auth - база аккаунтов.
    characters - база персонажей.
    world - база мира, игрового

    Сейчас мы займемся созданием этих трех баз.

    6.1. Создание баз.
    Открываем скаченный нами ранее Navicat, жмем на Conntection, заполняем:
    Код:

    Code
    User name: логин MySQL сервера
    Password: пароль MySQL сервера

    Жмем ок:

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

    Щелкаем ПКМ на нашем подключении и выбираем:
    Код:

    Quote
    New database...

    Далее заполняем название базы и кодировки как на скрине:

    Жмем ОК, теперь мы создали одну из трех баз. Также поступаем с остальными двумя. Меняется только название[/color.
    После того как мы создали все три базы, мы видим:

    Все, базы созданы. Можно пока закрыть Navicat. Наши базы ещё пусты, нам необходимо их заполнить.

    6.2. Заполнение баз.

    Заполнение баз auth и characters не вызовет у вас лишних вопросов, а вот с world можно подумать.

    Но все по порядку.
    Сами .sql файлы с базами лежат тут:
    Код:

    Code
    D:\work\source\sql\base

    У нас имеются все три базы, но заливать будем только две, auth и characters, т.к. world будем качать.

    Заполнение базы auth.
    Заливать будем через консоль.
    Заливать будем через консоль.

    Код:

    Code
    1. Открываем консоль - Пуск > Все программы > MySQL > MySQL Server > MySQL Command Line Client.            
    2. Вводим пароль MySQL сервера.            
    3. Подключаемся к БД, набираем:            
    \u название базы, в нашем случае:            
    \u auth            
    4. Выполняем "заливку" базы:            
    \. D:\work\source\sql\base\auth_database.sql


    И жмем Enter.
    По завершению процесса, меняем базу с auth на characters и выполняем:
    Код:

    Code
    \. D:\work\source\sql\base\characters_database.s


    После этого закрываем консоль, т.к. стандартную базу world_database.sql мы заливать не будем, мы будем использовать базу YTDB.
    Официальный сайт - http://ytdb.ru/showthread.php?t=5227
    Качать необходимо последнюю FULL базу с последующими обновлениями.
    То есть, пройдя по ссылке http://ytdb.ru/showthread.php?t=5227, последняя FULL база:
    Код:

    Code
    YTDB_0.14.0_R570_TC_R10316_TDBAI_335.0.1_RuDB_38.4

    Качаем ее и последующие патчи, извлекаем все содержимое архивов и кидаем в нашу рабочую папку:
    Код:

    Code
    D:\work

    После чего снова запускаем консоль MySQL, вводим пароль, указываем базу world и выполняем файлы в такой последовательности:
    Код:

    Code
    YTDB_0.14.0_R570_TC_R10316_TDBAI_335.0.1_RuDB_R38.4            
    571_corepatch_world_10316_10340            
    571_updatepack_world_10340            
    5   7 2_core pat ch_ wor ld_ 1034     0_10394            
    572_updatepack_world_10394

    По завершению процесса, можно закрыть консоль.

    6.3. Настройки баз.
    К настройке баз, в частности относится изменение имени Игрового мира и смены адреса сервера (Realmlist).
    Для того чтобы изменить имя и Realmlist сервера, открываем Navicat, открываем созданное нами ранее подключение, открываем базу auth, таблицу realmlist и меняем на наше усмотрение:

    Подтверждаем наше действие кнопкой внизу окна:

    Можно закрывать Navicat. Работа с сервером окончена.
    ИСТОЧНИК

  •  
    Форум » TrinityCore » Установка / настройка TrinityCore » Созданте сборки TrinityCore с нуля.
    • Страница 1 из 1
    • 1
    Поиск:


    Rip By ArhangeL
    Контакты Контакты Copyright WoW-Stavropol © 2011 | Условия и правила использования ресурса | Реклама / Услуги | Конструктор сайтов - uCoz
    WoW-Stavropol портал.World of Warcraft - Готовые сервера,сайты,картинки,аддоны,патчи,читы,баги,mangos,ArcEmu,TrinityCore,Warcraft3,новости,Cataclysm... © 2024
    МЕСТО ДЛЯ СЧЕТЧИКА МЕСТО ДЛЯ РЕКЛАМНОГО БАННЕРА