|
Форум Корзина форума Установка / Настройка Skyfire Компиляция ядра, Сборки SkyFire |
Компиляция ядра, Сборки SkyFire |
Visual C++ 2008 Express или Visual C++ 2010. Express издания не поддерживают компиляцию на системах с 64 битной архитектурой Для х64 - Visual Studio 2010 (или 2008) Professional Edition
MySQL - сервер баз данных, рекомендуется использовать версии 5.1.х. Git - распределённая система управления версиями файлов. CMake - программа для построения проекта и подготовки исходного кода непосредственно к процессу компиляции. OpenSSL - система безопасных сокетов позволяющая создавать ключи RSA, DH, DSA и сертификаты. SQLyog - приложение для графического управления сервером MySQL, рекомендуется использовать Ultimate_v8.5.0.6 версию программы. Navicat - приложение для графического управления сервером MySQL, рекомендуется использовать Lite версию программы. После того как мы скачали и установили весь необходимый софт, идём дальше по плану, который состоит из следующих пунктов: 1. Скачивание исходников. 2. "Накатывание" патчей на ядро. 3. Сборка компилятора. 4. Компиляция ядра. 5. Настройка ядра. 6. Работа с базами. 6.1. Создание баз. 6.2. Заполнение баз. 6.3. Настройки баз. 7. Запуск сервера. Начинаем. 1. Скачивание исходников. Создаем рабочий папку в "корне" диска, например: Code C:\SkyFire В контекстном меню созданной нами папки выбираем git Bash Here В появившемся окне пишем git clone git://github.com/ProjectSkyfire/SkyFireEMU.git Скачивание исходников завершено. 2. "Накатывание" патчей на ядро. Патч - это некая модификация для ядра, написанная на CPP Примерный патч : Code From 1a96a0b99394f47fb464c28e05968edbf6c67fd2 Mon Sep 17 00:00:00 2001 From: LordPsyan <uppp@juno.com> Date: Sat, 11 Jun 2011 15:48:11 -0400 Subject: [PATCH] 1645-Fatigue --- src/server/game/Entities/Player/Player.cpp | 9 ++++++++- src/server/worldserver/worldserver.conf.dist | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletions(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index e5c91c1..58fd18f 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -78,6 +78,7 @@ #include "CharacterDatabaseCleaner.h" #include "InstanceScript.h" #include <cmath> +#include "Config.h" #define ZONE_UPDATE_INTERVAL (1*IN_MILLISECONDS) @@ -1085,8 +1086,11 @@ int32 Player::getMaxTimer(MirrorTimerType timer) { switch (timer) { + if(sConfig->GetBoolDefault("fatigue.enabled", true)) // If "fatigue.enabled" is enabled + { case FATIGUE_TIMER: return MINUTE*IN_MILLISECONDS; + } case BREATH_TIMER: { if (!isAlive() || HasAuraType(SPELL_AURA_WATER_BREATHING) || GetSession()->GetSecurity() >= AccountTypes(sWorld->getIntConfig(CONFIG_DISABLE_BREATHING))) @@ -1160,6 +1164,9 @@ void Player::HandleDrowning(uint32 time_diff) } // In dark water +if(sConfig->GetBoolDefault("fatigue.enabled", true)) // If "fatigue.enabled" is enabled +{ + if (m_MirrorTimerFlags & UNDERWARER_INDARKWATER) { if (m_zoneUpdateId == 5144) return; @@ -1199,7 +1206,7 @@ void Player::HandleDrowning(uint32 time_diff) else if (m_MirrorTimerFlagsLast & UNDERWARER_INDARKWATER) SendMirrorTimer(FATIGUE_TIMER, DarkWaterTime, m_MirrorTimer[FATIGUE_TIMER], 10); } - +} if (m_MirrorTimerFlags & (UNDERWATER_INLAVA|UNDERWATER_INSLIME)) { // Breath timer not activated - activate it diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index a6e1dc1..9709213 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -828,6 +828,13 @@ ChatLogTimestamp = 0 # Disable/enable waterbreathing for security level (0..4) or higher # Default: 4 (None) # +# Enable or Disable "Fatigue" timer +# default = 1 (enabled) +# = 0 (disabled) + +fatigue.enabled = 1 + +# # AllFlightPaths # Players will start with all flight paths # (Note: ALL flight paths, not only player's team) -- 1.7.2.3 Копируем всё это содержимое, сохраняем в файл с расширением .patch, например: Code City-Conquest.patch Кидаем патч в папку с ядром, Так следует поступать с любым устанавливаемым патчем. После того как мы перенесли наш патч, жмем ПКМ по папке с исходниками, а точнее: Code C:\SkyFire И выбераем Git Bash Here: Жмем Enter. Если после завершения вы видите: Значит всё в порядке, можно продолжать. Вы можете продолжить установку других патчей (если они у вас имеются), но у нас он один, так что мы продолжим. Закрываем Git. 3. Сборка компилятора. Создаем новую папку в нашей рабочей директории, например: Code D:\SkyFire\win - в этой папке будет хранится готовый к компиляции проект. После того как мы подготовили директорию, запускаем ранее нами установленный CMake. Where is the source code - папка с исходниками, у нас это: Code D:\SkyFire Where to build the binaries - папка для готового проекта : Code D:\SkyFire\win Указываем эти данные в программе: После жмем : Если все прошло успешно: Можно закрывать CMake. 4. Компиляция ядра. Наш проект теперь хранится в: D:\SkyFire\win Запускаем файл с расширением .sln: Code SkyFire.sln Меняете Debug на Release : Code ========== Построение: успешно 19, с ошибками 0, без изменений 0,пропущено: 1 ========== Если после компиляции мы видим результат без ошибок, значит, компиляция прошла успешно. Все, наше ядро скомпилировано, но оно ещё не работоспособно. 5. Настройка ядра. Наше скомпилированное ядро хранится в папке: Code D:\SkyFire\win\bin\Release и копируем такие файлы: [code]ace.dll authserver.conf.dist authserver.exe libmysql.dll worldserver.conf.dist worldserver.exe Переименовываем : Code worldserver.conf.dist - worldserver.conf authserver.conf.dist - authserver.conf 6. Работа с базами. SkyFire имеет три базы: auth - база аккаунтов. characters - база персонажей. world - база мира, игрового Сейчас мы займемся созданием этих трех баз. 6. Создание баз. Открываем скаченный нами ранее SQLyog, жмем на Conntection, заполняем: Code User name: логин MySQL сервера Password: пароль MySQL сервера Жмем ок: и Делаем как на скрине : Жмем ОК, теперь мы создали одну из трех баз. Дальше мы заливаем базу её можно взять от сюда Code https://github.com/ProjectSkyfire/SkyFireDB скачиваем с исходники бд. Так приступаем к заливки Базы : 1. 2. 3. База готова. |
Quote (mr_agan) auth - база аккаунтов. characters - база персонажей. где можно скачать? по умолчанию они есть в папке исходников (sql ) там и есть дамбы этих баз.
Сообщение # 3 написано 16.06.2012 в 13:53
|
Вам спасибо, в тут самый адекватный =)
Сообщение # 9 написано 13.01.2013 в 02:37
|
| |||
| |||