Данный мануал поможет вам установить Mangos сервер всего за 2 часа, с полной поддержкой скриптов на базе UDB
Перед тем как начать проверьте что у вас присутствуют все нижеперечисленные установки:
Код:
Установка необходимого оборудования
Важно!
при установке пароля в MySQL установите такой пароль который вы сможете с легкостью запомнить, либо запишите его.
Код:
Получение исходников Ядра и Скриптов.
Скачаем самые новые версии Ядра и скриптов используя следующие команды:
Код:
Установка скриптов.
Накатываем патч на ядро используя следующую команду:
Код:
где * - версия ревизии патча
Компиляция сервера.
Если все предыдущие пункты у вас получились без ошибок, вы можете приступать непосредственно к компиляции самого сервера, это может занять от 30 минут до часа, в зависимости от мощности вашего Компьютера
Компилияцию мы будем проводить в «objdir»
Если вы перекомпилирываете сервер, то вы можете просто очистить папку и начать все с начала.
Код:
Теперь нам нужно настроить:
Код:
Последний и самый долгий шаг — это запуск компиляции
Код:
Если у вас Quad core процессор используйте "-j 4", если Dual Core то "-j 2". При компиляции для каждого ядра дополнительно нужно 375мб оперативной памяти. Для компиляции с 4 процессорами нужно будет более 1.5гб оперативной памяти. Если при компиляции будет недостаток памяти процесс будет прерван.
Ниже показаны примеры возможных ошибок, если во время компиляции вы получите не что подобное, попробуйте понизить количество ядер используемых в процессе компиляции.
Код:
Настройка сервера
Для начала нам нужно указать место где будет распологаться наш сервер
Код:
Теперь копируем файлы созданные компилятором в путь который мы указали в предыдущем пункте (не меняйте названия файлов)
Код:
Теперь настраиваем настройки сервера.
Указываем пароль MySQL который вы создали в самом начале
Код:
Незабудте изменить формат Конфигов (удалить .dist) в противном случае вы не сможете запустить ваш сервер.
Загрузка BD
Теперь нам нужно загрузить саму базу. В данном мануале мы сделаем это на примере UDB.
Код:
Скачиваем скрипты acid
Код:
Переходим к установке и настройке базы
Теперь вам снова понадобится пароль MySQL. ( напоминаю, его вы должны были установить в первом пункте когда ставили MySQL.)
Замечание!
Если вы сбились в ходе установки баз данных, вы можете их удалить и начать их установку заного.
Код:
Создаем пользователя для использования баз данных и создаем необходимые базы
(mangos, characters, realmd, and scriptdev2).
Код:
Замечу, что если вы хотите запустить эти команды без ввода пароля (например, в сценарии), вы можете поставить пароль сразу же после "-р" (без пробела после "-р").
Код:
Загрузка Баз данных
Код:
База mangos
Сейчас мы заселим наш будущий мир
Код:
Обновление базы
Теперь обновим базу до последней версии, обновления находятся в следующей дериктории: /opt/mangos/mangos/sql/updates/,
Внимание! обновление базы начинается от самого старого, к самому новому sql файлу.
К примеру если у вас много обновлений и вы не хотите каждое обновление загружать вручную, вы можете создать небольшой скрипт и положить его в дерикторию с обновлениями и просто его запустить
chmod +x /opt/mangos/mangos/sql/updates/updatescript.py
Вот содержание этого скрипта
Код:
Теперь запускаем этот скрипт
Код:
настройка базы Realmd
Нам нужно настроить IP так что бы игроки смогли заходить на наш сервер
Код:
Убедитесь что у вас включены sshd
Код:
В случае если у вас изначально не было maps vmaps и dbc, вы можете взять экстракторы из деректории с исходниками
Код:
Извлечение может занять достаточно длительное время, а файлы в итоге потребуют ~ 2GB свободного пространства на диске. По завершению у вас будет создано 5 папок. Из них вам нужно будет взять «maps», «dbc», and «vmaps» и перенести их в директорию где у вас установлен сервер(buildings можете удалить), а именно в /opt/mangos/bin (или туда куда вы установили бинарники вашего сервера).
Удаление не нужных файлов
Теперь мы можем удалить файлы которые нам больше не понадобятся
Код:
Обратите внимание! Для большей безопасности вы можете поменять ваш MySQL пароль
Код:
Запуск сервера
В первую очередь мы запустим realmd
Код:
Теперь запускаем непосредственно само ядро
Код:
Надеюсь у вас все получилось. Желаю удачи в ваших начинаниях.
Перед тем как начать проверьте что у вас присутствуют все нижеперечисленные установки:
Код:
Код:
Вы используете 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
Ниже показаны примеры возможных ошибок, если во время компиляции вы получите не что подобное, попробуйте понизить количество ядер используемых в процессе компиляции.
Код:
Код:
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
Загрузка BD
Теперь нам нужно загрузить саму базу. В данном мануале мы сделаем это на примере UDB.
Код:
Код:
cd ~ && mkdir udb && cd udb svn co https://unifieddb.svn.sourceforge.net/svnroot/unifieddb unifieddb
Код:
Код:
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
Сейчас мы заселим наш будущий мир
Код:
Код:
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
Нам нужно настроить 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
Код:
Код:
apt-get install openssh-server /etc/init.d/ssh start
Код:
Код:
contrib/extractor/ ad.exe contrib/vmap_extract_assembler_bin/ makevmaps_SIMPLE.bat make vmaps.bat splitConfig.txt vmap_assembler.exe vmapextract_v2.exe
Удаление не нужных файлов
Теперь мы можем удалить файлы которые нам больше не понадобятся
Код:
Код:
rm /root/*.rar -f rm /root/*.sql -f rm /root/*.deb -f
Код:
Код:
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