|
Вторник, 09.06.2015, 17:56 | Сообщение # 1
|
|
В данной статье мы рассмотрим варианты создания второго реалма на сервере Мангоса.Сразу сделаю небольшое отступление в сторону по поводу того чтоже такое реалм: Итак под реалмом пожно понять сам исполняющий фаил 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 гигабайт дискового пространства, отсюда для нескольких реалмов нужен довольно большой жесткий диск. Плюсы в том что он доступен каждому и не требует дополнительного софта Способ 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. |
|