Главная   »   Форум   »   Операционные системы   »   *NIX (BSD/Linux/etc)   »   Установка TrinityCore на Debian
Для полноценного использования сайта, рекомендуем Вам зарегистрироваться.

 Для полноценного использования сайта, рекомендуем зарегистрироваться.

Установка TrinityCore на Debian

Пошаговая инструкция по установке игрового сервера WOW на базе TranityCore на систему Debian
Администратор
Sergio
Сообщений: 61
Киев
298 дней назад
Здравствуйте. В этой теме я хочу рассмотреть установку собственного игрового сервера для игры в World of Warcraft. Для начала нам понадобиться ПК с чистой, установленной системой Debian последней версии и настроенным доступом в Интернет. Если компьютер с установленной системой уже готов к использованию, тогда первым шагом мы будем устанавливать необходимые пакеты. И так приступим к пошаговой инструкции:

1. Устанавливаем все необходимые для работы сервера пакеты:

Код PHP:
  1. apt-get install build-essential autoconf libtool gcc g++ make cmake git-core
  2. apt-get install wget p7zip-full libncurses5-dev
  3. apt-get install libssl-dev mysql-server mysql-client libmysqlclient15-dev
  4. apt-get install libmysql++-dev libreadline6-dev zlib1g-dev libbz2-dev
  5. apt-get install libboost-dev libboost-thread-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev
  6. apt-get install screen
  7.  
  8. # Если вы устанавливаете версию 4.3.4 и выше, тогда необходимо установить следующий пакет
  9. sudo apt-get install libzmq-dev
1.1. Создадим пользователя trinity для удобства работы с сервером:

Код PHP:
  1. adduser trinity
  2. # Устанавливаем пароль для нового пользователя, а также отвечаем на ряд поставленных вопросов при создании нового пользователя и заходим под этим пользователем
  3.  
  4. su - trinity
  5.  
2. Для того что бы приступить к установке самого сервера WoW на базе TrinityCore, нам необходимо скачать его исходники. Исходники мы будем брать из GitHub. (В этой теме рассматривается установка сервера для версии 3.3.5, если устанавливаете другую версию измените значение -b 3.3.5 на необходимое в вашем случае):

Код PHP:
  1. git clone -b 3.3.5 git://github.com/TrinityCore/TrinityCore.git
После выполнения выше приведённой команды начнётся скачивание выбранного нами релиза (бранча). По сути мы скачиваем на наш ПК исходники, которые расположены по ссылке.

3. Компиляция сервера. Компиляция будет выполнятся в папке build, для этого нам необходимо её создать и перейти в неё. Выполняем следующее:

Код PHP:
  1. cd TrinityCore
  2. mkdir build
  3. cd build
После того как мы перешли в созданную нами папку build, можем приступать к конфигурации исходников. Конфигурация может выполнятся с набором параметров:

Код PHP:
  1. -DPREFIX Set - каталог установки скомпилированных файлов
  2. -DCONF_DIR Set - каталог установки конфигурационых файлов
  3. -DLIBSDIR Set - каталог библиотеки
  4. -DWITH_SQL - Скопирывать SQL-файлы в каталог с установленым сеовеолм
  5.  
  6. Указываем путь до библиотеке ACE (libACE.so) - не используйте если ACE устоновлен глобально
  7. -DACE_LIBRARY=<путь к библиотеке ACE >
  8. Указываем путь до каталога ACE - не используйте если ACE устоновлен глобально
  9. -DACE_INCLUDE_DIR=<путь к каталогу ACE>
  10. Указываем прямой путь к OpenSSL - не используйте если у вас установлен OpenSSL в системе
  11. -DOPENSSL_LIBRARIES=<Путь до OpenSSL Библеотеки>
  12. Указываем путь до каталога к OpenSSL - не используйте если у вас установлен OpenSSL в системе
  13. -DOPENSSL_INCLUDE_DIR=<Путь до OpenSSL includes>
  14.  
  15. -DSERVERS - сборка WorldServer и authserver
  16. -DSCRIPTS - Сборка сервера и скриптов. (Включен по умолчанию)
  17. -DTOOLS - Сборка Экстратора карт
  18. -DUSE_SFMT - Использовать SFMT как случайный генератор чисел.
  19. -DWITH_WARNINGS - Показать все предупреждения в процессе компиляции
  20. -DWITH_COREDEBUG - Включить дополнительный отладочнуй-код в ядре (DEBUG - режим)
  21.  
  22. -DCMAKE_C_FLAGS Set C_FLAGS - компиляции только для опытных пользователей
  23. -DCMAKE_CXX_FLAGS Set CXX_FLAGS - компиляции только для опытных пользователей
Все из этих параметров указывать не обязательно, ниже приведён пример стандартной установки:

Код PHP:
  1. cmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/server -DCONF_DIR=/home/wow/server/etc -DLIBSDIR=/home/wow/server/lib -DTOOLS=1 -DWITH_WARNINGS=1
В выше указанном примере сборка сервера будет произведена в папку server, установка конфигурации сервера в папку server/etc, а установка библиотек в папку server/lib, также будет выведен полный лог ошибок во время компиляции сервера.

4. Сборка ярда. Следующую команду make можно использовать с параметром -j x, где х количество ядер вашего процессора.

Код PHP:
  1. make -j 4
После того как make завершит свою работу, выполняем:

Код PHP:
  1. make install
После выполнения make install наш сервер почти готов к работе, дальше необходимо настроить конфигурационные файлы сервера.

5. Копируем файлы конфигурации сервера:

Код PHP:
  1. cp /home/wow/server/etc/authserver.conf.dist /home/wow/server/etc/authserver.conf
  2. cp /home/wow/server/etc/worldserver.conf.dist /home/wow/server/etc/worldserver.conf
Конфигурационные файлы скопированы, прежде чем перейти к их редактированию, нужно создать 2 директории:

Код PHP:
  1. mkdir /home/trinity/wow/server/logs
  2. mkdir /home/trinity/wow/server/data
Теперь переходим к настройке файла authserver.conf

Код PHP:
  1. nano /home/trinity/wow/server/etc/authserver.conf
И изменяем в нём несколько строк:

Код PHP:
  1. Находим
  2. LogsDir = ""
  3. меняем на
  4. LogsDir = ""/home/trinity/wow/server/logs"
  5. Теперь наши логи будут сохранятся в нашу папку logs
  6. Находим
  7. LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth"
  8. и заполняем вашими данными (пользователя и пароль указывайте свои, не используйте пользователя root на публичных серверах)
  9. LoginDatabaseInfo = "127.0.0.1;3306;root;pass;auth"
Далее редактируем файл worldserver.conf:

Код PHP:
  1. nano /home/trinity/wow/server/etc/worldserver.conf
Изменяем в нём некоторые строки:

Код PHP:
  1. Находим
  2. DataDir = "."
  3. и меняем на
  4. DataDir = ""/home/trinity/server/data"
  5. Находим
  6. LogsDir = ""
  7. и меняем на
  8. LogsDir = ""/home/trinity/server/logs"
  9. Находим
  10. LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth"
  11. WorldDatabaseInfo = "127.0.0.1;3306;trinity;trinity;world"
  12. CharacterDatabaseInfo = "127.0.0.1;3306;trinity;trinity;characters"
  13. и меняем так же как в authserver.conf
С файлами конфигурации закончили, теперь для работы сервера нам потребуются дополнительные файлы, такие как maps, dbc, vmap, mmap. Так как мы устанавливаем сервер WoW TrinityCore на Debian, соответственно самой игры на на сервере у нас нет, по этому их необходимо скачать из Интернета. Далее будем считать что файлы уже скачаны, и расположены в папках maps, dbc, vmap, mmap в директории /home/trinity/wow/server/data/.

6. Заполнение данными MySQL базы данных. На этом этапе нам необходимо создать и наполнить информацией 3 базы: auth, world, characters. Создание и наполнение баз будем производить из консоли (в данном примере процесс создания и наполнения описан из под пользователя root, я же вам настоятельно рекомендую создать и использовать отдельного пользователя для работы с базой для сервера WoW TrinityCore).

Входим на наш MySQL сервер:

Код PHP:
  1. mysql -u root -p
Вводим пароль нашего пользователя, после этого приступаем к созданию баз:

Код PHP:
  1. CREATE DATABASE auth;
  2. CREATE DATABASE world;
  3. CREATE DATABASE characters;
Данные для баз auth и characters есть в скачанном репозитории. Заливаем эти данные:

Код PHP:
  1. mysql -u root -p auth < /home/source/TrinityCore/sql/base/auth_database.sql
  2. mysql -u root -p characters < /home/source/TrinityCore/sql/base/characters_database.sql
Скачать базу данные world мы можем по ссылке, необходимо выбрать базу для нашей версии сервера, скачать её и таким же образом залить в нашу базу MySQL сервера.

После того как наши таблицы в базе наполнены содержимым, создаём файлы запуска сервера. Первым создаём файл для запуска сервера авторизации auth.sh:

Код PHP:
  1. nano /home/trinity/wow/auth.sh
и наполняем его содержимым:

Код PHP:
  1. #!/bin/bash
  2. while :; do
  3. /home/trinity/wow/server/bin/authserver -c /home/trinity/wow/server/etc/authserver.conf
  4. done
Теперь создаём файл для запуска самого сервера игры world.sh:

Код PHP:
  1. nano /home/trinity/wow/world.sh
Наполняем его данными:

Код PHP:
  1. #!/bin/sh
  2. logfile='/home/trinity/wow/server/bin/logs/shserver.log'
  3. srvrun='/home/trinity/wow/server/bin/worldserver'
  4. srvname=worldserver
  5. outfile='/home/trinity/wow/server/bin/logs/crash.log'
  6.  
  7.  
  8. if [ `ps ax | grep "$srvrun" | grep -v "grep" | wc -l` = 0 ]; then
  9. kill `ps xu | grep "$srvname" | grep "$srvrun" | grep -v "grep" | awk '{print $2}'`
  10. echo "Server CRASHED !!! Start Bugreport System" `date` >> $outfile
  11. echo "Server.log Log FILE Last 30 Lines:" >> $outfile
  12. cat $logfile | tail -n 30 >> $outfile
  13. echo "END bugtracker system." >> $outfile
  14. sleep 20 && $srvrun
  15. fi
Для автоматического перезапуска сервера нам необходимо выполнить две команды:

Код PHP:
  1. screen -AmdS auth /home/trinity/wow/auth.sh
  2. screen -AmdS world /home/trinity/wow/world.sh
Наш сервер авторизации и сервер игры WoW TrinityCore успешно запущены. Запускайте свой клиент и наслаждайтесь игрой на собственном сервере WoW TrinityCore.

Все свои вопросы и проблемы в установке сервера WoW TrinityCore пишите в ответах к данной теме, постараюсь помочь каждому smoke
Посетитель
kron
Сообщений: 2
Аль-Яхра
3471 день назад
Пробовал ,cmake пишет ошибку, ругается на openssl( не видит её), стоит 8-я версия Дебиан.

При попытке установить, пишет, что данный пакет openssl был уже автоматически установлен.

Можете помочь советом?
Редактировалось: 1 раз (Последний: 21 мая 2015 в 00:40)
Администратор
Sergio
Сообщений: 61
Киев
298 дней назад
kron,
Попробуйте выполнить
Код PHP:
  1. apt-get upgrade
  2. apt-get install libssl1.0.0
Редактировалось: 3 раза (Последний: 22 мая 2015 в 11:35)
Посетитель
kron
Сообщений: 2
Аль-Яхра
3471 день назад
Пишет:
libssl1.0.0 уже установлена новой версии. Далее идёт перечень библиотек и предложение использовать автоудаление для их устранения.
Администратор
Sergio
Сообщений: 61
Киев
298 дней назад
Попробуйте переустановить OpenSSL вручную:

для x64
Код PHP:
  1. wget ftp://ftp.debian.org/debian/pool/main/o/openssl/libssl-dev_1.0.0c-2_amd64.deb
  2. wget ftp://ftp.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.0c-2_amd64.deb
  3. wget ftp://ftp.debian.org/debian/pool/main/o/openssl/openssl_1.0.0c-2_amd64.deb
  4. sudo dpkg -i libssl1.0.0_1.0.0c-2_amd64.deb
  5. sudo dpkg -i openssl_1.0.0c-2_amd64.deb
  6. sudo dpkg -i libssl-dev_1.0.0c-2_amd64.deb
для x32
Код PHP:
  1. wget ftp://ftp.debian.org/debian/pool/main/o/openssl/libssl-dev_1.0.0c-2_i386.deb
  2. wget ftp://ftp.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.0c-2_i386.deb
  3. wget ftp://ftp.debian.org/debian/pool/main/o/openssl/openssl_1.0.0c-2_i386.deb
  4. sudo dpkg -i libssl1.0.0_1.0.0c-2_i386.deb
  5. sudo dpkg -i openssl_1.0.0c-2_i386.deb
  6. sudo dpkg -i libssl-dev_1.0.0c-2_i386.deb
|
Перейти на форум:
Быстрый ответ
У вас нет прав, чтобы писать на форуме.