Показать сообщение отдельно
Непрочитано 14.04.2009, 21:21   #1
Аватар для PROGRAMMATOR
Администратор

Автор темы (Топик Стартер) Компиляция и базовая настройка сервера MaNGOS (3.0.9)

Приветствую всех начинающих администраторов сервера MaNGOS! Сегодня мы будем компилировать исходный код сервера World of Warcraft под названием MaNGOS. Перед тем как начать выполнять действия в инструкции, подумайте, может Вам будет проще скачать готовый MaNGOS с нашего сайта и не мучатся.

Как обычно, для выполнения определенных действий, нам необходимы инструменты, какие именно, описано ниже.
  • Первым делом нам нужен Visual Studio 2008 C++ Express Edition который доступен для бесплатного скачивания на сайте www.microsoft.com
  • Так же, MaNGOS использует сервер баз данных MySQL, который можно скачать с официального сайта этого продукта www.mysql.com. Лучше всего скачивать стабильную версию MySQL 5.1
  • В ходе работы с сервером нам потребуется управлять базами данных, а это лучше всего выполнять с помощью HeidiSQL который доступен у нас на сайте в новости HeidiSQL – графическое управление MySQL
  • Хоть MaNGOS и сменил репозитории и теперь они не размещаются на SVN'е, но скрипты остались все там же, и для скачивания Вам потребуется установить TortoiseSVN который доступен на официальном сайте программы.
  • Для нашего сервера мы будем использовать базу данных YTDB которую нужно скачать с SVN'а разработчиков. Обратите внимание, что нам нужна как сама база данных, которая упакована в архив *.7z так и обновления к ней. Для распаковки архива Вам необходимо установить архиватор 7z который совершенно бесплатный.
  • Не забываем о самом нужном инструменте для редактирования скриптов и конфигурационных файлов сервера MaNGOS. Да-да, это именно Notepad++ который доступен с официального сайта этого редактора.
  • И конечно же, нужно то, что мы будем компилировать, то есть исходный код MaNGOS. Каким образом это сделать описано в статье Git - программа для скачивания исходников MaNGOS

Все, вроде бы ничего не упустил. Теперь, после того как Вы скачали и установили все необходимы инструменты, переходим к выполнению компиляции исходного кода MaNGOS. Обратите внимание, что базы данных мы создадим и заполним данными в самом конце этой статьи.

Перейдите в каталог со скаченными исходниками MaNGOS, а именно в каталог win:
Цитата:
c:\mangos\win\


И запустите файл mangosdVC90.sln Всего пару секунд и перед Вашими глазами раскроется Visual Studio 2008 C++ теперь у одних пропадет желание двигаться дальше, и это хорошо! Так как сервера не для школьников. Настоящие же профессионалы , очень заинтересуются этим инструментом и обязательно изучат все настройки и рассмотрят все подробно, но об этом не на нашем форуме, для этого есть отличные статьи от www.microsoft.com и огромная библиотека MSDN, без которой не обойтись разработчику, но у нас более простая задача.

Справа есть блок, который называется Обозреватель решений.В нем мы видим список проектов которые включены в MaNGOS. Сейчас их 12 штук.



Выберите основной проект: Решение "mangosdVC90" и ниже, в блоке Свойства, установите в опцию Активная конфигурация в режим Release|Win32. Подробнее показано на рисунке ниже.



Как бы ничего сложного и мы двигаемся дальше. Теперь кликните правой кнопкой мыши на основном проекте: Решение "mangosdVC90" и выберите самый верхний пункт Построить решение, как показано на рисунке ниже.



Все, теперь осталось дождаться окончания компиляции исходников MaNGOS. Учтите, что данный процесс может длится долго. Так что проявите терпение. Информировать нас о ходе компиляции будет окно Вывод, которое откроется сразу после нажатия на Построить решение. Пример видно на рисунке ниже.



Ошибок быть не должно, но если все же появляются, то это значит, что Вы просто неудачно скачали исходники, не в том смысле, что криво, просто в этот момент могли разработчики что-то выполнять и пропустить пару строк кода - это вполне нормальное явление. Так что если ошибки есть, то просто обновите немного позже исходники MaNGOS и повторите попытку снова.

Если все нормально, но через некоторое время вы сможете увидеть файлы сервера, которого мы только что скомпилировали. Эти файлы находятся в каталоге bin:
Цитата:
c:\mangos\bin\Win32_Release\
Не спешите все копировать в каталог с вашим сервером, ведь не все файлы нам нужны. А нужны нам только те, что указаны ниже.
Цитата:
ACE.dll
dbghelp.dll
libeay32.dll
libmySQL.dll
MaNGOSScript.dll

mangosd.exe
realmd.exe
Эти файлы скопируйте (не перемещайте) в каталог, например:
Цитата:
c:\server_mangos\
И перейдите в каталог с исходниками MaNGOS. Нам необходимо скопировать конфигурационные файлы:
Цитата:
mangosd.conf.dist.in
realmd.conf.dist.in
в каталог:
Цитата:
c:\server_mangos\
Конфигурационные файлы находятся в следующих директориях:
Цитата:
c:\mangos\src\mangosd\
c:\mangos\src\realmd\
Не забудьте удалить окончания .dist.in у конфигурационных файлов. Теперь давайте настроим первый конфиг нашего сервера MaNGOS. Открываете файл mangosd.conf и редактируете следующие строки:

Цитата:
RealmID = 1
DataDir = "c:\server_mangos\" - можно установить просто точку "."
LogsDir = "c:\server_mangos\logs\mangos\" - эти папки нужно создать
LoginDatabaseInfo = "127.0.0.1;3306;ваш_логин;ваш_пароль;realmd" - логин и пароль Вы писали при установке MySQL
WorldDatabaseInfo = "127.0.0.1;3306;ваш_логин;ваш_пароль;mangos"
CharacterDatabaseInfo = "127.0.0.1;3306;ваш_логин;ваш_пароль;characters"
MaxPingTime = 30
WorldServerPort = 8085
BindIP = "ваш_ip_адрес"
Цитата:
GameType = 0
RealmZone = 12 - устанавливаем русский язык
Expansion = 2
DBC.Locale = 8 - устанавливаем русский язык
Все пункты, которые необходимо отредактировать, я выделил жирным шрифтом. Точно так же редактируете конфигурационный файл realmd.conf:

Цитата:
LoginDatabaseInfo = "127.0.0.1;3306;ваш_логин; ваш_пароль;realmd" - логин и пароль Вы писали при установке MySQL
LogsDir = "c:\server_mangos\logs\realmd\" - эти папки нужно создать
MaxPingTime = 30
RealmServerPort = 3724
BindIP = "ваш_ip_адрес"
Этих настроек вполне хватит для запуска и ознакомления с сервером MaNGOS. Так же хочу обратить внимание на то, что я пропустил компиляцию ScriptDev'а, но на запуске сервера - это никак не скажется. О ScriptDev читайте в статье: Компиляция и настройка ScriptDev2.

Теперь нам необходимо создать базы данных, для этого откройте программу HeidiSQL и в Query впишите следующий код:

Код:
create database `mangos` default character set utf8 collate utf8_general_ci;
create database `characters` default character set utf8 collate utf8_general_ci;
create database `realmd` default character set utf8 collate utf8_general_ci;
И нажмите F9. Этим запросом мы создали три базы данных, что необходимы для работы сервера MaNGOS. Осталось лишь наполнить их данными. Для этого выберите базу данных characters и нажмите Ctrl+O. Откроется диалоговое окно, которое просит нас указать файл для Import'а, а наш файл лежит в директории sql:

Цитата:
c:\mangos\sql\
Выбираете characters.sql и нажимаете Ок. После этого нажмите F9 и дождитесь окончания выполнения запросов. Точно так же выполните заполнение базы данных realmd, только теперь указывайте файл realmd.sql. Но, увы, mangos мы не сможем заполнить таким же макаром. Ну, не чего, создадим скрипт (.bat файл) со следующим кодом:

Цитата:
@echo off

set DBhost=localhost
set DBuser=ваш_логин
set DBpass=ваш_пароль
set DBname=mangos

set mysql="C:\MySQL\bin\mysql.exe"
set mysqldamp="C:\MySQL\bin\mysqldump.exe"

%mysql% -h %DBhost% -u %DBuser% --password=%DBpass% -D %DBname% < db.sql
Как я говорил ранее, ваш_логин - это логин, который указан при установке MySQL, по умолчанию логин: root, ваш_пароль, который Вы указали при установке MySQL и конечно, у Вас может отличаться путь к C:\MySQL\bin\, а вот db.sql - это база данных которую Вы скачали с SVN'а YTDB (напомню, эта база данных запакована в .7z). После всех заполнений сохраните это все в файл install_db.bat и запустите его. После установки базы данных Вам необходимо установить обновление и фиксы. Обновления качаете там же на SVN'е. Для примера, как нужно ставить обновления, база данных YTDB_098_R480_rev7528+RUDB_28.7z выделяем для себя только rev7528 и переходим в репозиторий с обновлениями YTDB и видим:

Цитата:
481_corepatch_mangos_7528_to_7594.sql
481_corepatch_characters_7528_to_7594.sql
481_corepatch_realmd_7528_to_7594.sql
481_FIX_(7594).sql

482_corepatch_mangos_7594_to_7635.sql
482_FIX_(7635).sql
  • characters - заливаем в базу данных characters
  • realmd - заливаем в базу данных realmd
  • Все остальное заливаете с верху в низ в базу данных mangos

Важно! Если файл обновления большого размера, то лучше используйте скрипт который мы с Вами написали выше. Если Вы все выполнили как нужно, то переходим к заключительному шагу - извлечение maps и dbc. За экстрактором далеко ходить не нужно, он поставляется с исходниками MaNGOS и доступен для Вас в директории:

Цитата:
c:\mangos\contrib\extractor\
Скопируйте файл ad.exe в каталог установленной игрой World of Warcraft 3.0.9 и запустите его. Дождитесь окончания выполнения действий и скопируйте папки maps и dbc в директорию с сервером. Если Вы все сделали верно, то у вас будет в директории сервера такое содержимое (смотрите рисунок ниже):



Ах да, еще перейдите в базу данных realmd и откройте таблицу realmlist и отредактируйте под свой сервер, пример показан на рисунке ниже.


  • имя_сервера - отображается при подключении в клиенте
  • ваш_ip_адрес - ваш IP-адрес

И конечно же измените realmlist.wtf для подключения к вашему серверу MaNGOS. Этот файл находится в директории с игрой:

Цитата:
World of Warcraft\Data\ruRU\
Откройте realmlist.wtf Notepad'ом и отредактируйте строки:

Код:
set realmlist ваш_ip_адрес
set patchlist ваш_ip_адрес
set realmlistbn ""
set portal eu
Все пункты ваш_ip_адрес указанные в этой статье можно заполнять как 127.0.0.1 если Вы будете заходить на сервер сами. Теперь запускайте по очереди realmd.exe и mangosd.exe и дождитесь полной загрузки сервера. После загрузки впишите в консоли mangosd.exe команду:

Цитата:
.account create ваш_логин ваш_пароль
С помощью этого логина и пароля Вы будете входить в игру. А так же нужно дать права администратора вашему аккаунту. Для этого впишите в консоль команду:

Цитата:
.account set gmlevel ваш_логин 1
Все, приятных открытий Вам, если остались вопросы, то пожалуйста, задавайте вопросы, постараюсь на все ответить.

Копирование статьи запрещено без моего письменного согласия!
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Сказали спасибо: