Данный мануал поможет вам установить 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
Если у вас 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
Надеюсь у вас все получилось. Желаю удачи в ваших начинаниях.