|
Установка MaNGOS Установка MaNGOS |
|
Опции темы | Поиск в этой теме | Опции просмотра |
07.03.2010, 10:55 | #1 | |
RMDC Donator
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
|
[Гайд] Компиляция 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/ Патчинг Сорсы мы слили... Теперь надо их пропатчить хотя бы скриптдевом //обычно на этом моменте я копирую сорсы в ~/Sources/compile Чтобы пропатчить скриптдевом, достаточно ввести следующее Код:
cd ~/Sources/mangos/ Код:
cd ~/Sources/compile патчим сорсы мангоса скриптдевом Код:
git am src/bindings/ScriptDev2/patches/MaNGOS-* Код:
git apply < src/bindings/ScriptDev2/patches/MaNGOS-* Далее. У нас есть некоторые патчи, чтобы пропатчить ими сорсы мангоса вводим Код:
cd mangos patch -p1 -l < patch.patch Код:
cd src/bindings/ScriptDev2 patch -p0 -l < patch.patch Компиляция Первое Код:
autoreconf -fvi && mkdir objdir && cd objdir Код:
../configure --prefix=/opt/mangos --sysconfdir=/opt/mangos/etc --enable-cli --enable-ra --datadir=/opt/mangos Код:
make Цитата:
Код:
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 Код:
#!/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. ЗЫ: Предложения по дополнению мана приветствуються Порты 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. |
|
07.03.2011, 11:19 | #81 | |
Ученый
Регистрация: 02.04.2010
Сообщений: 237
Сказал(а) спасибо: 41
Поблагодарили 99 раз(а) в 44 сообщениях
|
Не думал что на cmake так тядело будет собирать.
Цитата:
__________________
SpellWork Qt4 |
|
24.05.2011, 19:45 | #82 |
Новичок
Регистрация: 24.05.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Доброго времени суток!
Система: Ubuntu 10.10 (x32) После успешного $root@:/home/mangos/mangos/build# cmake ../ -DPREFIX=/home/mangos/mangos - DPCH=1 -DACE_USE_EXTERNAL=0 - DDEBUG=1) При компиляции возникла такая ошибка: Выполняю: $root@make заканчивается так: Код HTML:
/home/mangos/mangos/src/game/GridNotifiers.h: In member function ‘bool MaNGOS::NearestCreatureEntryWithLiveStateInObjectRangeCheck::operator()(Creature*)’: /home/mangos/mangos/src/game/GridNotifiers.h:1137: warning: suggest parentheses around ‘&&’ within ‘||’ In file included from /home/mangos/mangos/src/game/GridNotifiersImpl.h:28, from /home/mangos/mangos/src/game/Camera.cpp:20: /home/mangos/mangos/src/game/SpellAuras.h: At global scope: /home/mangos/mangos/src/game/SpellAuras.h:448: warning: type qualifiers ignored on function return type Linking CXX static library libgame.a ***91; 64% ***93; Built target game make: *** ***91;all***93; Ошибка 2 До этого была ошибка : Код HTML:
make***91;2***93;: *** ***91;dep/ACE_wrappers/ACE_Project-prefix/src/ACE_Project-stamp/ACE_Project-configure***93; Ошибка 126 make: *** Ошибка 2 ---------------- Попробовал выполнить команду по выдачи прав на файлы так: chmod -R 777 *.* Теперь выдаёт ошибку так: Код HTML:
/home/mangos/mangos/src/game/GridNotifiers.h: In member function ‘bool MaNGOS::NearestCreatureEntryWithLiveStateInObjectRangeCheck::operator()(Creature*)’:
/home/mangos/mangos/src/game/GridNotifiers.h:1137: warning: suggest parentheses around ‘&&’ within ‘||’
In file included from /home/mangos/mangos/src/game/GridNotifiersImpl.h:28,
from /home/mangos/mangos/src/bindings/ScriptDev2/include/sc_grid_searchers.h:14,
from /home/mangos/mangos/build/src/bindings/ScriptDev2/precompiled.h:11,
from <command-line>:0:
/home/mangos/mangos/src/game/SpellAuras.h: At global scope:
/home/mangos/mangos/src/game/SpellAuras.h:448: warning: type qualifiers ignored on function return type
/home/mangos/mangos/src/bindings/ScriptDev2/scripts/outland/black_temple/boss_bloodboil.cpp:110: warning: unused parameter ‘who’
/home/mangos/mangos/src/bindings/ScriptDev2/scripts/outland/black_temple/boss_bloodboil.cpp:118: warning: unused parameter ‘victim’
/home/mangos/mangos/src/bindings/ScriptDev2/scripts/outland/black_temple/boss_bloodboil.cpp:123: warning: unused parameter ‘victim’
***91; 67%***93; Built target mangosd
make***91;1***93;: *** ***91;src/bindings/ScriptDev2/CMakeFiles/mangosscript.dir/all***93; Ошибка 2
make: *** ***91;all***93; Ошибка 2
Применил скрипт MaNGOS-11167-ScriptDev2.patch командой git am ... а не git apply < Тонкостей пока что не знаю, почему так получается. Буду учиться дальше Последний раз редактировалось kolob204; 25.05.2011 в 11:31. |
31.05.2011, 18:48 | #83 |
Новичок
Регистрация: 24.05.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Ubuntu Server:
MaNGOS/ (* * Revision 11504 - *) for Linux_x32 (little-endian) Получена редакция ScriptDev2 1994 YTDB_0.14.2_R590_ManGos_R11278_SD2_R2003_ACID_R308 _RuDB_38.8 Windows client: 3.3.5 Build 12340 RUS Проблема с экстратом карт. Скопировал файлы из /mangoscontrib: ad.exe make_vmaps.bat makevmaps_SIMPLE.bat vmap_assembler.exe vmapextractor.exe В Windows клиент. AD.exe нормально отрабатал, создав дирректории DBC и MAPS. vMAPS - неполучилось создать. Даже Buildings! Качал различные экстракторы под версию 3.3.5 - максимум получилось Buildings сгенерить. VMAPS из Building так и не создался (( Пишет - ERROR читайте LOG.TXT - которого нигде нет. Даже тупо поиск по всем дискам даже не помог ))) Попробовал запустить без vmaps: Скопировал полученные DBC и MAPS в /home/mangos/mangos/bin. Отредактировал файл etc/mangosd.conf Код HTML:
DataDir = "/home/mangos/mangos/bin" ..... vmap.enableLOS = 0 vmap.enableHeight = 0 vmap.ignoreSpellIds = "7720" vmap.enableIndoorCheck = 0 DetectPosCollision = 0 Код HTML:
Loading InstanceTemplate... ***91;0 ms***93; SQL: SELECT MAX(map) FROM instance_template ***91;0 ms***93; SQL: SELECT COUNT(*) FROM instance_template ***91;0 ms***93; SQL: SELECT * FROM instance_template Error in instance_template table, probably sql file format was updated (there should be 5 fields in sql). А именно: 1. Посмотрел ревизию Мангос: 11504 2. Сравнил с YTDB - 11278 3. В каталоге /mangos/sql/updates нашёл ближайшее обновление, с которого стоило бы начать: 10286_01_mangos_creature_addon.sql В итоге мне выдавались сообщения, что нужен предыдущее обновление...и так примерно до /mangos/sql/updates/0.9 Ну да ладно, проблема встала в другом: В папках начиная с /mangos/sql/updates/0.10 по /mangos/sql/updates/0.16 имена SQL файлов написаны по формату (РЕВИЗИЯ_БД_ТАБЛИЦА) а те что раньше...например 3141_spell_threat.sql - КУДА ЕЁ ПХАТЬ??? КРАТКО ВОПРОСЫ: 1. Можно ли извлечь VMAPS на русском клиенте 3.3.5 Build 12340 RUS? 2. Как определить, в какую базу заливать подобные обновления: 3141_spell_threat.sql ? У которых нет в имени файлы - ИМЕНИ БАЗЫ? Может у кого список соответствия есть? |
31.05.2011, 19:14 | #84 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
КРАТКО ОТВЕТЫ:
1. Взял русский клиент 12340, взял из каталога vmap_extract_assembler_bin все файлы, положил в корень игры - запустил - все извлекается. 2. Открыл базу и посмотрел таблицу db_version. Открыл форум базы и посмотрел все обновления. 2.а. Если у вас не эти исходники - обратитесь к автору форка. Последний раз редактировалось NeatElves; 31.05.2011 в 19:53. |
31.05.2011, 20:05 | #86 |
Forum bot
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
|
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
01.06.2011, 00:18 | #87 |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
РО - неделя, за тупой вопрос, ответ на который есть на форуме.
|
Пользователь сказал cпасибо: | tempura (01.06.2011) |
16.07.2011, 03:28 | #88 |
Гость
Сообщений: n/a
|
Здравствуйте, уважаемые знатоки! :-)
У меня проблема: всё делаю по гайду, нет никаких ошибок, но после сборки (cmake ../ -DPREFIX=/opt/mangos -DPCH=1 -DACE_USE_EXTERNAL=1 -DDEBUG=0 -DTBB_USE_EXTERNAL=0), компиляции (make) и установки (make install) вижу, что в папке /opt/mangos/bin отсутствуют файлы mangos-worldd и mangos-realmd. Насколько я понял, запускать нужно с помощью них. Не подскажите где я мог ошибиться? Никто не сталкивался с такой проблемой? Есть предположение, что я неправильно пропатчил SC2, т.к. при вводе команды git apply src/bindings/ScriptDev2/patches/MaNGOS-11167-ScriptDev2.patch был пустой ответ. PS: машина Debian 6 Последний раз редактировалось Kohver; 16.07.2011 в 14:25. Причина: UPD |
16.07.2011, 10:01 | #89 | |
Гость
Сообщений: n/a
|
Цитата:
|
|
16.07.2011, 14:05 | #90 |
Гость
Сообщений: n/a
|
|
16.07.2011, 23:58 | #91 |
Гость
Сообщений: n/a
|
извиняюсь. Пересмотрел ваш скрин.
В папке bin у вас есть mangosd - это новое название mangos-worldd и realmd - это новое название mangos-realmd их то и нужно запускать. Последний раз редактировалось NarkoHeal; 17.07.2011 в 00:02. |
Пользователь сказал cпасибо: |
28.01.2012, 15:32 | #95 |
Гость
Сообщений: n/a
|
|
19.05.2012, 08:27 | #97 |
Новичок
Регистрация: 31.03.2010
Сообщений: 17
Сказал(а) спасибо: 4
Поблагодарили 8 раз(а) в 4 сообщениях
|
Рекомендую собирать на фре
Из неё можно выжать значительно больше чем с линукса ))) Можно даже ядро под мангос собрать, вырезав всё лишнее, получиться mangosBSDfreeOS |
19.05.2012, 09:04 | #98 |
Гость
Сообщений: n/a
|
А ядро linux собрать нельзя под сервер?
И на FreeBSD таки случаются курьезы с ACE. |
23.05.2012, 21:40 | #99 |
Новичок
Регистрация: 31.03.2010
Сообщений: 17
Сказал(а) спасибо: 4
Поблагодарили 8 раз(а) в 4 сообщениях
|
Можно конечно )) но немного накладнее.
С асей курьёз особых незамечал. Пробывал на убунте... не впечатлила производительность , на фре летает побыстрее. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[Гайд] Компиляция 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 |