Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Компиляция и базовая настройка сервера MaNGOS (3.0.9)
#1
Приветствую всех начинающих администраторов сервера MaNGOS! Сегодня мы будем компилировать исходный код сервера World of Warcraft под названием MaNGOS. Перед тем как начать выполнять действия в инструкции, подумайте, может Вам будет проще скачать готовый MaNGOS с нашего сайта и не мучатся.

Как обычно, для выполнения определенных действий, нам необходимы инструменты, какие именно, описано ниже.

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

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

[Изображение: image-CB25_49E4A98E.jpg]

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

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

[Изображение: image-E0BE_49E4B142.jpg]

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

[Изображение: image-95CD_49E4B092.jpg]

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

[Изображение: image-8B0C_49E4B2D6.jpg]

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

[Изображение: image-B5C1_49E4CEC8.jpg]

Ошибок быть не должно, но если все же появляются, то это значит, что Вы просто неудачно скачали исходники, не в том смысле, что криво, просто в этот момент могли разработчики что-то выполнять и пропустить пару строк кода - это вполне нормальное явление. Так что если ошибки есть, то просто обновите немного позже исходники 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 в директорию с сервером. Если Вы все сделали верно, то у вас будет в директории сервера такое содержимое (смотрите рисунок ниже):

[Изображение: image-670B_49E4CF2E.jpg]

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

[Изображение: image-C805_49E4D113.jpg]
  • имя_сервера - отображается при подключении в клиенте
  • ваш_ip_адрес - ваш IP-адрес

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

Цитата:World of Warcraft\Data\ruRU\

Откройте realmlist.wtf Notepad'ом и отредактируйте строки:

Код:
set realmlist [B]ваш_ip_адрес[/B]
set patchlist [B]ваш_ip_адрес[/B]
set realmlistbn ""
set portal eu

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

Цитата:.account create ваш_логин ваш_пароль

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

Цитата:.account set gmlevel ваш_логин 1

Все, приятных открытий Вам, если остались вопросы, то пожалуйста, задавайте вопросы, постараюсь на все ответить.

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

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

Добавлено через 1 час 4 минуты
И еше на счет Git - какой именно качать их там куча целая?
Ответ
#4
При заливке БД и фиксов, выходит ошибка [Изображение: thumb-971E_4A05222E.jpg]. С чем это связано? И куда кинуть файл db.sql которого нету в архиве *.7z?
Ответ
#5
Извените конечно, но такое ошушение что создали тему и забили на нее админы.
PROGRAMMATOR вам огромное спасибо за мануал но вы не написали откуда брать(скачать) сырцы для компиляции сервера.
Так же хотелось чтобы вы более подробней написали как пользоваться программой HeidiSQL для создания таблиц.
Я так понял что скаченую базу YTDB нужно заливать в базу MySQL.
И еше на счет скриптов извените что не в тему сколько раз непыталься с
комплиировать скрипты постоянно идет ошибка(очень прошу помогите со скприптами с комп. мангоса я почти разобралься со скриптами парюсь).
Так же хотелось бы что бы вы добавили в этой теме как правильно наносить патчи на ядро.
Ответ
#6
Sava;33137 Написал:как пользоваться программой HeidiSQL
Извините, но, увы, я не имею времени на обучение работы с Windows и компьютером в общем. Вы же понимаете, что я трачу свое собственное время бесплатно, как и любой модератор или пользователь, помогая другим участникам. Для обучения использования программы HeidiSQL посетите их официальный сайт и изучите документацию.

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

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

Sava;33137 Написал:постоянно идет ошибка
Что бы помочь с ошибкой, нужно знать, что же это за ошибка.
Ответ
#7
Извеняюсь за тупняк на счет сырцов, давно у вас на форуме не был за был что есть эта тема.
На счет скриптов прочитал несколько раз вашу статью сделал все как написано и ошыбок небыло, большое спасибо за статью. Извените за беспокойство.
Ответ
#8
Sava;33171 Написал:Извените за беспокойство.
Ничего, беспокоить нужно, наш форум создан именно для помощи и обмена опытом между владельцами серверов. Wink
Ответ
#9
Хорошая статья, в скором времени собираюсь тоже компилить..
Ответ
#10
Мде патчи накатил вроде все ок пошел на компил и на те 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
=============
Никто не знает в чем проблема?
Больше не могу...©
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Компиляция ядра, создание сборки Trinity Core 3.3.5a под Win32 PuShKinG 199 154,562 10-30-2019, 10:18 AM
Последний пост: VikingBO
  Подробный мануал по установке сервера MaNGOS PuShKinG 411 173,357 04-30-2012, 02:59 PM
Последний пост: Z1ko
  Компиляция исходных кодов TrinityCore на Linux Kirito 0 5,268 03-04-2012, 10:38 PM
Последний пост: Kirito
  Компиляция сервера под Линукс на винде maa 5 4,290 12-20-2011, 06:28 PM
Последний пост: Itachi
  Установка сервера на Ubuntu Itachi 3 7,429 05-11-2011, 01:43 PM
Последний пост: Perfecto
  Создание сервера с готовым ядром, базой и скриптами Perfecto 49 23,177 08-16-2010, 04:04 PM
Последний пост: Ferse
  Настройка портов Апача в денвере. Cool_prime 4 7,303 05-02-2010, 10:16 PM
Последний пост: Cool_prime
  Мануал по установке Mangos WoW сервера Nastia 48 30,184 04-07-2010, 07:15 PM
Последний пост: Perfecto
  Нуждаюсь в помощи по настройке сервера NostradamuS 2 3,064 03-23-2010, 05:46 PM
Последний пост: NostradamuS
  Компиляция и настройка ScriptDev2 PROGRAMMATOR 10 15,467 03-22-2010, 10:05 PM
Последний пост: Arsenn

Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)