• Страница 1 из 1
  • 1
Архив - только для чтения
Модератор форума: andycrowz  
Форум » Корзина форума » Корзина » [MANUAL] Компиляция TrinityCore под linux
[MANUAL] Компиляция TrinityCore под linux
Vicher
Admin
И так, для начала установка требуемых пакетов:
Debian Based systems:
Code

sudo apt-get install build-essential autoconf libtool gcc g++ make cmake subversion mercurial patch wget links zip unzip unrar
sudo apt-get install openssl libssl-dev mysql-server mysql-client libmysqlclient15-dev libmysql++-dev libreadline5-dev zlib1g-dev libbz2-dev

RedHat based systems:
Code

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

Устанавливаем ACE:

Quote

1. Качаем и разархивируем:
wget http://download.dre.vanderbilt.edu/previous_versions/ACE-5.8.1.tar.gz
tar xvzf ACE-5.8.1.tar.gz

2. Подготавливаем исходники ACE к компиляции:
cd ACE_wrappers //Переходим в корневую папку исходников
mkdir build //делаем в ней папку build и
cd build //переходим в нее
../configure --prefix=/home/trinity/.sys/ //делаем конфигурацию( вместо пути который указан тут,ты можешь указать любой свой)

3. Компилируем:
make //начать компилировать
make install // вводим после make, для установки уже скомпилированных библиотек в то место которое вы указали в префиксе при конфигурации

ну и потом при выполнении cmake,указываем место куда вы установили библиотеки:
#Данную строку добавляем в комманду cmake, для подключения библиотек в конфигурацию:
-DACE_LIBRARY=/home/trinity/.sys/lib/libACE.so -DACE_INCLUDE_DIR=/home/trinity/.sys/include/

Установка openssl:

Quote

Качаем исходники:
wget http://www.openssl.org/source/openssl-1.0.0a.tar.gz

Распаковываем:
tar -xvzf openssl-1.0.0a.tar.gz

Переходим в папку:
cd openssl-1.0.0a

Создаем папку build и переходим в неё:
mkdir build && cd build

Настраиваем, куда установятся библиотеки:
./config --prefix=/home/trinity/.sys shared

Далее:
make
make install

Дальше к команде при компиляции trinity, к cmake добавляем:
-DSSLLIB=/home/trinity/.sys/lib/libssl.so

http://packages.debian.org/squeeze/openssl

Качаем исходники:
hg clone https://trinitycore.googlecode.com/hg/

В папке с исходниками создаем папку build и переходим в неё:
mkdir build && cd build

Виды конфигураций:

Стандартный вид конфигурации:

Quote
cmake ../ -DCMAKE_C_FLAGS="-O3 -pipe" -DCMAKE_CXX_FLAGS="${CMAKE_C_FLAGS}" -DDO_RA=1 -DLARGE_CELL=1 -DPREFIX=/home/trinity/release

Конфигурация для процессоров Athlon 64, линукс 64.

Quote

cmake ../ -DPREFIX=/home/trinity/release -DCMAKE_C_FLAGS="-O3" -DCMAKE_CXX_FLAGS="-O3" -DDO_DEBUG=0 -DDO_SCRIPTS=true -DCMAKE_DFD_SETSIZE=4096 -DLARGE_CELL=0 -DSHORT_SLEEP=1 -DCMAKE_C_FLAGS="-march=k8-m64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O3 -pipe -pipe -msse3 -fomit-frame-pointer -ffast-math -fno-strength-reduce -fno-strict-aliasing -frename-registers" -DCMAKE_CXX_FLAGS="${CMAKE_C_FLAGS}" -DACE_LIBRARY=/home/trinity/.sys/lib/libACE.so -DACE_INCLUDE_DIR=/home/trinity/.sys/include/ -DSSLLIB=/home/trinity/.sys/lib/libssl.so

Конфигурация для онлайна ~1000, оптимизация под процессоры семейства Intel Quad/Core 2 duo и 32 битную систему:

Quote
cmake ../ -DPREFIX=/home/trinity/release -DCMAKE_C_FLAGS="-O3" -DCMAKE_CXX_FLAGS="-O3" -DDO_DEBUG=0 -DDO_SCRIPTS=true -DCMAKE_DFD_SETSIZE=4096 -DLARGE_CELL=0 -DSHORT_SLEEP=1 -DCMAKE_C_FLAGS="-march=prescott -m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=32 -O3 -pipe -pipe -msse3 -fomit-frame-pointer -ffast-math -fno-strength-reduce -fno-strict-aliasing -frename-registers" -DCMAKE_CXX_FLAGS="${CMAKE_C_FLAGS}" -DACE_LIBRARY=/home/trinity/.sys/lib/libACE.so -DACE_INCLUDE_DIR=/home/trinity/.sys/include/ -DSSLLIB=/home/trinity/.sys/lib/libssl.so

Конфигурация для онлайна ~1000, оптимизация под процессоры семейства Intel Xeon и 32 битную систему:

Quote
cmake ../ -DPREFIX=/home/trinity/release -DCMAKE_C_FLAGS="-O3" -DCMAKE_CXX_FLAGS="-O3" -DDO_DEBUG=0 -DDO_SCRIPTS=true -DCMAKE_DFD_SETSIZE=4096 -DLARGE_CELL=0 -DSHORT_SLEEP=1 -DCMAKE_C_FLAGS="-march=nocona-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=32 -O3 -pipe -pipe -msse3 -fomit-frame-pointer -ffast-math -fno-strength-reduce -fno-strict-aliasing -frename-registers" -DCMAKE_CXX_FLAGS="${CMAKE_C_FLAGS}" -DACE_LIBRARY=/home/trinity/.sys/lib/libACE.so -DACE_INCLUDE_DIR=/home/trinity/.sys/include/ -DSSLLIB=/home/trinity/.sys/lib/libssl.so

Конфигурация для онлайна ~1000, оптимизация под процессоры семейства Intel Quad/Core 2 duo и 64 битную систему:

Quote
cmake ../ -DPREFIX=/home/trinity/release -DCMAKE_C_FLAGS="-O3" -DCMAKE_CXX_FLAGS="-O3" -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 -O3 -pipe -pipe -msse3 -fomit-frame-pointer -ffast-math -fno-strength-reduce -fno-strict-aliasing -frename-registers" -DCMAKE_CXX_FLAGS="${CMAKE_C_FLAGS}" -DACE_LIBRARY=/home/trinity/.sys/lib/libACE.so -DACE_INCLUDE_DIR=/home/trinity/.sys/include/ -DSSLLIB=/home/trinity/.sys/lib/libssl.so

Конфигурация для онлайна ~1000, оптимизация под процессоры семейства Intel Xeon и 64 битную систему:

Quote
cmake ../ -DPREFIX=/home/trinity/release -DCMAKE_C_FLAGS="-O3" -DCMAKE_CXX_FLAGS="-O3" -DDO_DEBUG=0 -DDO_SCRIPTS=true -DCMAKE_DFD_SETSIZE=4096 -DLARGE_CELL=0 -DSHORT_SLEEP=1 -DCMAKE_C_FLAGS="-march=nocona-m64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O3 -pipe -pipe -msse3 -fomit-frame-pointer -ffast-math -fno-strength-reduce -fno-strict-aliasing -frename-registers" -DCMAKE_CXX_FLAGS="${CMAKE_C_FLAGS}" -DACE_LIBRARY=/home/trinity/.sys/lib/libACE.so -DACE_INCLUDE_DIR=/home/trinity/.sys/include/ -DSSLLIB=/home/trinity/.sys/lib/libssl.so

Флаги компиляции и их описание:

Code

DO_MYSQL -- поддержка MYSQL (для включения поддержки 1 для отключения 0, по умолчанию включено)
DO_POSTGRESQL -- поддержка POSTGRESQL (для включения поддержки 1 для отключения 0)
DO_SCRIPTS -- активация поддержки trinity script (для включения поддержки 1 для отключения 0, по умолчанию включено)
DO_RA -- Включение Ремоут Консоли RA (для включения поддержки 1 для отключения 0
DO_DEBUG -- Сборка в дебаг режиме (для включения поддержки 1 для отключения 0)
DO_CLI -- Включение CLI (для включения поддержки 1 для отключения 0, по умолчанию включено)
LARGE_CELL -- Включение большого размера ячейки (для включения поддержки 1 для отключения 0)
SHORT_SLEEP -- Изменение мин задержки, используйте 1
PREFIX -- дирректория установки
CONF_DIR -- директория файлов конфигурации тринити
CMAKE_C_FLAGS -- Для продвинутых юзеров                         
CMAKE_CXX_FLAGS -- Для продвинутых юзеров

После конфигурации - выполняем сборку:
make -j n (где n - число ядер процессора + 1, для 4 ядерного цп используйте -j 5)
make install -j n (где n - число ядер процессора + 1, для 4 ядерного цп используйте -j 5)

если вы хотите выполнить настройку cmake не в таком виде, а каждый флаг по отдельности - то напишите cmake ../ -i и ответьте yes.
С вопросами по настройке на RedHat based системах - в лс

Рестартер:
устанавливаем screen:
sudo aptitude install screen

Создаем файл core.sh со следующим содержимым:

Quote

#!/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:

Quote

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

ВАЖНО: делаем файлы исполняемыми:
chmod +x /путь_к_файлу/
пример: chmod +x /root/realm.sh
Нужно сделать ОБА файла исполняемыми.

Для запуска я использую команды:
screen -AmdS realm /путь_к_realm/realm.sh
screen -AmdS world /путь_к_world/world.sh

Скрипт запуска от iUnro(Внимание! Это не готовый рестартер, это скрипт запуска самих рестартеров):

Code

#!/bin/bash        
fun (){        
/opt/.run/start && echo "Booting..." && return 0        
}        
crazy () {        
/opt/.run/funstart && echo "Booting..." && return 0        
}        
blizz () {        
/opt/.run/bstart && echo "Booting..." && return 0        
}        
case "$1" in        
fun) fun ;;        
crazy) crazy ;;        
blizz) blizz ;;        
*) echo $"Usage: $0 (fun|crazy|blizz)"        
exit 1        
esac

Quote (iUnro)
Лежит в /бин и называется start, а сервер запускается очень просто $ start fun Такой же и для остановки сервера. Работает так же $ stop blizz

Часть взята отсюда, часть(большая) отсюда, часть отсюда!

Внимание! Для тех, кто компилит на CentOS
Вам нужно установить 2 пакета.
yum install gcc44 gcc44-c++

После их установки - вы должны указать следующие флаги конфигурации:
-CC=/usr/bin/gcc44 -CXX=/usr/bin/g++44 -DCENTOS=ON

п.с. создал тему, ибо не нашел НОРМАЛЬНОГО мануала. Из 2-х закрепленных мануалов - новичок вряд-ли что то поймет.
Если же такая тема уже есть или же в теме нет смысла - просто удалите её.

Сообщение # 1 отредактировано Vicher - Четверг, 02.09.2010, 13:04
Форум » Корзина форума » Корзина » [MANUAL] Компиляция TrinityCore под linux
  • Страница 1 из 1
  • 1
Поиск: