ЗНАЮ ЧТО ЕСТЬ ПОДОБНАЯ ТЕМА! МОЖЕТ МОЯ ЧЕМ-ТО ОТЛИЧАЕТСЯ!)
Сегодня я расскажу вам как скомпилировать ядро и создать на его основе полноценную сборку TrinityCore Нам понадобится: Visual C++ 2010. Express или Visual C++ 2008 Express-Платформа, на которой будет компилиться ядро. .NET FRAMEWORK 3.5-возможно он у вас установленный, т.к. идёт установка вместе с Windows. MySQL-сервер вашей базы данных, рекомендую использовать версии выше 5.х.х Git-c помощью него сможем качать исходники, и накатывать патчи. Cmake-программа для построения проекта и подготовки исходного кода непосредственно к процессу компиляции. OpenSSL-система сокетов, создающая ключи RSA, DH, DSA. Navicat For MySQL-программа для управления MeSQL, проще говоря база данных. После того как скачаете и установите софт, приступаем к компиляции! 1. Скачивание исходников. 1. Скачайте Git и установите на компьютер Создайте в любом вам удобном месте каталог TrinityCore, например D:\TrinityCore\ и на нем ПКМ вызовите контекстном меню. После чего выберите пункт Git Bash Here. На экране появится консоль, туда вводите:
Началось скачивание исходников По завершению в папке TrinityCore появятся исходники. После скачивания, я лично переименовываю папку с исходниками в source (для удобства) Исходники скачали 2.Накатывание патчей Установка патчей производится с помощью программы Git. Сейчас накатим патч на звания, чтобы за определённое кол-во убийств давали определённое звание(все патчи пишутся в С++)
Code
# HG changeset patch -- Bitbucket.org # Project EasyCore # URL [url]http://bitbucket.org/easytrinity/easycore/overview[/url] # User easytrinity <admin@likenet.ru> # Date 1285770323 -14400 # Node ID ccb906b16695e1f93c91ea9d6f173f60968b9c45 # Parent 9696c9e8cca39bf0626faaf07240ed434d2df805 added PvP Rank system
--- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -862,6 +862,18 @@ void World::LoadConfigSettings(bool relo sLog.outError("MinPetitionSigns (%i) must be in range 0..9. Set to 9.", m_int_configs[CONFIG_MIN_PETITION_SIGNS]); m_int_configs[CONFIG_MIN_PETITION_SIGNS] = 9; } + rate_values[RATE_PVP_RANK_EXTRA_HONOR] = sConfig.GetFloatDefault("PvPRank.Rate.ExtraHonor", 1); + std::string s_pvp_ranks = sConfig.GetStringDefault("PvPRank.HKPerRank", "10,50,100,200,450,750,1300,2000,3500,6000,9500,15000,21000,30000"); + char *c_pvp_ranks = const_cast<char*>(s_pvp_ranks.c_str()); + for (int i = 0; i !=HKRANKMAX; i++) + { + if (i==0) + pvp_ranks[0] = 0; + else if (i==1) + pvp_ranks[1] = atoi(strtok (c_pvp_ranks, ",")); + else + pvp_ranks[i] = atoi(strtok (NULL, ",")); + }
/// Can be used in SMSG_AUTH_RESPONSE packet enum BillingPlanFlags @@ -639,6 +660,8 @@ class World void SendZoneText(uint32 zone, const char *text, WorldSession *self = 0, uint32 team = 0); void SendServerMessage(ServerMessageType type, const char *text = "", Player* player = NULL);
+ uint32 pvp_ranks[HKRANKMAX]; + /// Are we in the middle of a shutdown? bool IsShutdowning() const { return m_ShutdownTimer > 0; } void ShutdownServ(uint32 time, uint32 options, uint8 exitcode);
Копируем содержимое "code" в текстовый редактор, и добавляем расширение вместо .txt ==> .patch Закидываем патч в папку с исходниками После, жмём ПКМ на папку source(папка с исходниками) и выбираем Git Bash Here Появляется консоль GITa в которой прописываем:
Code
patch -p1 < название.patch
Жмём Entre, накатывание завершено! 3.Собираем компилятор. Создаем новую папку в нашей рабочей директории Открываес скачанны и установленный Cmake В нём вписываем адресс Where is the source code- путь к папке с исходниками Where to build the binaries- папка для готового проекта VS После жмем Configure и выбираем, на какой платформе будем компилировать, в моем случае это Visual Studio 10, выбираем, после чего жмем Finish Построение завершено! 4. Компиляция ядра. Запускаем файл с расширением .sln, в нашем случае это:TrinityCore.sln
Code
После открытия VS, запускаем Диспетчер конфигураций... и меняем Активную конфигурацию решения с Debug на Release, после жмем Закрыть
Жмём F7, ЖДЁМ.... Если после компиляции мы видим результат без ошибок, значит, компиляция прошла успешно. 5. Настройка ядра. Наше скомпилированное ядро хранится в папке: D:\work\tc\bin\Release Для удобства переместим и переименуем папку с ядром. Перенесем папку Release в корень нашей рабочей папки, то есть: D:\work\Release И переименуем в server:D:\work\server После этого, нашему ядру не хватает три файла:libeay32.dll,ssleay32.dll и libmysql.dll Найти libeay32.dll и ssleay32.dll мы может в папке с ранее установленным OpenSSL-Win32. Копируем libeay32.dll и ssleay32.dll с директории OpenSSL-Win32 в директорию с ядром:D:\work\server Файл libmysql.dll у нас в ядре имеется, но нам необходимо его заменить на тот, что использует наш MySQL сервер, взять его нужно отсюда: C:\Program Files\MySQL\MySQL Server\bin Копируем его и вставляем в директорию с ядром с заменой имеющегося. После чего переименовываем файлы: worldserver.conf.dist в worldserver.conf authserver.conf.dist в аuthserver.conf Теперь надо настроить подключение ядра к БазеДанных. Для этого открываем уже переименованный authserver.conf и настраиваем строчку: LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth"
Code
127.0.0.1 - адрес БД, выставлено по умолчанию. 3306 - порт БД, выставлено по умолчанию. trinity - логин БД - менять на свой. trinity - пароль БД - менять на свой. auth - название БД, выставлено по умолчанию.
Нам необходимо поменять только логин и пароль на те, которые мы указали при установке MySQL сервера. После этого, сохраняем и закрываем authserver.conf. Открываем worldserver.conf, тут хранятся все настройки сервера, мы пока в них вникать не будем, сделаем только необходимое: 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: D:\work\data- тут будут храниться карты. Карты можно скачать! [color=red]На этом начальная настройка ядра окончена.