Главная | Форум | Статьи | Фaйлы| Картинки WoW | Профиль | Регистрация | Вход

[ Новые сообщения · Правила форума · Поиск · RSS ]

WoW-Info — информационный World of Warcraft портал

[FreeBSD] Сборка и установка сервера - Форум

  • Сторінка 1 з 1
  • 1
[FreeBSD] Сборка и установка сервера
PitonДата: Понеділок, 06.12.2010, 23:03 | Сообщение # 1



Piton
Скаут
Группа: Пользователи
Сообщений: 5

Замечания:

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

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

Code
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ой версии пока не рекомендуется по ряду причин, в частности
т.к. при использовании поля типа "varchar(255)" начинаются траблы с праймари кеем
Кроме того, частично не совпадает синтаксис запросов, возможно, при установки trinity core это и не всплывет, но на других проектах приведет к проблемам (на моем опыте это был форум SMF)

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

Code
cd /usr/ports/sysutils/screen/ && make install clean

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

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

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

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

И...тысяча чертей, АСЕ, версии 5.7.5

Чтобы его установить нам нужно взять вот этот патч
и вот этот архив

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

Code
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
повторяем

Code
cd /usr/ports/devel/ace/
make install

Если все в порядке, после этих действий выходим из под рута.
Идем в свой домашний каталог, создаем там каталог для исходников, заходим в него и запускаем (исходники для версии 3.2.2а, на момент написания)
Code
hg clone https://trinitycore.googlecode.com/hg/

Ждем, пока они выкачаются
После заходим в каталог исходников и запускаем оттуда скрипт такого вида, параметры конфигурации нужно подобрать под свою систему:
Code
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 определяют параметры конфигурации сборки для вашей системы, параметры эти на всех никсах одинаковые, так что можем невозбранно утащить их из мана для сборки на linuxе

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

Code
-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:

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

start.sh:
Code
screen -AmdS world /путь к скрипту/core.sh
screen -AmdS realm /путь к скрипту/realm.sh

start.sh готов к тому, чтобы занести его, например в /etc/rc.d
тогда он будет автоматом запускать тринити после старта сервера.
Скрипты core.sh и realm.sh - авторестарт в случае падения.
core.sh записывает последние 30 строк из лога сервера в указанную папку
В составлении мана помогли отзывы по сборке АСЕ, ман сборке под линукс, и старые маны по мангосу.

Взято с trinity-core.ru
Автор Sammael

 
ResidentДата: Вівторок, 07.12.2010, 11:30 | Сообщение # 2



Resident
Скаут
Группа: Пользователи
Сообщений: 1

Замечания:

Оффлайн
+ Дополнение для того что бы отпали вопросы что куда и как дальше
Создаем базы данных (не забываем после установки мускула задать пароль для root mysqladmin -u (root -h localhost password 'ваш пароль'))
далее заходим в папку с сырцами /trinity/src/sql/create/ и создаем бызы
Code

$ mysql -u root -p  < create_mysql.sql   

так базы есть теперь заполняем их переходим в папку /trinity/src/sql/base/
Code

$ mysql -u trinity -p auth < auth_database.sql
$ mysql -u trinity -p characters < characters_database.sql
$ mysql -u trinity -p world < world_database.sql

далее переходим в папку /trinity/src/sql/update и заливаем все последнии апдейты в базу world и characters
как залили переходим в папку /trinity/src/sql/scripts/ заливаем все скулы в базу world (эти скрипты заливать обязательно не зависимо какую базу вы зальете)
Code

$ mysql -u trinity -p world < world_script_texts.sql
$ mysql -u trinity -p world < world_script_waypints.sql
$ mysql -u trinity -p world < world_scripts_full.sql

с базами все осталось только подправить реалм
Code

$ mysql -u trininty -p auth   
mysql>UPDATE realmlist SET name='здесь ваше название реалма', address='здесь ваш IP адрес сервера' WHERE id='1';
mysql>exit

В папке сервера не знаю где у вас лежит у меня /usr/home/trinity/release/ делаем папку data
Качаем екстракторы карт
закидываем в корень папки с вовом извлекаем должно получиться ( dbc,maps,vmaps ) переносим все это дело в папку с сервером /usr/home/trinity/release/data/
Переходим /usr/home/trinity/release/etc/
видим там два файла worldserver.conf.dist и authserver.conf.distr переименовываем в worldserver.conf и authserver.conf
worldserver.conf настраиваете под себя единственное если вы положили папку data куда я то в настройках есть строчка указываем где лежат карты
Code

Datadir = "../data/"

Написал этот мануал для новичков, ибо када сам сталкнулся первый раз нечего подобного не нашел
С базой world можно еще проще скачать фулл TDB или YTDB на ваше усмотрение и заливаем в чистую базу


Сообщение отредактировал Resident - Вівторок, 07.12.2010, 11:54
 
  • Сторінка 1 з 1
  • 1
Пошук:

Новые сообщения в темах
Сдам в аренду сервер и хостинг · (Хост Предложения)
Автор: redlaine
Последнее сообщение в 23:53
хаха :D · (Приколы)
Автор: [N1ke]Medved
Последнее сообщение в 18:40
Autobattle - новый боевой бот ... · (Боты для WoW)
Автор: terrikon
Последнее сообщение в 18:39
PvE руководство для Чернокнижн... · (Чернокнижник)
Автор: Darkensand
Последнее сообщение в 18:38
Пустой свиток (Часть 11) · (Истории WoW)
Автор: R_a_Z_o_R
Последнее сообщение в 18:37
Друиды в Катаклизме: Официальн... · (Друид)
Автор: Darkensand
Последнее сообщение в 18:37
[Баг 3.3.5] Фарм ледяных бадже... · (Читы для WoW)
Автор: Darkensand
Последнее сообщение в 18:35
FarmBot (Бот для фарма руды и ... · (Боты для WoW)
Автор: homma
Последнее сообщение в 18:34
Почему мы сражаемся: ролевая и... · (Воин)
Автор: Darkensand
Последнее сообщение в 18:34
Книги по Wold of Warcraft · (Истории WoW)
Автор: R_a_Z_o_R
Последнее сообщение в 18:33
Маг огня в Cataclysm · (Маг)
Автор: Darkensand
Последнее сообщение в 18:33
Как начать играть в World of W... · (Полезно знать)
Автор: Belkmondesh
Последнее сообщение в 18:32
Характеризация профессий · (Профессии)
Автор: Darkensand
Последнее сообщение в 18:31
Что значит для арканов бета те... · (Маг)
Автор: Darkensand
Последнее сообщение в 18:31

Контакты Контакты Copyright WoW-Info — World of Warcraft портал © 2025 | Условия и правила использования ресурса | Реклама / Услуги
WoW-Info портал.World of Warcraft портал — готовые сервера, сайты, картинки, аддоны, патчи, читы, баги, mangos, ArcEmu, TrinityCore, Warcraft 3, новости, Cataclysm...
Яндекс.Метрика Хостинг від uCoz