Установка TrinityCore. Компиляция, пакеты. Запуск сервера.

Аватара пользователя
wlasser
Супермодератор
Супермодератор
Сообщения: 23
Контактная информация:

Установка TrinityCore. Компиляция, пакеты. Запуск сервера.

Сообщение#1 » 11 янв 2016, 17:06

Всем привет!

Сегодня мы будем устанавливать TrinityCore. В этой статье я по минимуму коснусь всех аспектов установки.

Начнем с пакетов:

Debian подобные дистрибутивы:


Код: Выделить всё

sudo apt-get install build-essential autoconf libtool gcc g++ make cmake git-core 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 screen

Если у вас Debian и вы зашли "под root'ом", то sudo не нужно, просто apt-get.


RedHat подобные дистрибутивы:

Код: Выделить всё

yum groupinstall "development tools"
yum groupinstall "development libraries"
yum install gcc-g++ mercurial git-core wget links zip unzip unrar
yum install mysql-server mysql-client mysql-devel
yum install openssl


Если в вашем дистрибутиве не установлен пакет - cmake, то:

Код: Выделить всё

yum install cmake


Далее нам понадобиться ACE:

ВАЖНО! Для установки ACE вы должны войти как root или иметь его права.


Загружаем ACE:


Код: Выделить всё

wget http://download.dre.vanderbilt.edu/previous_versions/ACE-6.0.0.tar.gz
Распаковываем и переходим в каталог с исходниками:
tar xvzf ACE-6.0.0.tar.gz
cd ACE_wrappers/
mkdir build
cd build
Локальная установка, в определенное место:
../configure --prefix=/home/<username>/.sys/ (можно указать любое место, главное не забыть потом куда поставили :crazy:.)
make
make install
Глобальная установка:
../configure
make
sudo make install (если вы находитесь под root пользователем, sudo не требуется )


Далее нам понадобиться OpenSSL:
Debian(ubuntu):

x32

Код: Выделить всё

wget ftp://ftp.debian.org/debian/pool/main/o/openssl/libssl-dev_1.0.0c-2_i386.deb
wget ftp://ftp.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.0c-2_i386.deb
wget ftp://ftp.debian.org/debian/pool/main/o/openssl/openssl_1.0.0c-2_i386.deb
sudo dpkg -i libssl1.0.0_1.0.0c-2_i386.deb
sudo dpkg -i openssl_1.0.0c-2_i386.deb
sudo dpkg -i libssl-dev_1.0.0c-2_i386.deb


x64

Код: Выделить всё

wget ftp://ftp.debian.org/debian/pool/main/o/openssl/libssl-dev_1.0.0c-2_amd64.deb
wget ftp://ftp.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.0c-2_amd64.deb
wget ftp://ftp.debian.org/debian/pool/main/o/openssl/openssl_1.0.0c-2_amd64.deb
sudo dpkg -i libssl1.0.0_1.0.0c-2_amd64.deb
sudo dpkg -i openssl_1.0.0c-2_amd64.deb
sudo dpkg -i libssl-dev_1.0.0c-2_amd64.deb


Прочие дистрибутивы:

Код: Выделить всё

Скачиваем:
wget http://openssl.org/source/openssl-1.0.0с.tar.gz
tar -xvf openssl-1.0.0с.tar.gz
cd openssl-1.0.0с
Устанавливаем
./config --prefix=/home/<username>/.sys shared
make
make install


Далее загружаем исходный код тринити:

Код: Выделить всё

cd /home/source/(директория указанная в данном случае не является обязательной)
git clone git://github.com/TrinityCore/TrinityCore.git


По умолчанию вы будете использовать ветку 6.х, т.е WoD.
Для перехода в ветку 3.3.5 используем следующую команду Git:

Код: Выделить всё

git checkout -b 3.3.5 origin/3.3.5

Для перехода обратно в 6.х:

Код: Выделить всё

git checkout -b 6.x origin/6.x



Теперь перейдем непосредственно к компиляции сервера:

Код: Выделить всё

Создадим и перейдем в каталог в котором будет происходить компиляция:
mkdir build
cd build


Зададим параметры компиляции:

Код: Выделить всё

Стандартный пример конфигурации:
cmake*../*-DCMAKE_C_FLAGS="-O3*-pipe"*-DCMAKE_CXX_FLAGS="${CMAKE_C_FLAGS}"*-DDO_RA=1*-DLARGE_CELL=1*-DPREFIX=/home/server/


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

Код: Выделить всё

 cmake -DPREFIX=~/release -DCMAKE_C_FLAGS="-O3" -DCMAKE_CXX_FLAGS="-O3" -DWITH_COREDEBUG=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=~/.sys/lib/libACE.so -DACE_INCLUDE_DIR=~/.sys/include/ -DOPENSSL_LIBRARIES=~/.sys/lib/libssl.so  -DOPENSSL_INCLUDE_DIR =~/.sys/include/


Параметры которые можно указать при конфигурации:

Код: Выделить всё

-DACE_LIBRARY=<путь к библиотеке ACE >    (полный путь к библиотеке libACE.so, если ACE установлено "глобально", то данный флаг не применяется )
-DACE_INCLUDE_DIR=<путь к каталогу includes/headers, вашей библиотеки ACE>    (полный путь к include директории ACE, если ACE установлено "глобально", то данный флаг не применяется )
-DOPENSSL_LIBRARIES=<путь к библиотеке OpenSSL>    (путь к библиотеке OpenSSL library, если OpenSSL установлено "глобально", то данный флаг не применяется )
-DOPENSSL_INCLUDE_DIR=<путь к каталогу include, вашей библиотеки OpenSSL >    (путь к каталогу include, вашей библиотеки OpenSSL, если OpenSSL установлено "глобально", то данный флаг не применяется)
 
-DSCRIPTS                        Сборка сервера и скриптов.
-DTOOLS                            Собрать так же и экстракторы карта/коллизии/дбц.
-DUSE_SFMT                      Использовать SFMT как случайный генератор чисел.
-DWITH_WARNINGS            Показывать предупреждения.
-DWITH_COREDEBUG            "собрать в дебаге".
-DWITH_SQL                      Скопировать SQL-файлы в каталог с установленным сервером.
-DPREFIX                            Задать каталог установки.


И наконец мы подошли к компиляции:

Код: Выделить всё

Стандартная Установка(используется только 1 ядро процессора, что делает процесс долгим)
make
make install
Установка с использованием нескольких ядер процессора
make -j <число ядер процессора +1, т.е если 2, то 3>
make install


Настройка конфигов и пробный запуск проекта.
Здесь необходимо помнить, что сейчас вы работаете под root - что ни есть правильно. Я перепишу эту статью, когда мне будет не так лень...

Создадим базы и пользователя для эмулятора:

Код: Выделить всё

mysql -uroot -p < /home/source/TrinityCore/sql/create/create_mysql.sql

Это создаст базы auth, characters, world, пользователя с логином и паролем trinity с доступом только с локалхоста и с правами только к созданным базам.
Дальше нужно залить в созданные базы таблицы и апдейты, думаю тут все просто и не у кого вопросов возникнуть не должно, а если возникнет - на форуме есть пару мануалов.

По умолчанию, конфиги эмулятора находятся по адресу:

Код: Выделить всё

/home/server/etc/
worldserver.conf.dist
authserver.conf.dist

Настройка файла worldserver.conf и authserver.conf будет описана в другой статье, здесь будет ссылка.


Советую убрать расширение .dist, что бы потом ваш конфиг не был переписан при сборки более новой версии эмулятора.
Так же советую при настройке конфигов эмулятора использовать сокет mysql, а не сетевое подключение.

После всей настройки стоит попробовать запустить сервер. Для удобства я использую полноэкранный оконный менеджер screen. Не буду описывать все его флаги, просто дам готовые команды.

Запустить authserver:

Код: Выделить всё

screen -AmdUS authserver /home/server/bin/authserver -c /home/server/etc/authserver.conf

Запустить worldserver:

Код: Выделить всё

screen -AmdUS worldserver /home/server/bin/worldserver -c /home/server/etc/worldserver.conf

Перейти в окно authserver:

Код: Выделить всё

screen -dr authserver

Перейти в окно worldserver:

Код: Выделить всё

screen -dr worldserver

Выйди из текущего окна:

Код: Выделить всё

Ctrl+A+d

Закрыть текущее окно:

Код: Выделить всё

Ctrl+A+k и нажать y
Мой блог - myexpirience.tk
Мой сайт - WowLurk

Вернуться в «TrinityCore»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость

cron