Компиляция и базовая настройка сервера MaNGOS (3.0.9) - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Другие игры / Other games > World of WarCraft > Документация

Документация Разьясняем что, как и зачем.

Ответ
Опции темы
Непрочитано 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™ Ответить с цитированием
Сказали спасибо:
Непрочитано 15.04.2009, 04:26   #2
™Diablo

По умолчанию Ответ: Компиляция и базовая настройка сервера MaNGOS (3.0.9)

Молодец! Красиво, понятно, грамотно.
Zone-Game вне форума Отправить сообщение для Zone-Game с помощью ICQ Ответить с цитированием
Непрочитано 18.04.2009, 13:46   #3
Аватар для Sava
Пользователь

По умолчанию Ответ: Компиляция и базовая настройка сервера MaNGOS (3.0.9)

И еше у меня есть видио как Компил.Сервер, могу скинуть по аське.
А вообше у меня вопрос вы луче соображаете в этом деле.
Меня всегда мучало одно как создаються файлы sql которые потом заливаються в базу? (Их самому надо писать или они создаютсья при Компиляция) И еше откуда беруться или брать файлы типа mangos.confg.

PROGRAMMATOR я б хотел спросить разрешения на распечатку вашей статьи для личного пользования(хочу попробывать с компл.сервер)

Добавлено через 1 час 4 минуты
И еше на счет Git - какой именно качать их там куча целая?

Последний раз редактировалось Sava; 18.04.2009 в 14:51. Причина: Добавлено сообщение
Sava вне форума Отправить сообщение для Sava с помощью ICQ Ответить с цитированием
Непрочитано 08.05.2009, 21:05   #4
Аватар для Mirotworez
Пользователь

По умолчанию Ответ: Компиляция и базовая настройка сервера MaNGOS (3.0.9)

При заливке БД и фиксов, выходит ошибка . С чем это связано? И куда кинуть файл db.sql которого нету в архиве *.7z?

Последний раз редактировалось Mirotworez; 09.05.2009 в 09:30.
Mirotworez вне форума Отправить сообщение для Mirotworez с помощью ICQ Ответить с цитированием
Непрочитано 24.05.2009, 18:15   #5
Аватар для Sava
Пользователь

По умолчанию Ответ: Компиляция и базовая настройка сервера MaNGOS (3.0.9)

Извените конечно, но такое ошушение что создали тему и забили на нее админы.
PROGRAMMATOR вам огромное спасибо за мануал но вы не написали откуда брать(скачать) сырцы для компиляции сервера.
Так же хотелось чтобы вы более подробней написали как пользоваться программой HeidiSQL для создания таблиц.
Я так понял что скаченую базу YTDB нужно заливать в базу MySQL.
И еше на счет скриптов извените что не в тему сколько раз непыталься с
комплиировать скрипты постоянно идет ошибка(очень прошу помогите со скприптами с комп. мангоса я почти разобралься со скриптами парюсь).
Так же хотелось бы что бы вы добавили в этой теме как правильно наносить патчи на ядро.
Sava вне форума Отправить сообщение для Sava с помощью ICQ Ответить с цитированием
Непрочитано 24.05.2009, 18:40   #6
Аватар для PROGRAMMATOR
Администратор

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

Цитата:
Сообщение от Sava Посмотреть сообщение
как пользоваться программой HeidiSQL
Извините, но, увы, я не имею времени на обучение работы с Windows и компьютером в общем. Вы же понимаете, что я трачу свое собственное время бесплатно, как и любой модератор или пользователь, помогая другим участникам. Для обучения использования программы HeidiSQL посетите их официальный сайт и изучите документацию.

Цитата:
Сообщение от Sava Посмотреть сообщение
но вы не написали откуда брать(скачать) сырцы для компиляции сервера.
Не уже ли?

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
И конечно же, нужно то, что мы будем компилировать, то есть исходный код MaNGOS. Каким образом это сделать описано в статье Git - программа для скачивания исходников MaNGOS
Нажмите на ссылку в приведённой цитате из статьи и внимательно изучите текст.

Цитата:
Сообщение от Sava Посмотреть сообщение
постоянно идет ошибка
Что бы помочь с ошибкой, нужно знать, что же это за ошибка.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 24.05.2009, 23:20   #7
Аватар для Sava
Пользователь

По умолчанию Ответ: Компиляция и базовая настройка сервера MaNGOS (3.0.9)

Извеняюсь за тупняк на счет сырцов, давно у вас на форуме не был за был что есть эта тема.
На счет скриптов прочитал несколько раз вашу статью сделал все как написано и ошыбок небыло, большое спасибо за статью. Извените за беспокойство.
Sava вне форума Отправить сообщение для Sava с помощью ICQ Ответить с цитированием
Непрочитано 24.05.2009, 23:41   #8
Аватар для PROGRAMMATOR
Администратор

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

Цитата:
Сообщение от Sava Посмотреть сообщение
Извените за беспокойство.
Ничего, беспокоить нужно, наш форум создан именно для помощи и обмена опытом между владельцами серверов.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 25.05.2009, 07:57   #9
Аватар для kiberk
Пользователь

По умолчанию Ответ: Компиляция и базовая настройка сервера MaNGOS (3.0.9)

Хорошая статья, в скором времени собираюсь тоже компилить..
kiberk вне форума Отправить сообщение для kiberk с помощью ICQ Ответить с цитированием
Непрочитано 29.05.2009, 20:15   #10
Аватар для kiberk
Пользователь

По умолчанию Ответ: Компиляция и базовая настройка сервера MaNGOS (3.0.9)

Мде патчи накатил вроде все ок пошел на компил и на те 342 ошибки! Даже незнаю что делать пробовал повторить раза 3!Результат один и тот же!Ошибки такого вида:
LSOCK_Acceptor.cpp
..\..\dep\ACE_wrappers\ace/config-win32-common.h(441) : fatal error C1083: Cannot open include file: 'winsock2.h': No such file or directory
LSOCK.cpp,
===========================
И такие
Error 2 fatal error C1083: Cannot open include file: 'winsock2.h': No such file or directory c:\Users\all\Desktop\MaNGOS_SOURCES\mangos\dep\ACE _wrappers\ace\config-win32-common.h 441 framework
=============
Никто не знает в чем проблема?
__________________
Больше не могу...©
kiberk вне форума Отправить сообщение для kiberk с помощью ICQ Ответить с цитированием
Ответ

Метки
компиляция mangos, настройка mangos


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2020 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 12:01. Часовой пояс GMT +3.

Вверх