Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Установка MaNGOS (http://mangos.ytdb.ru/forumdisplay.php?f=25)
-   -   [Гайд] Компиляция MaNGOS под Linux на примере Ubuntu (http://mangos.ytdb.ru/showthread.php?t=72)

Gen1us2k 07.03.2010 10:55

[Гайд] Компиляция 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 (Сообщение 203)
для ускорения компиляции (у кого более 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


Fer 07.03.2010 11:26

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

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

PHP код:

make install -j n 


Sanek 07.03.2010 14:59

Народ,подскажите в чем проблема может быть,пробую скачать с ГИТа и получаю:
Код:

Initialized empty Git repository in /home/syrex/Sources/mangos/.git/
github.com[0: 207.97.227.239]: errno=Connection timed out
fatal: unable to connect a socket (Connection timed out)


Gen1us2k 07.03.2010 15:03

Цитата:

(Connection timed out)
проблема с коннектом :)

Sanek 07.03.2010 15:05

Цитата:

Сообщение от Gen1us2k (Сообщение 298)
проблема с коннектом :)

Ну это как бы я прочитал ))) Вопрос ПОЧЕМУ ?

Gen1us2k 07.03.2010 15:08

Цитата:

$ ping github.com
PING github.com (207.97.227.239) 56(84) bytes of data.
64 bytes from github.com (207.97.227.239): icmp_seq=1 ttl=53 time=251 ms
64 bytes from github.com (207.97.227.239): icmp_seq=2 ttl=53 time=250 ms
64 bytes from github.com (207.97.227.239): icmp_seq=3 ttl=53 time=253 ms
^C
--- github.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 250.562/251.762/253.100/1.040 ms
тут все нормально... смотрим в системе :) но это уже другая история...

Sanek 07.03.2010 15:35

Стоп,тут скорей всего у меня порт закрыт.
На какой порту гит работает ?

Gen1us2k 07.03.2010 15:39

Код:

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


Fer 07.03.2010 18:22

Может немного не в тему.
Но Пингвинов советую скачать тут http://mirror.yandex.ru/ для новичков рекомендую Ubuntu (щас постораюсь найти лентяй-скрипт для авто установки), а для тех кто хочет углубиться в изучения О.С. и сервер с отличной работоспособностью, + наилучшем соотношением онлайн железо советую Gentoo.

Nordway 07.03.2010 21:37

Ошибка конфгурации
 
OS: Debian
Mangos: 9541 (Каратель + 3 доп. патча)

Вариант 1.
Код:

cd mangos
autoreconf -fvi
automake src/bindings/ScriptDev2/Makefile
cd ..
mkdir objdir
cd objdir
../mangos/configure --with-debug-info --prefix=/usr/local/mangos --sysconfdir=/usr/local/mangos/etc --enable-cli --enable-ra --datadir=/usr/local/mangos

получаю
Код:

configure: creating ./config.status
.infig.status: error: cannot find input file:

Вариант 2.
Код:

cd mangos
autoreconf --install --force
aclocal
autoheader
autoconf

получаю
Код:

configure.ac:36: error: possibly undefined macro: AC_MSG_ERROR
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.

Подскажите как быть ? =(

Gen1us2k 07.03.2010 22:45

Код:

git apply < src/bindings/ScriptDev2/patches/MaNGOS-*
autoreconf -fvi
mkdir objdir && cd objdir
../configure blah blah blah

попробуйте так

Nordway 07.03.2010 22:54

всё равно вот это получаю =\

Код:

configure: creating ./config.status
.infig.status: error: cannot find input file:

Сейчас попробую чистые иходники без патчей и СД2


Добавлено...

Чистые исходники без SD2
Код:

autoreconf -fvi
mkdir objdir && cd objdir
../configure blah blah blah

норм сконфигурировалсь =\

Neggod 07.03.2010 23:02

Код:

dos2unix configure.ac
dos2unix /dep/ACE_wrappers/configure.ac

попробуйте. Подобную ошибку на FreeBSD полгода назад ловили.(помогли, кстати на rmdc:) ) Возникала из-за символа возврата каретки "^M".

Nordway 07.03.2010 23:21

Вроде при скачивани с репозитария на Linux-е "кодировки" должны автоматом подгоняться =\

В любом случае, спасибо, порпобую так сделать.

Mixnsk 08.03.2010 13:23

Когда пытаюсь выполнить команду autoreconf -fvi && mkdir objdir && cd objdir

Получаю пачку вот таких ахтунгов

libtoolize: can not copy `/usr/share/aclocal/ltversion.m4' to `m4/'

В чём может быть проблема..

Gen1us2k 08.03.2010 13:31

а с правами все нормально? или с пакетами?
к примеру под последними ревами все путем
Цитата:

libtoolize: copying file `m4/ltoptions.m4'

Mixnsk 08.03.2010 13:45

Цитата:

Сообщение от Gen1us2k (Сообщение 593)
а с правами все нормально? или с пакетами?
к примеру под последними ревами все путем

Вообщем вот какие сейчас права на папку стоят

Код:

drwxrwx---  2 root plugdev  65536 2010-03-08 13:56 m4
И собственно всё что мне выдаёт после выполнения команды..

root@alioth:/windows/Sources/compile/mangos# autoreconf -fvi
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: adding subdirectory dep/ACE_wrappers to autoreconf
autoreconf: Entering directory `dep/ACE_wrappers'
autoreconf: running: libtoolize --install --copy --force
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `aux_config'.
libtoolize: can not copy `/usr/share/libtool/config/config.guess' to `aux_config/'
libtoolize: can not copy `/usr/share/libtool/config/config.sub' to `aux_config/'
libtoolize: can not copy `/usr/share/libtool/config/install-sh' to `aux_config/'
libtoolize: can not copy `/usr/share/libtool/config/ltmain.sh' to `aux_config/'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: can not copy `/usr/share/aclocal/libtool.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/ltoptions.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/ltsugar.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/ltversion.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/lt~obsolete.m4' to `m4/'
autoreconf: libtoolize failed with exit status: 1

stippi 08.03.2010 14:18

Цитата:

Сообщение от Mixnsk (Сообщение 599)
И собственно всё что мне выдаёт после выполнения команды..

root@alioth:/windows/Sources/compile/mangos# autoreconf -fvi
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: adding subdirectory dep/ACE_wrappers to autoreconf
autoreconf: Entering directory `dep/ACE_wrappers'
autoreconf: running: libtoolize --install --copy --force
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `aux_config'.
libtoolize: can not copy `/usr/share/libtool/config/config.guess' to `aux_config/'
libtoolize: can not copy `/usr/share/libtool/config/config.sub' to `aux_config/'
libtoolize: can not copy `/usr/share/libtool/config/install-sh' to `aux_config/'
libtoolize: can not copy `/usr/share/libtool/config/ltmain.sh' to `aux_config/'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: can not copy `/usr/share/aclocal/libtool.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/ltoptions.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/ltsugar.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/ltversion.m4' to `m4/'
libtoolize: can not copy `/usr/share/aclocal/lt~obsolete.m4' to `m4/'
autoreconf: libtoolize failed with exit status: 1

а собсно libtool у вас установлен? помнится, что то похожее было, когда ввели сию тулзу. проверьте еще раз список необходимых установленных пакетов

Mixnsk 08.03.2010 14:23

Цитата:

Сообщение от stippi (Сообщение 614)
а собсно libtool у вас установлен? помнится, что то похожее было, когда ввели сию тулзу. проверьте еще раз список необходимых установленных пакетов

былоб всё так просто..

root@alioth:/windows/Sources/compile/mangos# apt-get install libtool
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Уже установлена самая новая версия libtool.

Mixnsk 08.03.2010 18:19

С горем пополам вроде бы конфигурация прошла
делаю make и получаю вот это...

mixnsk@alioth:/windows/Sources/compile/mangos/objdir$ make
cd .. && /bin/bash /windows/Sources/compile/mangos/missing --run automake-1.11 --gnu src/Makefile
cd . && /bin/bash ./config.status src/Makefile
config.status: creating src/Makefile
Making all in tools
/bin/bash: line 17: cd: tools: No such file or directory
make: *** [all-recursive] Ошибка 1

Fer 08.03.2010 18:28

Вложений: 1
Вот скрипт Alex Blade, с авто установкой всех программ и самого сервера, попробуйте (судя по apt-get install как раз под вашу О.С.) там все очень понятно расписано и при желании легко переписать под себя.

Mixnsk 09.03.2010 17:09

За скрипт спасибо... Вообщем убил пока часов пять своей жизни на эксперименты))
Пути подправил в скрипте на то как мне удобно. Но тут есть свои косяки
1) Хоть убей не определяется ревизия скриптдева... по сути она не нужна просто получаем папку с названием ревизии ядрышка. Это не притично
2) Исходники скриптдева качает а вот обновлять их не хочет... опять же не критично скомпилилось бы хотяб так
3) Косяк был с путями скриптдева. они имели вид Mangos-Sources/scriptdev2/scriptdev2/ из-за этого там был рамс с патчингом, но вроде исправил.
4) Ну и в конце концов не компилится всё равно... конфигурация заканчивается ошибкой

config.status: creating dep/include/Makefile
config.status: creating dep/lib/Makefile
config.status: creating dep/src/Makefile
config.status: creating dep/src/g3dlite/Makefile
config.status: creating dep/src/sockets/Makefile
config.status: creating dep/src/zlib/Makefile
config.status: creating dep/src/gsoap/Makefile
config.status: creating dep/Makefile
config.status: creating dep/tbb/Makefile
config.status: creating doc/Doxyfile
config.status: creating doc/Makefile
config.status: error: cannot find input file: `Makefile.in'

И вот и всё... Можно узнать где он его найти неможет или откуда скопировать...

FreeBSD 09.03.2010 17:57

Цитата:

Сообщение от Mixnsk (Сообщение 978)
За скрипт спасибо... Вообщем убил пока часов пять своей жизни на эксперименты))
Пути подправил в скрипте на то как мне удобно. Но тут есть свои косяки
1) Хоть убей не определяется ревизия скриптдева... по сути она не нужна просто получаем папку с названием ревизии ядрышка. Это не притично
2) Исходники скриптдева качает а вот обновлять их не хочет... опять же не критично скомпилилось бы хотяб так
3) Косяк был с путями скриптдева. они имели вид Mangos-Sources/scriptdev2/scriptdev2/ из-за этого там был рамс с патчингом, но вроде исправил.
4) Ну и в конце концов не компилится всё равно... конфигурация заканчивается ошибкой

config.status: creating dep/include/Makefile
config.status: creating dep/lib/Makefile
config.status: creating dep/src/Makefile
config.status: creating dep/src/g3dlite/Makefile
config.status: creating dep/src/sockets/Makefile
config.status: creating dep/src/zlib/Makefile
config.status: creating dep/src/gsoap/Makefile
config.status: creating dep/Makefile
config.status: creating dep/tbb/Makefile
config.status: creating doc/Doxyfile
config.status: creating doc/Makefile
config.status: error: cannot find input file: `Makefile.in'

И вот и всё... Можно узнать где он его найти неможет или откуда скопировать...

все должно быть, это что-то ты намудрил. или с винды качал скриты.

Mixnsk 09.03.2010 20:08

Цитата:

Сообщение от FreeBSD (Сообщение 996)
все должно быть, это что-то ты намудрил. или с винды качал скриты.

Да вот еслиб я... пробовал и чистый скрип как даный и потом свои исправления. Качал линухом всё.. мм ну ладно завтра под виртуалкой подниму лить ещё один и там поэкспериментирую. а так спааать

Neggod 09.03.2010 20:25

Цитата:

Сообщение от FreeBSD (Сообщение 996)
все должно быть, это что-то ты намудрил. или с винды качал скриты.

По личному опыту: удобнее качать ядро\сд2 под вендой, патчить и лить в никсы. Только перед компиляцией надо подгонять кодировку.

Fer 09.03.2010 21:37

Возможно, библиотеки повреждены у тебя, можешь дать доступ по ssh? я попробую помочь.
Если есть желание пиши в л.с.

rayco 09.03.2010 23:05

Цитата:

Сообщение от Mixnsk (Сообщение 978)
..
1) Хоть убей не определяется ревизия скриптдева... по сути она не нужна просто получаем папку с названием ревизии ядрышка.
...

Найди вот эту часть в скрипте
Цитата:

SD2REVSTR="$(svn info | grep 'Редакция: ')"
SD2_REVISION="${SD2REVSTR:(-3)}"
Вместо слова 'Редакция: ' попробуй поставить 'Revision: ' иногда svn клиент не полностью русифицирован
И еще измени (-3) на (-4) там уже 4 цифры в номере

Joker 11.03.2010 23:27

при выполнении конфигурации выдает вот это:
Код:

Configuration of MaNGOS 0.16.0 is now complete.

=== configuring in dep/ACE_wrappers (/mangos/objdir/dep/ACE_wrappers)
configure: running /bin/sh ../../../dep/ACE_wrappers/configure --disable-option-checking '--prefix=/server/fan'  '--sysconfdir=/server/fan/etc' '--enable-cli' '--enable-ra' '--datadir=/server/fan' --cache-file=/dev/null --srcdir=../../../dep/ACE_wrappers
../../../dep/ACE_wrappers/configure: line 5: .: filename argument required
.: usage: . filename [arguments]
configure: error: ../../../dep/ACE_wrappers/configure failed for dep/ACE_wrappers

подскажите в чем может быть проблема?
ОС Debian 5.0.4
Ядро 9385

SySt 13.03.2010 05:50

Обновление при помощи git
 
А может кто-нить. написать Мануал на обновление сервера при помощи git'a под Linux? И вообще существует ли легкий способ обновления сервера?

zevgen 14.03.2010 12:21

Цитата:

Сообщение от SySt (Сообщение 1715)
А может кто-нить. написать Мануал на обновление сервера при помощи git'a под Linux? И вообще существует ли легкий способ обновления сервера?

Ставите от сюда http://git-scm.com/ гит, там же на главной читаете с чего начать, выделено двумя блоками. В остальном все windows если вы работали в git bash

AlexSHN 27.03.2010 21:59

Хм..:mda:

вот я в Линуксе новичок...
У меня второй день стоит Ubuntu 9.10 x64.



Когда я начну более менее разбираться в линуксе, какой дистрибутив с упором на производительность мангоса вы бы мне посоветовали?
или достаточно будет сменить сборку ОС с dektop edition на server edition (можете не прежупреждать, я знаю там нет графической оболочки)?

Цитата:

Сообщение от Fer (Сообщение 203)
для ускорения компиляции (у кого более 1 ядра)
PHP код:

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

PHP код:

make install -j n 


Вы забыли sudo, у меня без него не собралось.
:yes3:



И еще, если ставишь второй реалм, как поступить? В другую папку установить? если да, то какой командой.

bsnox 29.03.2010 20:00

Цитата:

Сообщение от AlexSHN (Сообщение 3294)
Хм..:mda:

вот я в Линуксе новичок...
У меня второй день стоит Ubuntu 9.10 x64.



Когда я начну более менее разбираться в линуксе, какой дистрибутив с упором на производительность мангоса вы бы мне посоветовали?
или достаточно будет сменить сборку ОС с dektop edition на server edition (можете не прежупреждать, я знаю там нет графической оболочки)?

Главное отличие в ядре, а не в наличии графической оболочки.
Я одно время держал сервер на рабочей машине, на десктопной кубунте, и при этом играл с этой же машины с людьми из локальной сети, при небольшом онлайне 10+ не замечались какие-либо проблемы :) (Думаю и с большим онлайном бы работало, но у меня сеть небольшая :) )
Если вы уже задумали поднять статический сервер, с http и пр. то лучше будет поставить серверную версию.
Цитата:

Сообщение от AlexSHN (Сообщение 3295)
Вы забыли sudo, у меня без него не собралось.
:yes3:



И еще, если ставишь второй реалм, как поступить? В другую папку установить? если да, то какой командой.

Ну раз вы новичок в линукс... почитайте зачем нужно sudo, и при желании будет собираться без него :)

Сам не поднимал 2 реалма, но думаю достаточно будет собрать 2е ядро, с отличным путем, просто получается что 2 mangosd используют 1н realmd, и не забыть про отдельные базы, как минимум для чаров :)

Chestarfild 30.03.2010 14:58

Замечательный рестартер. Умеет ловить краши, и заливать их на сервисы типа pastle.com. Работает как под мангосом, так и под тринити :)
http://trinity.elegosproject.org/#whatisit2

CyberMan 07.05.2010 15:03

У меня такая трабла:
Код:

make[3]: Entering directory `/server/Mangos-Sources/compile/compile-9825-/objdir/src/game'
  CXX    AccountMgr.o
In file included from ../../../src/game/BattleGround.h:24,
                from ../../../src/game/Group.h:24,
                from ../../../src/game/Player.h:30,
                from ../../../src/game/ObjectAccessor.h:32,
                from ../../../src/game/AccountMgr.cpp:21:
../../../src/game/Map.h:1:7: error: too many decimal points in number
In file included from ../../../src/game/MapReference.h:23,
                from ../../../src/game/Player.h:34,
                from ../../../src/game/ObjectAccessor.h:32,
                from ../../../src/game/AccountMgr.cpp:21:
../../../src/game/Map.h:1:7: error: too many decimal points in number
In file included from ../../../src/game/Player.h:25,
                from ../../../src/game/ObjectAccessor.h:32,
                from ../../../src/game/AccountMgr.cpp:21:
../../../src/game/Item.h:335: error: ‘unit32’ has not been declared
In file included from ../../../src/game/BattleGround.h:24,
                from ../../../src/game/Group.h:24,
                from ../../../src/game/Player.h:30,
                from ../../../src/game/ObjectAccessor.h:32,
                from ../../../src/game/AccountMgr.cpp:21:
../../../src/game/Map.h:1: error: expected unqualified-id before numeric constant
In file included from ../../../src/game/MapReference.h:23,
                from ../../../src/game/Player.h:34,
                from ../../../src/game/ObjectAccessor.h:32,
                from ../../../src/game/AccountMgr.cpp:21:
../../../src/game/Map.h:1: error: expected unqualified-id before numeric constant
make[3]: *** [AccountMgr.o] Error 1
make[3]: Leaving directory `/server/Mangos-Sources/compile/compile-9825-/objdir/src/game'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/server/Mangos-Sources/compile/compile-9825-/objdir/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/server/Mangos-Sources/compile/compile-9825-/objdir'
make: *** [all] Error 2

Использую систему Ubuntu 9.10 x32, использовал все скрипты из скрипта установки. Качал через него же.

AlexSHN 09.05.2010 00:38

Цитата:

Сообщение от Gen1us2k (Сообщение 191)
Будем рассматривать на примере 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
Все. Пакеты поставлены. Надо слить сорсы. Создаем/заходим в папку с сорсами.


Хм, а можете дать название аналогичных пакетов на RedHat дистрибутивах?
В частности, на CentOS 5.4:swoon2:

CruncH 09.05.2010 00:54

Цитата:

Сообщение от AlexSHN (Сообщение 5963)
Хм, а можете дать название аналогичных пакетов на RedHat дистрибутивах?
В частности, на CentOS 5.4:swoon2:

Они все тут имеют одинаковые названия, только такие пакеты как мускул могут имуть различное название пакета, но тут думаю можно догадаться что нужно ставить.
Ну и некоторые программы идут "пачками" в пакетах, и обычно стоят уже в системе, ибо первой необходимости они.

CyberMan 09.05.2010 13:05

Кстати, нужно ещё поставить libtbb-dev, а то будет ошибка при компиле.

Nagano 28.05.2010 15:37

ремени суток, ядро под OC Linux OpenSuse 10.3 получилось собрать, ревизия 9978. Но походу дела понял, что прохлопал очень важный момент "пачканье" ядра ScriptDev2. Почему грешу на это, потому что ни один босс не имеет EventAI скрипта ... Поясните где ошибся плз ...

При этом скачивая svn-ом сорц ScriptDev2 его версия 1700, а патч в ней -> MaNGOS-9519-ScriptDev2.patch ( я так понял для 9519 ревизии ядра, и весит он 2 килобайта). Результат - при компиляции и инсталяции никаких ошибок, но в базах ни один Босс или НПС не проскриптован.
И еще меня очень заинтересовала фраза Сорсы мы слили... Теперь надо их пропатчить хотя бы скриптдевом Чем в принципе нужно патчить ? (просто сведения отрывочные, кто пишет - накатываем 1, кто 50+ вливает, потерялся я ....) Плз объясните как для "жирафа".
ХЕЛП !!!

Astellar 28.05.2010 17:17

Вообще руководство для случая "я в Linux новичок" крайне запутано...

Для получения работоспособного ванильного (читай, не модифицированного) ядра и скриптов достаточно применить MaNGOS-9519-ScriptDev2.patch и провести компиляцию. Описание про "patch -p1 -1 < patch.patch" и т.д. предназначено только для тех, у кого есть свои собственные патчи для ядра/SD2, которых у Вас, как я понял, не наблюдается.

Теперь по поводу скриптов боссов. В creature_template есть колонка ScriptName. SD2 при инициализации регистрирует скрипты, соответственно вывод простой: если в базе скрипт указан и в SD2 он есть, то будет использоваться. EventAI в данном случае ни при чем.

Neggod 28.05.2010 17:31

https://scriptdev2.svn.sourceforge.n...tname_full.sql


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

ru-mangos.ru - Русское сообщество MaNGOS