Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Ответ
 
Опции темы
Старый 25.06.2011, 08:09   #1
 Разведчик
Аватар для Gors
 
Gors никому не известный тип
Регистрация: 23.06.2011
Сообщений: 10
Популярность: 16
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 2 сообщениях
 
По умолчанию [Trinity Core][FreeBSD] Сборка и установка сервера

Как вижу, полного мана по установке trinity на FreeBSD пока нет, ниже попробую это исправить.
Действия проводились на FreeBSD 7.2 stable

В первую чередь нам понадобиться mysql сервер и клиент:

Код:
cd /usr/ports/databases/mysql51-server/ && make install clean
cd /usr/ports/databases/mysql51-client/
В принципе, все должно будет неплохо работать и с конфигом по умолчанию, но если вы намереваетесь использовать русские имена персов, не забудьте в my.cnf в разделе [client] и [mysqld] добавить:
default-character-set=utf8

т.к. по умолчанию из порта мускуль собирается с "default-character-set=latin1", и если не прописать utf8 - вместо имён будет "?????????"

Установка 6ой версии пока не рекомендуется по ряду причин, в частности


Кроме того, частично не совпадает синтаксис запросов, возможно, при установки trinity core это и не всплывет, но на других проектах приведет к проблемам (на моем опыте это был форум SMF)

Для запуска сервера в screen режиме нужно поставить сам скрин:

Код:
cd /usr/ports/sysutils/screen/ && make install clean
Для компиляции я использую gmake, потому, если у вас его нет, ставим из портов:

Код:
cd /usr/ports/devel/gmake/ && make install clean
Исходники мы будем выкачивать при помощи Mercurial

Код:
cd /usr/ports/devel/mercurial/ && make install clean
Для сборки openssl и АСЕ может понадобиться последний libtool

Код:
cd /usr/ports/devel/libtool22/ && make install clean
Кроме того, для сборки будет нужен openssl

Код:
cd /usr/ports/security/openssl/ && make install clean
И...тысяча чертей, АСЕ, версии 5.7.5

Чтобы его установить нам нужно взять вот [Ссылки могут видеть только зарегистрированные пользователи. ]
и вот [Ссылки могут видеть только зарегистрированные пользователи. ]

Содержимым архива заменяем содержимое каталога /usr/ports/devel/ace
далее пробуем сделать make, система выкачает и распакует архив с исходниками и начнет сборку (вдруг нам повезет!), если удача повернулась тылом и выдала ошибку, касаемо pthread, накатываем патч

Код:
cd /usr/ports/devel/ace/work
patch < путь к вышеуказанному патчу/compa_freebsd7.patch
Вероятнее всего спросит, какие файлы патчить: указываем ему полный путь:

/usr/ports/devel/ace/work/ACE_wrappers/ace/OS_NS_signal.inl
и
/usr/ports/devel/ace/work/ACE_wrappers/ace/OS_NS_netdb.inl

повторяем
Код:
cd /usr/ports/devel/ace/
make install
Если все в порядке, после этих действий выходим из под рута.
Идем в свой домашний каталог, создаем там каталог для исходников, заходим в него и запускаем (исходники для версии 3.2.2а, на момент написания)
Код:
hg clone https://trinitycore.googlecode.com/hg/
Ждем, пока они выкачаются
После заходим в каталог исходников и запускаем оттуда скрипт такого вида, параметры конфигурации нужно подобрать под свою систему:

Код:
mkdir build
cd build
cmake ../ -DPREFIX=/opt/mangos/trinity/hg/release \
-DCMAKE_C_FLAGS="-O2" \
-DCMAKE_CXX_FLAGS="-O2" -DDO_DEBUG=0 -DDO_SCRIPTS=true \
-DCMAKE_DFD_SETSIZE=4096 -DLARGE_CELL=0 -DSHORT_SLEEP=1 \
-DCMAKE_C_FLAGS="-march=prescott -m64 -D_LARGEFILE_SOURCE \
-D_FILE_OFFSET_BITS=64 -O2 -pipe -pipe -msse3 -fomit-frame-pointer \
-ffast-math -fno-strength-reduce -fno-strict-aliasing -frename-registers"
#cd build
#gmake install
Стоит заметить, что строчки после cmake определяют параметры конфигурации сборки для вашей системы, параметры эти на всех никсах одинаковые, так что можем невозбранно утащить их из [Ссылки могут видеть только зарегистрированные пользователи. ]

Правда при том, что openssl и ACE у нас установлены в системные директории, нам не нужно указывать конфигуратору где их искать, и строки

Код:
-DACE_LIBRARY=~/.sys/lib/libACE.so -DACE_INCLUDE_DIR=~/.sys/include/ -DSSLLIB=~/.sys/lib/libssl.so
мы выбрасываем

Вероятно вы заметили отличие в О3/О2 - эти параметры отвечают за степень оптимизации, причем стабильной считается О2, будем собирать с ней.

Этот скрипт после конфигурации сразу же начнет сборку, если вам это не нужно, комментируем последние две строчки.

Результат наших трудов будет сохранен в каталог, указанный в -DPREFIX=

Проверяем этот каталог, если видим там папку bin с 2мя файлами trinity-core и trinity-realm, можно себя поздравить.

Стандартные конфиги лежат в etc/редактируем их под себя.

Для удобства запуска в папку с бинарниками можно бросить вот такие скрипты:

core.sh:

Код:
#!/bin/sh
while true ; do
servlog='путь к логу сервера, указанный в конфиге, включая имя файла лога';
outpath='путь к папке, в которую будем сохранять крашлог';
date=`date "+%Y-%m-%d_%H:%M:%S"`;
echo "Server CRASHED !!! Start Bugreport System." >> $outpatch$date.txt;
echo "Server.log Log FILE Last 30 Lines:" >> $outpatch$date.txt;
cat $servlog | tail -n 30 >> $outpath$date.txt;
echo "" >> $outpatch$date.txt;
echo "END bugtracker system." >> $outpatch$date.txt;
/путь к бинарникам/bin/trinity-core -c ../etc/trinitycore.conf #указывает расположение файла конфигурации
done
Т.К. Риалм сервер падает в разы меньше и по более очевидным причинамм, столь страшный скрипт для него не нужен.

realm.sh:

Код:
#!/bin/sh
while true ; do
echo `date` ", Realm daemon crashed and restarted." >> /путь куда сохранять краш лог/realmcrash.log
/путь к бинарникам/bin/trinity-realm -c ../etc/trinityrealm.conf
done

start.sh:

Код:
screen -AmdS world /путь к скрипту/core.sh
screen -AmdS realm /путь к скрипту/realm.sh
start.sh готов к тому, чтобы занести его, например в /etc/rc.d
тогда он будет автоматом запускать тринити после старта сервера.

Скрипты core.sh и realm.sh - авторестарт в случае падения.
core.sh записывает последние 30 строк из лога сервера в указанную папку

В составлении мана помогли отзывы по сборке АСЕ, ман сборке под линукс, и старые маны по мангосу.
________________
/root
  Ответить с цитированием
Ответ

Опции темы

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Trinity Core] Сборка ssl под linux Gors World of Warcraft 0 25.06.2011 08:07
[Trinity Core]YTDB for Trinity / релизы Gors World of Warcraft 0 23.06.2011 10:53
[Руководство] Компиляция Сервера Trinity Core под Linux Gors World of Warcraft 0 23.06.2011 06:12
[Freya] Сборка сервера L2jServer (Core.4508 DP.7805) Letitbe123 Сборки серверов 0 01.03.2011 22:47
Сборка сервера L2jServer Core.4498 DP.7783 Letitbe123 Сборки серверов 0 11.02.2011 10:21

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 14:23.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net