Ru-MaNGOS

Вернуться   Ru-MaNGOS > Документация > Установка MaNGOS

Важная информация

Установка MaNGOS Установка MaNGOS

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.03.2010, 10:55   #1
Gen1us2k
RMDC Donator
 
Аватар для Gen1us2k
 
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
Gen1us2k Скоро придёт к известности
По умолчанию [Гайд] Компиляция MaNGOS под Linux на примере Ubuntu

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

Код:
~# 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
если хотите, чтобы сорсы были также как у меня, то делаем так

Код:
mkdir ~/Sources && cd ~/Sources
git clone git://github.com/mangos/mangos.git
svn co https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/
или же можно сделать так:

Код:
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

Чтобы пропатчить скриптдевом, достаточно ввести следующее
Код:
cd ~/Sources/mangos/
или
Код:
cd ~/Sources/compile
в src/bindings/ScriptDev2 у нас лежит ScriptDev2
патчим сорсы мангоса скриптдевом

Код:
git am src/bindings/ScriptDev2/patches/MaNGOS-*
или
Код:
git apply < src/bindings/ScriptDev2/patches/MaNGOS-*
где MaNGOS-* это патч под текущую ревизию сорсов

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

Код:
cd mangos
patch -p1 -l < patch.patch
чтобы пропатчить скрипты

Код:
cd src/bindings/ScriptDev2
patch -p0 -l < patch.patch
теперь у нас есть пропатченные исходники.

Компиляция
Первое
Код:
autoreconf -fvi && mkdir objdir && cd objdir
Конфигурация мангоса. Меняем /opt/mangos на удобную нам папку

Код:
../configure --prefix=/opt/mangos --sysconfdir=/opt/mangos/etc --enable-cli --enable-ra --datadir=/opt/mangos
После конфигурации компилируем
Код:
make
Цитата:
Сообщение от Fer Посмотреть сообщение
для ускорения компиляции (у кого более 1 ядра)
PHP код:
make -j n (где n число ядер процессора 1для 4 ядерного цп используйте -j 5
PHP код:
make install -j n 
и инсталируем
Код:
make install
Настройка
и так у нас имееться в папке /opt/mangos сервачок. надо нам настроить конфиги

Код:
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) и копируете в соответствующие папки
Работа с базой данных
Создаем базы

Код:
~# 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
Заполняем базу

Код:
~# 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 и другие.

Изменим реалмлист
Код:
mysql -u root -p

mysql> use realmd;
mysql> UPDATE `realmlist` SET `name` = 'название_сервера' , `address` = 'ip адрес сервера' WHERE `id` = '1';
все. сервер готов для запуска

Запуск
я создал в /путь/до/папки/с/сервером/bin/ 2 скрипта
mangos.sh
Код:
#!/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

Код:
#!/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

Код:
chmod +x mangos.sh && chmod +x realm.sh
создаем в /путь/до/папки/с/сервером/ файл start
даем ему права на запуск
Код:
chmod +x start
записываем туда

Код:
screen -AmdS world /путь/до/папки/с/сервером/bin/mangos.sh
screen -AmdS realm /путь/до/папки/с/сервером/bin/realm.sh
Запускаем
Код:
./start
смотрим запущем ли сервер
Код:
screen -ls

There are screens on:
        3546.world      (Detached)
        3549.realm      (Detached)
2 Sockets in /var/run/screen/S-mangos.
Внимание!!! 1 запуск лучше производить просто запустив файл mangos-world, чтобы убедиться что все работает
ЗЫ: Предложения по дополнению мана приветствуються

Порты 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

Последний раз редактировалось Gen1us2k; 07.03.2010 в 16:52.
Gen1us2k вне форума   Ответить с цитированием
16 пользователя(ей) сказали cпасибо:
dikabraz (14.06.2010), Hantet (03.06.2010), KiriX (28.01.2012), partizanes (31.08.2010), Shadez (25.06.2010), srv38 (12.09.2010), zergtmn (15.06.2010)
 


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Гайд] Компиляция MaNGOS под FreeBSD на примере 8.0-RELEASE metacreo Установка MaNGOS 63 25.10.2018 14:40
[Гайд] Компиляция MaNGOS под ОС Windows Max Установка MaNGOS 35 08.05.2013 18:56
[Гайд] Компиляция под Linux stippi Установка MaNGOS 8 01.04.2011 16:40
[Гайд]Компиляция Mangos для CentOS Bguser Установка MaNGOS 1 26.12.2010 18:55
Смена среды исполнения для mangos (Ubuntu) deadangel Флудильня 7 18.07.2010 08:06


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


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot