читы для wow, баги wow, аддоны для wow
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]   
  • Страница 1 из 1
  • 1
Модератор форума: apostl  
Сборка Mangos под Linux с использованием git
Blizzard (Offline)Дата: Воскресенье, 07.02.2010, 22:35 | Сообщение # 1

Бывший Модератор


Пол: мужчина


Должность:


Ранг/Титул:


Репутация: 3 ±




Всем привет, я достаточно недавно посещаю сей форум, поэтому можно сказать что я больше ридер-потребитель . Попробую совершить общественнополезное дело и написать краткий мануальчик по компиляции Mangos под Linux c использованием git. Я не буду описывать какие либы надо поставить, честно скажу я не помню их все наперечет, да и в wiki очень замечательный список есть. Весь процесс сборки вел под Ubuntu 8.04 LTS. Не ругайтесь если что не так, я и в линуксе новичок почти что

Итак поехали:

1. Ставим git:
Код:
sudo apt-get install git-core git
2. Создаем в домашней папке место для хранения всех исходников
Код:
mkdir ~/Mangos-Sources
cd ~/Mangos-Sources
3. Создаем в папке Mangos-Sources три папочки: mangos, script и compile. В папку mangos мы загрузим исходники mangos из git-хранилища,
в папку script загрузим исходники ScriptDev2 из svn-репозитария, а в папку compile будем копировать файлы исходников, готовые к сборке
без служебных файлов git'а и svn'а.
Код:
mkdir mangos
mkdir script
mkdir compile
4. Из папки Mangos-Sources запускаем загрузку исходников Mangos:
Код:
git clone git://github.com/mangos/mangos.git
5. Отсюда же из папки Mangos-Sources выполняем загрузку исходников ScriptDev2:
Код:
svn co http://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2 ~/Mangos-Sources/script
6. Имеем загруженные исходники, теперь нам надо применить патч, для того чтобы Mangos собирался со ScriptDev2, идем в папку mangos,
что находится в Mangos-Sources и запускаем применение патча, вместо YYYY-MM-DD необходимо поставить дату релиза Mangos'а например у меня это было 2008-10-28:
Код:
git am < ../script/patches/MaNGOS-2008-10-28-ScriptDev2.patch
7. Теперь мы получили пропатченные на компиляцию со ScriptDev2 исходники Mangos и, непосредственно, сами исходники ScriptDev2,
Для удобства переложим их в папку compile без служебных файлов git'а и svn'а, для этого сделаем в папке Mangos-Sources скрипт и назовем
его к примеру getcleansources.sh, дадим ему права на выполнение и напишем внутри следующее:
Код:
rm -rf ~/Mangos-Sources/compile/*
cp ~/Mangos-Sources/mangos/* ~/Mangos-Sources/compile -f -r
mkdir ~/Mangos-Sources/compile/src/bindings/ScriptDev2
cp ~/Mangos-Sources/script/* ~/Mangos-Sources/compile/src/bindings/ScriptDev2 -f -r
cd ~/Mangos-Sources/compile
8. Запускаем скрипт из папки Mangos-Sources:
Код:
./getcleansources.sh
9. После выполнения скрипта мы оказались в папке compile, где лежат чистые пропатченные исходники, выполняем команду:
Код:
autoreconf -fvi
10. Теперь создаем папку Objdir, в которой будет идти непосредственно сборка и переходим в нее:
Код:
mkdir objdir
cd objdir
11. Конфигурируем и собираем наш Mangos, предполагаем, что готовый сервер должен лежать в домашней папке, в папке Mangos:
Код:
../configure --prefix=~/Mangos --sysconfdir=~/Mangos/etc --with-python --enable-cli --enable-ra --datadir=~/Mangos
make
make install
12. Если все прошло удачно, то в домашней папке пользователя появилась папка Mangos, в которой лежат бинарники нашего сервера

Можно переходить к водным процедурам, то есть к установке базы

Надеюсь, что кому то смогу помочь!
С уважением, Алексей.

Для ленивых как и я сам обладателей Ubuntu, выкладываю скрипт для автоматической сборки Mangos + ScriptDev2 с чистых исходников последней редакции.

Что умеет скрипт:

- Проверяет нужные пакеты и устанавливает все что нужно для сборки
- Загружает исходники (или обновляет в случае наличия уже загруженных)
- Выполняет поиск нужного патча для сборки со ScriptDev2 и применяет его
- Выполняет реконфиг, запускает конфигурирование, сборку и установку сервера

Для исходных текстов в домашней папке пользователя создается папка Mangos-Source. В нее грузятся исходники Мангоса (mangos) и Cкриптов (scripts). Там же для реконфигурирования и сборки создается папка compile. Внутри папки compile создается папка compile-xxxx-yyy, где xxxx - ревизия Мангоса (из файла revision_nr.h), а yyy - ревизия Скриптов, внутри которой и выполняется конфигурирование и сборка сервера.

Для размещения готового сервера в домашней папке пользователя создается папка Mangos-Server. После окончания работы скрипта автоматической сборки внутри папки Mangos-Server создается папка mangos-xxxx-yyy, где xxxx - ревизия Мангоса (из файла revision_nr.h), а yyy - ревизия Скриптов, в которой размещаются бинарные файлы сервера. Конфигурирование исходником перед сборкой настроено так, чтобы все конфиги сервера хранились в папке Mangos-Server в подпапке config, дабы не приходилось каждый раз править конфиги. Плюс к этому все апдейты хранятся в папке Mangos-Server в подпапке sql.

В итоге каждый раз запуская скрипт, вы будете получать просто еще одну папку mangos-xxxx-yyy в случает изменения ревизий исходников (старые не удаляются). Сервер полученный в результате будет работать с теми же конфигами что и предыдущий. Новые апдейты будут просто дописываться папку Mangos-Server/sql.

Пример:

У Вас только что установленная Ubuntu.
Кидаем в домашнюю папку mangos_install.sh, даем ему права на выполнение и запускаем. Читаем подсказки - отвечаем на вопросы Y или N (да там собссно 2 всего). Ждем пока скомпилируется (можно курить, пить кофе, читать книгу, играть в вов, пока все это сделается).

Теперь смотрим в домашнюю папку ищем там Mangos-Server. Открываем и видим вот такую картину примерно:

config
mangos-7476-911
sql

Конфиги лежат в папке config, апдейты в sql, сами исполняемые в mangos-7476-911. Настраиваем конфиги, накатываем апдейты.

В случае обновления ревизий - делаем бэкап баз и просто еще раз запускаем скрипт и ждем окончания работы. В папке Mangos-Sources ищем папку mangos-xxxx-yyy с новыми номерами ревизий. Конфиги править уже не надо (если их формат не поменялся), просто накатываем новые апдейты. Если что либо не поперло, возвращаем базы из дампов и просто работаем с предыдущей версией, она ж у нас никуда не делась - там же в папке Mangos-Sources и лежит.

В общем кому надо пробуйте! Сильно не пинать и глупые вопросы не задавать! Я не планировал создавать автосборщик и автоустановщик, скрипт помогает просто нажимать меньше кнопок. А матчасть все равно надо знать. Если что либо не ясно - откройте скрипт и посмотрите сами - там все очень просто!
http://getmangos.ru/forum....7284471



www.WOW-SGP.RU приглашай друзей знакомых и будет лучше!
 
Реклама
  • Страница 1 из 1
  • 1
Поиск:

Администратор Cezar | sitemap sitemap forum | Хостинг от uCoz | ICQ: ICQ 6652242 | E-Mail: e-mail roman.sarvarov[@]gmail.com | русский фан сайт про игру state of decay
Читы для wow скачать бесплатно без регистрации, аддоны для wow скачать бесплатно с быстрой скоростью, баги wow без хайда, боты wow скачать, гайды wow мануалы,
макросы wow паладину ханту магу присту чернокнижнику разбойнику воину друиду, 2.4.3, 3.3.5, вов, wotlk, 4.0.3, 4.0, катаклизм, cataclysm, скачать бесплатно читы,
читы для wow cataclysm, читы для wow 3.3.5, боты 3.3.5