В данной статье мы рассмотрим варианты создания второго реалма на сервере Мангоса. Сразу сделаю небольшое отступление в сторону по поводу того чтоже такое реалм:
Итак под реалмом пожно понять сам исполняющий фаил relmd.exe, также под
реалмом понимается база данных в которой хранятся все аккаунты и
информация о мирах. Ну и последний вариант это игровой мир в
нутри сервера который тоже называют реалмом, вот про дополнительное
создание такого мира и пойдет речь. Второй реалм открывают в
случае если на первом уже слишком большое количество играющих, но
зачастую два реалма релают просто чтобы разделить сервер на две разные
зоны в одной к примеру действуют рпг правила, а вторая же это пвп зона
с высокими рейтами. Существует несколько способов создать второй реалм начну с более простого и доступного. Способ 1 1. Создаете 2 папки. Например "MangosFAN" и "MangosBLIZZLIKE". 2. Заливаете туда исходники сервера, ДБЦ фаилы и карты. 3. В MySQL создаём 5 баз данных, допустим mangosFan, mangosBlizz, charactersFan, charactersBlizz и realmd. 4. В mangosFan и mangosBlizz заливаете полную базу. В базы charactersFan и charactersBlizz заливаем базы под чаров. 5. Настраиваете в папках MangosFan и MangosBlizzlike фаилы mangosd.conf и realmd.conf как вам нравится.
6. В фаилах конфигурации mangosd.conf находите строку WorldServerPort
="число"(стандартно 8085). В папке "MangosFan" в конфиге выставляете
WorldServerPort =8085, а в папке "MangosBlizzlike" WorldServerPort
=8086. 7. Теперь перейдем к базе, открываем базу realmd,
находим таблицу realmlist, туда вписываем еще одну строку, вписываем
туда тоже самое что и в перовой, но меняем название сервера (если
угодно) и меняем запись в столбце port, в первой записи 8085 а во
второй 8086 допустим. Нужно запустить realmd.exe из папки
"MangosFan", затем mangosd.exe из папки "MangosFan", затем mangosd.exe
папки "MangosBlizzlike". Способ 2 Допустим вы скачали
или скомпилили сервер, извлекли из клиента папки maps, dbc и vmaps, а
также настроили базу данных. Следовательно папка с серверам должна
содержать файлы показанные на рис. №1 конечно в случае компиляции будут
присутствовать файлы *.pdb, а в случае скаченного сервара что то еще Разделим весь процесс на два этапа этап А это подготовка ядра и этап Б подготовка базы данных Итак первый способ знают многие рассмотрим его по шагам: А 1. Создаем папку с любым названием 2. Копируем файлы указанные на рис. №2 в созданную ранее папку Б 1. Открываем навикат (к сожалению других аналогов у меня в данный момент нет) заходим в базу realmd
2. Открываем таблицу realmlist и дублируем последнюю строку за
исключением столбцов id (вводим значение идущее следом за передыдущим
например была одна строка с айди 1 значит вводим айди 2), name (вводим
желаемое название реалма), port (вводим новый порт, ввести можно любое
четырех значное число отличное от значений в передыдущих строках) также
можно изменить значение столбца icon (значение оптередяет тип реалма,
можно вводить 0 - Normal, 1 - PVP, 4 - Normal, 6 - RP, 8 - RPPVP) и
color (значение 0 - желтый цвет и 1 - красный) в результате у вас
должно получится аналог того что приведено на рис. №3 3.
Теперь создаем еще одну базу персонажей для этого открываем навикат
жмем правой кнопкой мыши на вашем соединении и выбираем New Database в
открывшемся окне вводим названия базы (например characters2) и жмем ок,
теперь можно или "залить" sql файл с новой базой через Execure Batch
File... или сделать копию существующей базы characters. Заходим в меню
Tools - Data Tansfer выбираем из какой бд в какую производить копию и
жмем start пример показан на рис. №4 4. Открываем mangosd.conf
(в новой папке) блокнотом и правим строки как показано на рис. №5
(RealmID = 2 значит что этот реалм будет вторым по списку,
;characters2" если вы создали новую базу персонажей с другим именем то
вводите его, WorldServerPort = 8086 здесь пропишите порт которые вы
вводили в таблице realmlist) 5. На этом создание завершается
остается только запустить из старой пакпи с сервером realmd.exe и
mangosd.exe из старой и новой папки. Минусы в том что папки
maps, dbc и vmaps занимают порядка 3 гигабайт дискового пространства,
отсюда для нескольких реалмов нужен довольно большой жесткий диск. Плюсы в том что он доступен каждому и не требует дополнительного софта [/i] Способ 3 Второй способ расчитан на тех кто сам компилит сервер. Итак рассмотрим порядок выполнения данного способа: А 1. Скомпилить сервер как обычно.
2. После того как сервер был скомпилен открываем
..\src\shared\SystemConfig.h.in и если есть SystemConfig.h (где ..
полный путь к сурсам) ищем строку # define _MANGOSD_CONFIG
"mangosd.conf" для win систем или # define _MANGOSD_CONFIG
"@sysconfdir@/mangosd.conf" для nix систем и меняем значение
mangosd.conf на mangosd2.conf ( вместо mangosd2можно ввести что угодно)
пример показан на рис. №6 3. Открываем проект подходящий для вашей VC (в моем случае mangosdVC90.sln) 4. В окне Solution Exploer ищем mangosd жмем правой кнопкой мыши и выбираем Properties рис. №7
5. В открывшемся окне открываем в меню слева Configuration Properties -
Linker- General далее в правой части ищем строку Output File и в самам
конце меняем mangosd.exe на то что указывали во втором пункте в моем
случае mangosd2.exe и жмем ок, пример на рис. №8 6. Теперь
осталось только скомпилить новый исполняемый файл для этого открываем
Confuguration Manager выбираем в Active solution configuration^ Release
и снимаем галочки со всего кроме gensvnrevision и mangosd закрываем
менеджер, пример на на рис. №9 7. Жмем Build Solution ждем
пока закончиться компил в результате в папке ..\bin\Win32_Release (по
умолчанию) у вас будет набор файлов показанный на рис.№10 Б
1. Теперь проделываем все описанное в первом способе за исключением что
в шестом пункте вам нужно будет отрывать конфиг mangosd2 (или с тем что
указали вы) в этой же папке 2. Остается скопировать кофиги
мангоса, реалма и скрипдева и сделать дополнительную копию конфига
мангоса с названием которое вы вписывали в пункте №2 например
mangosd2.conf, содежимое готового сервера с двумя реалмами показан на
рис. №11 3. Для запуска сервера стартуем realmd.exe, mangosd.exe и mangosd2.exe (ну или название из пункта 5) Минусы в том что не всем под силу воспользоваться данныс способом, а также понадобиться дополнительный софт.
Плюсы в том что данный способ намного более экономичен в требуемом
месте так как для всех исполняемых файлов (mangosd.exe) используються
одна копия папок maps, dbc и vmaps.
|