Модератор форума: Dimitro |
Форум TrinityCore Установка / Настройка TrinityCore [Мануал] Установка TrinityCore на Debian 8.1 |
[Мануал] Установка TrinityCore на Debian 8.1 |
Целевая аудитория гайда: новички, захотевшие поднять тестовый сервер на Debian'е.
Необходимые знания: умение компилировать сервер под ОС Windows. Установка необходимых пакетов, Проверяем что стоит именно 8.1 Код cat /etc/debian_version Обновляем систему. Код apt-get update apt-get upgrade Устанавливаем необходимые пакеты для компиляции эмулятора. Код apt-get install build-essential autoconf libtool gcc g++ make cmake git-core wget p7zip-full libncurses5-dev zlib1g-dev libbz2-dev openssl libssl-dev libreadline6-dev libboost-dev libboost-thread-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-iostreams-dev screen -y Для ветки 6.х нужен ZeroMQ. Код apt-get install libzmq-dev Устанавливаем mysql: Код apt-get install mysql-server mysql-client libmysqlclient-dev libmysql++-dev -y Так как сидеть постоянно из под рута не безопасно, создадим отдельного пользователя для запуска эмулятора. Код adduser <username> Задаем ему пароль и дополнительные данные (не обязательно). Скачивание исходников и компиляция эмулятора. Код # Переключаемся на созданого пользователя su <username> cd ~ # Создадим папку в корне домашней директории пользователя для исходников и выкачаем их. mkdir source cd source git clone git://github.com/TrinityCore/TrinityCore.git cd TrinityCore По умолчанию скачивается ветка 6.х. Для смены на 3.3.5а: Код git checkout -b 3.3.5 origin/3.3.5 Код mkdir build cd build Дальше начинается настройка путей установки сервера и дополнительных параметров для компиляции. Приведу только самые важные флаги: Код -DCMAKE_INSTALL_PREFIX - путь, куда будет установлен скомпилированный эмулятор, обязательный параметр; -DLIBSDIR - путь, куда будут положены библиотеки (необязательный параметр); -DCONF_DIR - папка, где будут находиться конфигурация (необязательный параметр); -DCMAKE_BUILD_TYPE - тип собираемого проекта (необязательный параметр), может принимать 4 значения: Debug, Release, MinSizeRel, RelWithDebInfo. По умолчанию стоит значение Release; -DWITH_WARNINGS - показывать все предупреждения при компиляции, по умолчанию отключен; -DWITH_COREDEBUG - компиляция с отладочной информацией для последующей отладки, не рекомендуется для рабочего сервера, так как при этом используется больше ресурсов, по умолчанию отключен; -DTOOLS - собирает так же экстракторы, но оно вам нужно? Или у вас на сервере находиться 20-гиговый клиент. По умолчанию отключен; -DSCRIPTS - собирать ли проект вместе со скриптами, то есть будут ли включены все скрипты боссов, квестов, эвентов и прочее. По умолчанию включено; -DCMAKE_C_FLAGS и -DCMAKE_CXX_FLAGS - флаги, в которых содержаться дополнительные параметры, передаваемые компилятору. Новичку даже не стоит пробовать что либо понимать, так как за все необходимые флаги выставит autoconf. Для сборки в эмулятора для production-среды достаточно указать только флаг путей установки. Код cmake ../ -DCMAKE_INSTALL_PREFIX=/home/<username>/server Код cmake ../ -DCMAKE_INSTALL_PREFIX=/home/<username>/server -DWITH_COREDEBUG=1 -DCMAKE_BUILD_TYPE=Debug Проект конфигурируется и его можно начать компилировать: Код make -j <количество ядер> make install Настройка конфигов и пробный запуск проекта. Создадим базы и пользователя для эмулятора: Код mysql -uroot -p < /home/<username>/source/TrinityCore/sql/create/create_mysql.sql Дальше нужно залить в созданные базы таблицы и апдейты, думаю тут все просто и не у кого вопросов возникнуть не должно, а если возникнет - на форуме есть пару мануалов. По умолчанию, конфиги эмулятора находятся по адресу: Код /home/<username>/server/etc/ Так же советую при настройке конфигов эмулятора использовать сокет mysql, а не сетевое подключение. После всей настройки стоит попробовать запустить сервер. Для удобства я использую полноэкранный оконный менеджер screen. Не буду описывать все его флаги, просто дам готовые команды. Не забываем что для управления эмулятором у нас есть свой юзер, так что логинимся на <username>. Запустить authserver: Код screen -AmdUS authserver /home/<username>/server/bin/authserver -c /home/<username>/server/etc/authserver.conf Код screen -AmdUS worldserver /home/<username>/server/bin/worldserver -c /home/<username>/server/etc/worldserver.conf Код screen -dr authserver Код screen -dr worldserver Код Ctrl+A+d Код Ctrl+A+k и нажать y Использованные материалы: В качестве окружения для тестирования использовался vagrant (провайдер virtualbox) с ящиком debian/jessie64 (репозитории по умолчанию). P.S. Прошу озвучивать адекватную критику, а не вбросы то типу: "ничего не понятно, автор м*дак!", "почему не расписано значение каждого пакета в установке?!", "дебиан для ниасиливших генту школоло" и т.п. |
Установка пакетов sudo и screen без вопроса "точно установить?". Да, собирал и не раз. Можно собрать хоть под lenny, но будет гемор с пакетами, так как последние версии тринити требуют gcc 4.7 А что еще нужно? Если вы хотите описание каждой команды, то зашли не на тот ресурс. Сегодня обновлю мануал. |
Malezha, А ничего такого что ныне используется BOOST а не айс ... копипастер ... Вот написал бы ты от себя как поставить триню на Арч или генту,другое дело.А дибилиан осилит любой подросток 12 лет Верно, давно не следил за обновлениями тринити, как выше написал - обновлю сегодня (сейчас пересобираю все по мануалу, что бы протестировать его). Я вообще то и не скрывал, что большую часть мануала взял на официальной вики и просто перевел (читай первый абзац). Когда будет спрос на инструкцию установки на Arch и Gentoo, тогда и будет написан мануал, но я за все свой время прибывания на форуме что то не заметил таких, но зато заметил огромное количество вопросов по поводу установки на Dedian/Ubuntu. Так что простота дистра - понятие относительно. Да и я сильно сомневаюсь, что те, кто админит арч и тем более генту, будут просить мануал. |
Malezha, спасибо инфа полезная ошибок при компилляции незамечено, но имхо если
могли бы и указать как заливать в базы таблицы и апдейты еще есть вопрос такого плана во многих гайдах пишут что команда должна выглядеть так make -j <количество ядер +1> как всётаки правильно? |
Верны оба варианта. Параметр J отвечает за количество одновременных процессов сборки(мейк умеет параллелить свою работу) Каждый поток будет обрабатываться отдельным ядром в случае, когда количество потоков равно количеству ядер. Но если выставить на 1 поток больше, то хуже от этого не станет, будет небольшой оверхэд. Не думаю, что при сборке легкого вовсервера это хоть как то повлияет на скорость сборки. Можно прсото опытным путем проверить сколько занимает времени сборка при разных потоках.
Сообщение # 14 написано 02.09.2014 в 18:12
|
Paralitik, спасибо за объяснение
Добавлено (17.09.2014, 15:48) Добавлено (22.09.2014, 13:08)
Сообщение # 15 написано 22.09.2014 в 13:08
|
Этот гайд подходит для установки на Ubuntu 13.10 amd64 под LAMP server
На Debian 7.6 amd64 тоже всё отлично работает! Не много помучился с заливкой БД. Вот тут мои рабочие заливки для баз без персов и аккаунтов если кому нужно. И на всякий случай извлеченные карты Большое спасибо автору! |
Спасибо за мнуал, все просто и понятно, многое даже разжевано. Есть вопросы развивающие тему.
1. Идейно make install не есть debian-way, как можно модифицировать данную инструкцию для создания *.deb пакета? 2. Есть ли опыт использования вместо mysql его форков или postgres, и какие были результаты? 3. Попадались ли кому-то репозитории с готовым TrinityCore/Mangos?
Сообщение # 27 написано 17.03.2015 в 20:42
|
1. Идейно make install не есть debian-way, как можно модифицировать данную инструкцию для создания *.deb пакета? 2. Есть ли опыт использования вместо mysql его форков или postgres, и какие были результаты? Они не нужны. Совсем недавно ветка 3.3.5 стала стабильной, но действительно рабочей её не назовешь. Остальные ветки и подавно находятся в состоянии глубокой альфы и каждый день обновляются. Создание ежедневных ночных сборок конечно бы могло иметь место, но если этого все еще нет, значит это никому не нужно.
Сообщение # 28 написано 18.03.2015 в 15:04
|
-DPREFIX - путь, куда будет установлен скомпилированный эмулятор, обязательный параметр; -DLIBSDIR - путь, куда будут положены библиотеки. Необязательный параметр.; -DCONF_DIR - папка, где будут находиться -DCMAKE_BUILD_TYPE - тип собираемого проекта, может принимать 4 значения: Debug, Release, MinSizeRel, RelWithDebInfo. По умолчанию стоит значение Release; -DWITH_WARNINGS - показывать все предупреждения при компиляции. По умолчанию отключен; -DWITH_COREDEBUG - компиляция с отладочной информацией для последующей отладки, не рекомендуется для рабочего сервера, так как при этом используется больше ресурсов. По умолчанию отключен; -DTOOLS - собирает так же экстракторы, но оно вам нужно? Или у вас на сервере находиться 20-гиговый клиент. По умолчанию отключен; -DSCRIPTS - собирать ли проект вместе со скриптами, то есть будут ли включены все скрипты боссов, квестов, эвентов и прочее. По умолчанию включено; -DCMAKE_C_FLAGS и -DCMAKE_CXX_FLAGS - флаги, в которых содержаться дополнительные параметры, передаваемые компилятору. Новичку даже не стоит пробовать что либо понимать, так как за все необходимые флаги выставит autoconf. Привет Malezha Пора обновить гайд, префиксы изменились !
Сообщение # 29 написано 16.06.2015 в 14:52
|
| |||