Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Установка сервера на Ubuntu
#1
Данный мануал поможет вам установить Mangos сервер всего за 2 часа, с полной поддержкой скриптов на базе UDB

Перед тем как начать проверьте что у вас присутствуют все нижеперечисленные установки:

Код:
Вы используете 32-ух битную систему Ubuntu Server 8.04/8.10 oили Debian 5.0
У вас присутствуют все необходимые файлы — map, vmap и dbc
У вас есть базовые знания консоли
У вас есть прямой доступ к устройству
Вам хватит сил потратить 2 часа на создание и установку сервера

Установка необходимого оборудования

Важно!
при установке пароля в MySQL установите такой пароль который вы сможете с легкостью запомнить, либо запишите его.

Код:
cd ~
apt-get update
apt-get install build-essential gcc g++ cpp automake git-core autoconf make patch libmysql++-dev libtool libcurl4-openssl-dev libssl-dev grep binutils subversion zlibc libc6 nano mysql-server unrar-free

Получение исходников Ядра и Скриптов.

Скачаем самые новые версии Ядра и скриптов используя следующие команды:

Код:
git clone git://github.com/mangos/mangos.git
cd mangos
mkdir src/bindings/ScriptDev2
svn co https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/ src/bindings/ScriptDev2/

Установка скриптов.

Накатываем патч на ядро используя следующую команду:

Код:
git am src/bindings/ScriptDev2/patches/MaNGOS-*
где * - версия ревизии патча

Компиляция сервера.

Если все предыдущие пункты у вас получились без ошибок, вы можете приступать непосредственно к компиляции самого сервера, это может занять от 30 минут до часа, в зависимости от мощности вашего Компьютера

Компилияцию мы будем проводить в «objdir»
Если вы перекомпилирываете сервер, то вы можете просто очистить папку и начать все с начала.

Код:
autoreconf --install --force
mkdir objdir
cd objdir

Теперь нам нужно настроить:

Код:
../configure --prefix=/opt/mangos --sysconfdir=/opt/mangos/etc --datadir=/opt/mangos

Последний и самый долгий шаг — это запуск компиляции

Код:
make -j [#ofCores]
make install

Если у вас Quad core процессор используйте "-j 4", если Dual Core то "-j 2". При компиляции для каждого ядра дополнительно нужно 375мб оперативной памяти. Для компиляции с 4 процессорами нужно будет более 1.5гб оперативной памяти. Если при компиляции будет недостаток памяти процесс будет прерван.

Ниже показаны примеры возможных ошибок, если во время компиляции вы получите не что подобное, попробуйте понизить количество ядер используемых в процессе компиляции.

Код:
virtual memory exhausted: Cannot allocate memory
virtual memory exhausted: Cannot allocate memory
make[3]: *** [DestinationHolder.o] Error 1
make[3]: *** Waiting for unfinished jobs…
virtual memory exhausted: Cannot allocate memory
virtual memory exhausted: Cannot allocate memory
virtual memory exhausted: Cannot allocate memory
virtual memory exhausted: Cannot allocate memory
virtual memory exhausted: Cannot allocate memory
make[3]: *** [FleeingMovementGenerator.o] Error 1
virtual memory exhausted: Cannot allocate memory
make[3]: *** [ChannelHandler.o] Error 1
make[3]: *** [Creature.o] Error 1

Настройка сервера

Для начала нам нужно указать место где будет распологаться наш сервер

Код:
cd /opt/mangos/

Теперь копируем файлы созданные компилятором в путь который мы указали в предыдущем пункте (не меняйте названия файлов)

Код:
cp etc/mangosd.conf.dist etc/mangosd.conf
cp etc/realmd.conf.dist etc/realmd.conf

Теперь настраиваем настройки сервера.
Указываем пароль MySQL который вы создали в самом начале

Код:
nano etc/mangosd.conf
nano etc/realmd.conf

Незабудте изменить формат Конфигов (удалить .dist) в противном случае вы не сможете запустить ваш сервер.

Загрузка BD

Теперь нам нужно загрузить саму базу. В данном мануале мы сделаем это на примере UDB.

Код:
cd ~ && mkdir udb && cd udb
svn co https://unifieddb.svn.sourceforge.net/svnroot/unifieddb unifieddb

Скачиваем скрипты acid

Код:
cd ~ && mkdir acid && cd acid
svn co https://sd2-acid.svn.sourceforge.net/svnroot/sd2-acid sd2-acid

Переходим к установке и настройке базы

Теперь вам снова понадобится пароль MySQL. ( напоминаю, его вы должны были установить в первом пункте когда ставили MySQL.)

Замечание!
Если вы сбились в ходе установки баз данных, вы можете их удалить и начать их установку заного.

Код:
mysql -u root -p
SHOW DATABASES;
DROP DATABASE mangos;
DROP DATABASE characters;
DROP DATABASE realmd;
DROP DATABASE scriptdev2;
SHOW DATABASES;
exit;

Создаем пользователя для использования баз данных и создаем необходимые базы
(mangos, characters, realmd, and scriptdev2).

Код:
mysql -u root -p < /opt/mangos/mangos/sql/create_mysql.sql
mysql -u root -p < ~/mangos/src/bindings/ScriptDev2/sql/scriptdev2_create_database.sql

Замечу, что если вы хотите запустить эти команды без ввода пароля (например, в сценарии), вы можете поставить пароль сразу же после "-р" (без пробела после "-р").

Код:
mysql -u root -ppassword < /opt/mangos/mangos/sql/create_mysql.sql
mysql -u root -ppassword < ~/mangos/src/bindings/ScriptDev2/sql/scriptdev2_create_database.sql

Загрузка Баз данных

Код:
mysql -u mangos -pmangos scriptdev2 < ~/mangos/src/bindings/ScriptDev2/sql/scriptdev2_create_structure_mysql.sql
mysql -u mangos -pmangos mangos < /opt/mangos/mangos/sql/mangos.sql
mysql -u mangos -pmangos characters < /opt/mangos/mangos/sql/characters.sql
mysql -u mangos -pmangos realmd < /opt/mangos/mangos/sql/realmd.sql
mysql -u mangos -pmangos scriptdev2 < ~/mangos/src/bindings/ScriptDev2/sql/scriptdev2_script_full.sql

База mangos

Сейчас мы заселим наш будущий мир

Код:
cd ~/udb/trunk/Full_DB
unzip *.zip
mysql -u mangos -pmangos mangos < ./<file_you_just_unzipped>.sql
mysql -u mangos -pmangos mangos < ~/acid/sd2-acid/trunk/wotlk/<highest-number>/<highest-number>_acid.sql
mysql -u mangos -pmangos mangos < ~/mangos/src/bindings/ScriptDev2/sql/mangos_scriptname_full.sql

Обновление базы

Теперь обновим базу до последней версии, обновления находятся в следующей дериктории: /opt/mangos/mangos/sql/updates/,
Внимание! обновление базы начинается от самого старого, к самому новому sql файлу.

К примеру если у вас много обновлений и вы не хотите каждое обновление загружать вручную, вы можете создать небольшой скрипт и положить его в дерикторию с обновлениями и просто его запустить
chmod +x /opt/mangos/mangos/sql/updates/updatescript.py


Вот содержание этого скрипта

Код:
#!/usr/bin/env python
import glob, os
patches = glob.glob('*.sql')
patches = sorted(patches)

for x in patches:
db = x.split("_")[2].replace('.sql', '')
os.system(«mysql -u mangos -pmangos -v » + db + " < " + x)

Теперь запускаем этот скрипт

Код:
cd /opt/mangos/mangos/sql/updates
./updatescript.py

настройка базы Realmd

Нам нужно настроить IP так что бы игроки смогли заходить на наш сервер

Код:
mysql -u mangos -pmangos
use realmd;
UPDATE realmlist SET name = 'Your Realm Name' WHERE id = 1;
UPDATE realmlist SET address = 'Your IP' WHERE id = 1;
exit

Убедитесь что у вас включены sshd

Код:
apt-get install openssh-server
/etc/init.d/ssh start

В случае если у вас изначально не было maps vmaps и dbc, вы можете взять экстракторы из деректории с исходниками

Код:
contrib/extractor/
ad.exe
contrib/vmap_extract_assembler_bin/
makevmaps_SIMPLE.bat
make vmaps.bat
splitConfig.txt
vmap_assembler.exe
vmapextract_v2.exe

Извлечение может занять достаточно длительное время, а файлы в итоге потребуют ~ 2GB свободного пространства на диске. По завершению у вас будет создано 5 папок. Из них вам нужно будет взять «maps», «dbc», and «vmaps» и перенести их в директорию где у вас установлен сервер(buildings можете удалить), а именно в /opt/mangos/bin (или туда куда вы установили бинарники вашего сервера).

Удаление не нужных файлов

Теперь мы можем удалить файлы которые нам больше не понадобятся

Код:
rm /root/*.rar -f
rm /root/*.sql -f
rm /root/*.deb -f

Обратите внимание! Для большей безопасности вы можете поменять ваш MySQL пароль

Код:
mysql -u root -p
SET PASSWORD FOR 'mangos'@'localhost' = PASSWORD('newpassword');
exit;

Запуск сервера

В первую очередь мы запустим realmd

Код:
cd /opt/mangos/bin
./mangos-realmd

Теперь запускаем непосредственно само ядро

Код:
cd /opt/mangos/bin
./mangos-worldd

Надеюсь у вас все получилось. Желаю удачи в ваших начинаниях.
Ответ
#2
autoreconf --install --force
mkdir objdir
cd objdir



когда в консоли пишу это выскакивает следующее.. пока не могу до думать как исправить

skymax@skymax-M52S-S3P:~/mangos/mangos/objdir$ autoreconf --install --force

autoreconf2.50: `configure.ac' or `configure.in' is required


может у меня не верно установлен autoreconf ?

Добавлено через 1 минуту
я так понял что не хватает этого -
`configure.ac' or `configure.in' is required


а где настроить понять не могу


c первой ошибкой разобрался.. дальше снова тупик...

../configure --prefix=/opt/mangos --sysconfdir=/opt/mangos/etc --enable-cli --enable-ra --datadir=/opt/mangos
bash: ../configure: Нет такого файла или каталога
skymax@skymax-M52S-S3P:~/mangos$
Ответ
#3
Та же проблема
при autoreconf --install --force
Выдает ошибку
autoreconf: `configure.ac' or `configure.in' is required
таких файлов нет и где взять ХЗ помогите!!!
Ответ
#4
Сейчас нужно использовать Cmake
http://getmangos.com/community/topic/160...eronezero/
Просьба к пользователям, соблюдайте правила. Экономьте свои/наши время и нервы
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Подробный мануал по установке сервера MaNGOS PuShKinG 411 168,182 04-30-2012, 02:59 PM
Последний пост: Z1ko
  Компиляция сервера под Линукс на винде maa 5 4,094 12-20-2011, 06:28 PM
Последний пост: Itachi
  Компиляция и базовая настройка сервера MaNGOS (3.0.9) PROGRAMMATOR 125 59,814 04-12-2011, 01:43 PM
Последний пост: PROGRAMMATOR
  Создание сервера с готовым ядром, базой и скриптами Perfecto 49 22,362 08-16-2010, 04:04 PM
Последний пост: Ferse
  Ubuntu-Server 10.04 LTS vsalda 3 3,098 06-11-2010, 06:22 PM
Последний пост: vsalda
  Мануал по установке Mangos WoW сервера Nastia 48 29,388 04-07-2010, 07:15 PM
Последний пост: Perfecto
  Нуждаюсь в помощи по настройке сервера NostradamuS 2 2,959 03-23-2010, 05:46 PM
Последний пост: NostradamuS
  Видео урок по созданию сервера ToopUp 4 8,563 03-01-2009, 04:14 PM
Последний пост: Gr@y

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)