Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Документация (https://forum.zone-game.info/forumdisplay.php?f=76)
-   -   Компиляция и базовая настройка сервера MaNGOS (3.0.9) (https://forum.zone-game.info/showthread.php?t=3417)

PROGRAMMATOR 14.04.2009 21:21

Компиляция и базовая настройка сервера 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\
http://img.zone-game.info/image-CB25_49E4A98E.jpg

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

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

http://img.zone-game.info/image-E0BE_49E4B142.jpg

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

http://img.zone-game.info/image-95CD_49E4B092.jpg

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

http://img.zone-game.info/image-8B0C_49E4B2D6.jpg

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

http://img.zone-game.info/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 в директорию с сервером. Если Вы все сделали верно, то у вас будет в директории сервера такое содержимое (смотрите рисунок ниже):

http://img.zone-game.info/image-670B_49E4CF2E.jpg

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

http://img.zone-game.info/image-C805_49E4D113.jpg
  • имя_сервера - отображается при подключении в клиенте
  • ваш_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
Все, приятных открытий Вам, если остались вопросы, то пожалуйста, задавайте вопросы, постараюсь на все ответить.

Копирование статьи запрещено без моего письменного согласия!

Zone-Game 15.04.2009 04:26

Ответ: Компиляция и базовая настройка сервера MaNGOS (3.0.9)
 
Молодец! Красиво, понятно, грамотно. :face2:

Sava 18.04.2009 13:46

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

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

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

Mirotworez 08.05.2009 21:05

Ответ: Компиляция и базовая настройка сервера MaNGOS (3.0.9)
 
При заливке БД и фиксов, выходит ошибка http://img.zone-game.info/thumb-971E_4A05222E.jpg. С чем это связано? И куда кинуть файл db.sql которого нету в архиве *.7z?

Sava 24.05.2009 18:15

Ответ: Компиляция и базовая настройка сервера MaNGOS (3.0.9)
 
Извените конечно, но такое ошушение что создали тему и забили на нее админы.
PROGRAMMATOR вам огромное спасибо за мануал но вы не написали откуда брать(скачать) сырцы для компиляции сервера.
Так же хотелось чтобы вы более подробней написали как пользоваться программой HeidiSQL для создания таблиц.
Я так понял что скаченую базу YTDB нужно заливать в базу MySQL.
И еше на счет скриптов извените что не в тему сколько раз непыталься с
комплиировать скрипты постоянно идет ошибка(очень прошу помогите со скприптами с комп. мангоса я почти разобралься со скриптами парюсь).
Так же хотелось бы что бы вы добавили в этой теме как правильно наносить патчи на ядро.

PROGRAMMATOR 24.05.2009 18:40

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

Сообщение от Sava (Сообщение 33137)
как пользоваться программой HeidiSQL

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

Цитата:

Сообщение от Sava (Сообщение 33137)
но вы не написали откуда брать(скачать) сырцы для компиляции сервера.

Не уже ли?

Цитата:

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

Нажмите на ссылку в приведённой цитате из статьи и внимательно изучите текст.

Цитата:

Сообщение от Sava (Сообщение 33137)
постоянно идет ошибка

Что бы помочь с ошибкой, нужно знать, что же это за ошибка.

Sava 24.05.2009 23:20

Ответ: Компиляция и базовая настройка сервера MaNGOS (3.0.9)
 
Извеняюсь за тупняк на счет сырцов, давно у вас на форуме не был за был что есть эта тема.
На счет скриптов прочитал несколько раз вашу статью сделал все как написано и ошыбок небыло, большое спасибо за статью. Извените за беспокойство.

PROGRAMMATOR 24.05.2009 23:41

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

Сообщение от Sava (Сообщение 33171)
Извените за беспокойство.

Ничего, беспокоить нужно, наш форум создан именно для помощи и обмена опытом между владельцами серверов. ;)

kiberk 25.05.2009 07:57

Ответ: Компиляция и базовая настройка сервера MaNGOS (3.0.9)
 
Хорошая статья, в скором времени собираюсь тоже компилить..

kiberk 29.05.2009 20:15

Ответ: Компиляция и базовая настройка сервера 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
=============
Никто не знает в чем проблема?


Текущее время: 10:45. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot