|
Установка MaNGOS Установка MaNGOS |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
10.08.2010, 17:32 | #1 |
Гость
Сообщений: n/a
|
[Гайд]Компиляция Mangos для CentOS
Проведя целую ночь в бесплодных попытках скомплить мангос под CentOS, в 08.08 утра, мне все же удалось это сделать методом научного тыка.
Чтобы другие не отнимали, как я, сами у себя свой заслуженный сон, я написал манульчег. Вернее, сделал на основе трёх этих, некоторые места писал сам, опираясь на собсный опыт.. http://wowjp.net/forum/120-70970-1 http://wowjp.net/forum/18-69227-1 http://hudson.su/2010/05/11/install-git-on-centos/ Итак, Компиляция mangos на CentOS\RedHat Проверялось на 5.5 версии Логинимся за root'a Код:
su Код:
yum groupinstall "development tools" yum groupinstall "development libraries" yum install gcc-g++ mercurial wget links zip unzip unrar yum install mysql-server mysql-client mysql-devel yum install openssl yum install gcc44 gcc44-c++ yum install screen она есть, но версия слишком старая, и поэтому при компиле мангоса вылазают апишки! По сему, утилиту будем собирать сами. Качаем архив с нужной версией утилиты. Код:
wget http://ftp.gnu.org/gnu/libtool/libtool-2.2.tar.gz Код:
tar -xvzf libtool-2.2.tar.gz Код:
cd libtool-2.2 Код:
./configure && make && make install Собираем таким же образом Устанавливаем зависимости: Код:
yum install gettext-devel expat-devel curl-devel zlib-devel openssl-devel Код:
wget http://kernel.org/pub/software/scm/git/git-1.6.1.tar.gz tar xvfz git-1.6.1.tar.gz Код:
cd git-1.6.1 make prefix=/usr/local all make prefix=/usr/local install Код:
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/ Патчинг Сорсы мы слили... Теперь надо их пропатчить хотя бы скриптдевом //обычно на этом моменте я копирую сорсы в ~/Sources/compile Чтобы пропатчить скриптдевом, достаточно ввести следующее Код:
cd ~/Sources/mangos/ Код:
cd ~/Sources/compile патчим сорсы мангоса скриптдевом Код:
git apply < src/bindings/ScriptDev2/patches/MaNGOS-* Если при этом у Вас пишется No Such Fail!=> то скорее всего у Вас папка ScriptDev2 скачалась со стандартным именем scriptdev2(напоминаю, что линукс очень чувствлителен к реестру!)Либо переменовываем паку под команду, либо команду под папку.Всё просто. Далее. У нас есть некоторые патчи, чтобы пропатчить ими сорсы мангоса вводим Код:
cd mangos patch -p1 -l < patch.patch Код:
cd src/bindings/ScriptDev2 patch -p0 -l < patch.patch Компиляция Первое Код:
autoreconf -fvi && mkdir objdir && cd objdir Код:
../configure CC=/usr/bin/gcc44 CXX=/usr/bin/g++44 --prefix=/opt/mangos --sysconfdir=/opt/mangos/etc --enable-cli --enable-ra --datadir=/opt/mangos Код:
make -j n Код:
make install -j n (где n - число ядер процессора + 1, для 4 ядерного цп используйте -j 5. Если ядро одно, используйте просто 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 КАРТЫ Код:
su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm' yum install wine копируем файлы ad.exe в папку с WoW Запускаем при помощи wine. ждем окончания. копируем папки dbc maps в нужные папки в сервере Заходим папка с сорцами/contrib/extractor/vmap_extract_assembler_bin копируем в папку с вов все содержимое папки. Далее Код:
cd /папка/c/wow wineconsole makevmaps_SIMPLE.bat Работа с базой данных Создаем базы Код:
~# 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 Код:
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 Код:
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 Код:
chmod +x mangos.sh && chmod +x realm.sh даем ему права на запуск Код:
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. ЗЫ: Предложения по дополнению мана приветствуються 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 Последний раз редактировалось Bguser; 10.08.2010 в 17:37. Причина: Ошибки |
26.12.2010, 18:55 | #2 |
Гость
Сообщений: n/a
|
Наверняка при использовании вышеописанного кто нить столкнулся с подобной ошибкой:
при вводе autoreconf -fvi && mkdir objdir && cd objdir выскакивает след. ошибка Код:
autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4 configure.ac:22: error: Autoconf version 2.60 or higher is required configure.ac:22: the top level autom4te: /usr/bin/m4 failed with exit status: 63 aclocal: autom4te failed with exit status: 63 autoreconf: aclocal failed with exit status: 63 AC_PREREQ(2.61) и заменить ее на : AC_PREREQ(2.58) Должно все заработать Последний раз редактировалось Localhoster; 04.01.2011 в 20:37. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[Гайд] Компиляция MaNGOS под FreeBSD на примере 8.0-RELEASE | metacreo | Установка MaNGOS | 63 | 25.10.2018 14:40 |
[Гайд] Отладка для чайников | pdx15 | Установка MaNGOS | 4 | 22.10.2014 22:38 |
[Гайд] Компиляция MaNGOS под ОС Windows | Max | Установка MaNGOS | 35 | 08.05.2013 18:56 |
[Гайд] Компиляция MaNGOS под Linux на примере Ubuntu | Gen1us2k | Установка MaNGOS | 98 | 23.05.2012 21:40 |
[Гайд] Компиляция под Linux | stippi | Установка MaNGOS | 8 | 01.04.2011 16:40 |