И так, для начала установка требуемых пакетов:
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:
Code
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:
Code
Качаем исходники:
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
Виды конфигураций:
Стандартный вид конфигурации:
Code
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.
Code
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 битную систему:
Code
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 битную систему:
Code
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 битную систему:
Code
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 битную систему:
Code
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 со следующим содержимым:
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 #указывает расположение файла конфигурации
don
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
ВАЖНО: делаем файлы исполняемыми:
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
Code
Лежит в /бин и называется start, а сервер запускается очень просто $ start fun Такой же и для остановки сервера. Работает так же $ stop blizz
Внимание! Для тех, кто компилит на CentOS
Вам нужно установить 2 пакета.
yum install gcc44 gcc44-c++
После их установки - вы должны указать следующие флаги конфигурации:
-CC=/usr/bin/gcc44 -CXX=/usr/bin/g++44 -DCENTOS=ON
P.s Создал тему из 2-х закрепленных мануалов - новичок вряд-ли что то поймет.