Логин:
Пароль:
 
 
Главная | Форум | Статьи | Фaйлы| Картинки WoW | Профиль | Регистрация | Вход

[ Новые сообщения · Правила форума · Поиск · RSS ]

WoW-Info — информационный World of Warcraft портал

Компиляция MaNGOS под Linux на примере Ubuntu - Форум

  • Страница 1 из 1
  • 1
Форум » MANGOS » Установка / Настройка Mangos » Компиляция MaNGOS под Linux на примере Ubuntu ([Гайд] Компиляция MaNGOS под Ubuntu)
Компиляция MaNGOS под Linux на примере Ubuntu
DarkensandДата: Четверг, 19.05.2011, 03:25 | Сообщение # 1



Darkensand
Главный Админ
Лучший из лучших
Группа: Администратор
Сообщений: 8083



Оффлайн
Будем рассматривать на примере Ubuntu. (в принципе подходит под Debian)
Графическое окружение для нас не так важно...Вся работа происходит в консольном режиме, плюс в том что консоль не жрёт столько оперативной памяти, как если бы вы работали в граф окружении...Спросите себя зачем на серверной машине картинки, меню, окошки, ну вообще графическая среда??!!!Поэтому могу посоветовать поставить Debian без графического окружения. берём тут: http://www.debian.org/
Gnome- кушает ~130MB оперативной памяти, в то время как обычный рабочий сервер с консолью 30 MB, судите сами...
Далее многие любят задавать вопросы, зачем ставить Линукс????какой толк от Линукса на серверной машине???
Дело не только в безопастности которая очень надежна в линукс, но и распределение ресурсов на вашем железе...
Windows- сразу ставиться графическое окружение (я уже говорил о её бесполезности), приходиться искать надежный антивирус...(не аваст, вы меня понимаете), ну и при обычном бездействии системы Windows( любая хоть експи хоть виста или 7) просто так, можно сказать непонятно на что тратит вашу оперативную память в пустоту, и не только её...
Надеюсь я хоть до кого то достучался ответил на некоторые Ваши вопросы...Удачи Вас в использовании Линукс, кому интересно могу прислать по личке многие интересные книги по настроке линукс(фтп, самба и многое другое)

Итак Нашу Ubuntu можно взять от сюда:
http://releases.ubuntu.com

Вот офф сайт:
http://ubuntu.ru

Вот страница с выбором загрузки последних версий:
http://ubuntu.ru/get

Quote
Что такое Ubuntu?

Ubuntu — это разрабатываемая сообществом, основанная на ядре Linux операционная система, которая идеально подходит для использования на персональных компьютерах, ноутбуках и серверах. Она содержит все необходимые программы, которые вам нужны: программу просмотра Интернет, офисный пакет для работы с текстами, электронными таблицами и презентациями, программы для общения в Интернет и много других.
Обещание Ubuntu
Ubuntu всегда будет распространяться бесплатно, включая корпоративные версии и обновления безопасности.
Для Ubuntu доступна полная коммерческая поддержка от Canonical Ltd. и сотен компаний по всему миру.
Ubuntu включает наилучшие переводы и средства доступности для людей с ограниченными возможностями, которые только существуют в виде открытого ПО.
Диски c Ubuntu содержат только свободное программное обеспечение; мы поощряем использование свободно распространяемого и открытого ПО, его улучшение и распространение.

Надо будет поставить нужные пакеты.

Code
~# apt-get install build-essential gcc g++ cpp automake git-core autoconf make patch libmysql++-dev libtool libcurl4-openssl-dev libssl-dev grep binutils subversion zlibc libc6 nano mysql-server

Все. Пакеты поставлены. Надо слить сорсы. Создаем/заходим в папку с сорсами.

Работа с сорсами

Теперь. Обычно я делаю так. У меня сорсы MaNGOS и ScriptDev2 в папке Sources/mangos и Sources/scriptdev2 компилю и работаю с сорсами уже в папке Sources/complile
если хотите, чтобы сорсы были также как у меня, то делаем так

Code
mkdir ~/Sources && cd ~/Sources
git clone git://github.com/mangos/mangos.git
svn co https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/

или же можно сделать так:

Code
mkdir ~/Sources && cd ~/Sources
git clone git://github.com/mangos/mangos.git
cd mangos
svn co https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/ src/bindings/ScriptDev2/

в этом случае ScriptDev2 будет уже в папке ~/Sources/mangos/src/bindings/ScriptDev2

Патчинг

Сорсы мы слили... Теперь надо их пропатчить хотя бы скриптдевом
//обычно на этом моменте я копирую сорсы в ~/Sources/compile

Чтобы пропатчить скриптдевом, достаточно ввести следующее

Code
cd ~/Sources/mangos/

или

Code
cd ~/Sources/compile

в src/bindings/ScriptDev2 у нас лежит ScriptDev2
патчим сорсы мангоса скриптдевом

Code
git am src/bindings/ScriptDev2/patches/MaNGOS-*

или

Code
git apply < src/bindings/ScriptDev2/patches/MaNGOS-*

где MaNGOS-* это патч под текущую ревизию сорсов

Если при этом у Вас пишется No Such Fail!=> то скорее всего у Вас папка ScriptDev2 скачалась со стандартным именем scriptdev2(напоминаю, что линукс очень чувствлителен к реестру!)Либо переменовываем паку под команду, либо команду под папку.Всё просто.

Далее. У нас есть некоторые патчи, чтобы пропатчить ими сорсы мангоса вводим

Code
cd mangos
patch -p1 -l < patch.patch

чтобы пропатчить скрипты

Code
cd src/bindings/ScriptDev2
patch -p0 -l < patch.patch

теперь у нас есть пропатченные исходники.

Компиляция
Первое

Code
autoreconf -fvi && mkdir objdir && cd objdir

Конфигурация мангоса. Меняем /opt/mangos на удобную нам папку

Code
../configure --prefix=/opt/mangos --sysconfdir=/opt/mangos/etc --enable-cli --enable-ra --datadir=/opt/mangos

После конфигурации компилируем

Code
make

для ускорения компиляции (у кого более 1 ядра)

Code
make -j n

(где n - число ядер процессора + 1, для 4 ядерного цп используйте -j 5)

Code
make install -j n

и инсталируем

Code
make install

Настройка
и так у нас имееться в папке /opt/mangos сервачок. надо нам настроить конфиги

Code
cp etc/mangosd.conf.dist etc/mangosd.conf
cp etc/realmd.conf.dist etc/realmd.conf

Открываем в любом любимом текстовом редакторе и настраиваем под себя

Создаем необходимые папки:
./mangos/maps
./mangos/dbc
./mangos/vmaps

Экстрактит только под виндой, кидаем экстрактор в папку с ВоВом и запускаем распаковку dbc (~45-50M) maps (~1G) vmaps (~2-1G в зависимости от оптимизации).
Далее закачиваете файлы на вашу систему (посредством ftp, smb или nfs) и копируете в соответствующие папки
Работа с базой данных
Создаем базы

Code
~# mysql -p'Пароль' < mangos/sql/create_mysql.sql
~# mysql -p'Пароль' < ScriptDev2/sql/ScriptDev2_create_database.sql
~# mysql -p'Пароль' ScriptDev2 < ScriptDev2/sql/ScriptDev2_create_structure_mysql.sql

Заполняем базу

Code
~# mysql -p'пароль' mangos < mangos/sql/mangos.sql
~# mysql -p'пароль' characters < mangos/sql/characters.sql
~# mysql -p'пароль' realmd < mangos/sql/realmd.sql
~# mysql -p'пароль' ScriptDev2 < ScriptDev2/sql/ScriptDev2_script_full.sql

Заселение:
для заселения берем в моем примере базу YTDB, хотя есть и UDB и другие.

Изменим реалмлист

Code
mysql -u root -p

mysql> use realmd;
mysql> UPDATE `realmlist` SET `name` = 'название_сервера' , `address` = 'ip адрес сервера' WHERE `id` = '1';

все. сервер готов для запуска

Запуск
я создал в /путь/до/папки/с/сервером/bin/ 2 скрипта
mangos.sh

Code
#!/bin/sh

CMDNAME='mangos-worldd'
RESTARTCMD='/путь/до/папки/с/сервером/bin/mangos-worldd'
SLEEPTIME=1
while test 1
do
              OUTPUT=`ps ax | grep $CMDNAME | grep -v grep`
                       
              if ! echo $OUTPUT | grep $CMDNAME 1>/dev/null ; then
                  echo Restarting service...
                  $RESTARTCMD
              else
                  echo Server Online...
              fi
              sleep $SLEEPTIME
done

realm.sh

Code
#!/bin/sh

CMDNAME='mangos-realmd'
RESTARTCMD='/путь/до/папки/с/сервером/bin/mangos-realmd'
SLEEPTIME=1
while test 1
do
              OUTPUT=`ps ax | grep $CMDNAME | grep -v grep`
                       
              if ! echo $OUTPUT | grep $CMDNAME 1>/dev/null ; then
                  echo Restarting service...
                  $RESTARTCMD
              else
                  echo Server Online...
              fi
              sleep $SLEEPTIME
done

Выставляем нужные права на mangos.sh и realm.sh

Code
chmod +x mangos.sh && chmod +x realm.sh

создаем в /путь/до/папки/с/сервером/ файл start
даем ему права на запуск

Code
chmod +x start

записываем туда

Code
screen -AmdS world /путь/до/папки/с/сервером/bin/mangos.sh
screen -AmdS realm /путь/до/папки/с/сервером/bin/realm.sh

Запускаем

Code
./start

смотрим запущем ли сервер

Code
screen -ls

There are screens on:
                  3546.world      (Detached)
                  3549.realm      (Detached)
2 Sockets in /var/run/screen/S-mangos.

Внимание!!! 1 запуск лучше производить просто запустив файл mangos-world, чтобы убедиться что все работает
ЗЫ: Предложения по дополнению мана приветствуються

Code
Порты Git и Subversion

$ cat /etc/services | grep Git
git  9418/tcp   # Git Version Control System

$ cat /etc/services | grep subver
svn  3690/tcp    subversion    # Subversion protocol
svn  3690/udp    subversion

 
[FaNaT1K]Дата: Пятница, 10.06.2011, 18:49 | Сообщение # 2



[FaNaT1K]
Fan Guf_ZM Nation™
Командир
Группа: V.I.P
Сообщений: 638

Замечания:

Оффлайн
супер мануал



Мечтаете о собственном проекте?!
 
morraДата: Понедельник, 04.08.2014, 23:10 | Сообщение # 3



morra
Капрал
Группа: Пользователи
Сообщений: 80

Замечания:

Оффлайн
как сделать так, чтобы сервер сам запускался автоматически, когда краш.


WoWby.ru - Бесплатный игровой сервер! Открыт 07.09.2014!
 
Форум » MANGOS » Установка / Настройка Mangos » Компиляция MaNGOS под Linux на примере Ubuntu ([Гайд] Компиляция MaNGOS под Ubuntu)
  • Страница 1 из 1
  • 1
Поиск:

Новые сообщения в темах
Инженерное дело в Катаклизм — ... · (Инженерное дело)
Автор: Darkensand
Последнее сообщение в 08:07
Разбойник специализации Ликвид... · (Разбойник)
Автор: Darkensand
Последнее сообщение в 01:36
Группа Best of the Best user W... · (Работа портала)
Автор: Darkensand
Последнее сообщение в 21:52
Гайд по Жрецам Тьмы в обновлен... · (Жрец)
Автор: Darkensand
Последнее сообщение в 03:33
▃ ▅ █ STRIKE-DEATH | WOTL... · (Обычные сервера WoW)
Автор: Pensukdeath
Последнее сообщение в 16:32
MPQ editor.Создание своих патч... · (Утилиты для ArcEmu)
Автор: Darkensand
Последнее сообщение в 20:59
[FAQ]вопрос ответ · ([TrinityCore] Help)
Автор: MaeStroVIP
Последнее сообщение в 18:44
Быстрый Старт WoW · (Общие вопросы по игре)
Автор: Armagidon
Последнее сообщение в 05:25
CCReport · (Проверенные аддоны для WoW)
Автор: Darkensand
Последнее сообщение в 14:05
[Гайд] По ArkInventory или нав... · (Помощь с аддонами для WoW)
Автор: Darkensand
Последнее сообщение в 12:28
Маги Льда в Туманах Пандарии, ... · (Маг)
Автор: Darkensand
Последнее сообщение в 00:06
WoW: Патч 4.3: Разъяснение изм... · (Новости)
Автор: booyoods
Последнее сообщение в 00:02
Hellscream.ORG - Азиатский WoW... · (Обычные сервера WoW)
Автор: Alexstrasza007
Последнее сообщение в 10:30
Совет при изучении C++ · (С++)
Автор: Online
Последнее сообщение в 08:15
Хороший изменённый мини-чат · (Ucoz зона)
Автор: Maylo
Последнее сообщение в 15:25

Контакты Контакты Copyright WoW-Info — World of Warcraft портал © 2018 | Условия и правила использования ресурса | Реклама / Услуги
WoW-Info портал.World of Warcraft портал — готовые сервера, сайты, картинки, аддоны, патчи, читы, баги, mangos, ArcEmu, TrinityCore, Warcraft 3, новости, Cataclysm...
Яндекс.Метрика Создать бесплатный сайт с uCoz