• Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.
Иконка ресурса

Установка сервера на Ubuntu

Красная Королева

Путник
Модератор
Сообщения
468
Розыгрыши
0
Репутация
141
Реакции
29
Баллы
0
Данный мануал поможет вам установить 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 < ./.sql mysql -u mangos -pmangos mangos < ~/acid/sd2-acid/trunk/wotlk//_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
Надеюсь у вас все получилось. Желаю удачи в ваших начинаниях.
 

Назад
Сверху Снизу