Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Документация (https://forum.zone-game.info/forumdisplay.php?f=76)
-   -   Установка сервера на Ubuntu (https://forum.zone-game.info/showthread.php?t=12054)

Itachi 15.01.2011 20:55

Установка сервера на Ubuntu
 
Данный мануал поможет вам установить 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

Надеюсь у вас все получилось. Желаю удачи в ваших начинаниях.

deadlocky 09.03.2011 18:10

Re: Установка сервера на Ubuntu
 
Код HTML:

autoreconf --install --force
 mkdir objdir
 cd objdir


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

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 первой ошибкой разобрался.. дальше снова тупик...

.
Код HTML:

./configure --prefix=/opt/mangos --sysconfdir=/opt/mangos/etc --enable-cli --enable-ra --datadir=/opt/mangos
bash: ../configure: Нет такого файла или каталога
skymax@skymax-M52S-S3P:~/mangos$


antonios 10.05.2011 23:20

Re: Установка сервера на Ubuntu
 
Та же проблема
при autoreconf --install --force
Выдает ошибку
autoreconf: `configure.ac' or `configure.in' is required
таких файлов нет и где взять ХЗ помогите!!!

Perfecto 11.05.2011 13:43

Re: Установка сервера на Ubuntu
 
Сейчас нужно использовать Cmake
http://getmangos.com/community/topic...masteronezero/


Текущее время: 11:45. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot