Показать сообщение отдельно
Старый 23.03.2010, 22:47   #1
stippi
Гость
 
Сообщений: n/a
По умолчанию [Hint] Несколько рилмов на одном сервере

Рано или поздно, возникает вопрос: можно ли, используя один аккаунт, играть на разных рилмах? Ответ - ДА. Это нужно когда, например, создается несколько серверов с разными рейтами/ разным набором патчей / для разных версий клиентов (классик, БК, ВОТЛК). Из личных наблюдений замечено, что обычному рядовому игроку удобнее разово создать единый аккаунт, чем иметь пачку аккаунтов на разных серверах.

И так - мы решились!
Пример рассматривается на добавлении второго рилма MaNGOSZERO (клиент 1.12.1) к уже одному существующему MaNGOS (текущая версия 3.3.2) на одном сервере.

1. Работаем с базой.

Для добавления второго (третьего, четвертого ... n) рилма нам необходимо добавить еще один (два, три .. n) комплект баз в привилегии уже существующего пользователя БД. Впрочем, база realmd у нас будет одна общая для всех. Рассмотрим подробнее:

Комплект для MaNGOS: characters, mangos, realmd, scriptdev2
Комплект для MaNGOSZERO: characterszero, mangoszero, scriptdev2zero
После того как будут созданы необходимые базы, заливаем в них соответствующие дампы.
Теперь завершающий штрих, прописываем еще один рилм в базу. Для этого переходим в realmd -> realmlist и тут добавляем вторую строку, где указываем:
id - 2 (порядковый номер рилма)
name - имя второго рилма
adress - IP адрес рилма
port - 8086 (порт рилма, стандартный увеличиваем на единичку)
Вот в принципе и все, с базой разобрались.

2. Работаем с файлами.
После базы переходим к настройке конфигов серверов.
У нас есть две папки с серверами это mangos и mangoszero. Так как первый сервер (mangos) у нас уже настроен, то нам необходимо настроить сервер mangoszero (запустить второй рилм). Чтобы нам это сделать, необходимо настроить два из трех конфигов.
Идем в mangoszero/etc/ и редактируем в scriptdevzero.conf
Код:
ScriptDev2DatabaseInfo     = "localhost;3306;mangos;mangos;scriptdev2zero"
в конфиге mangosd.conf редактируем секцию коннекта к базе
Код:
RealmID = 2
*
*
LoginDatabaseInfo     = "localhost;3306;mangos;mangos;realmd;"
WorldDatabaseInfo     = "localhost;3306;mangos;mangos;mangoszero"
CharacterDatabaseInfo = "localhost;3306;mangos;mangos;characterszero"
*
WorldServerPort = 8086
*
Обращаем внимание на выделенное красным, эти базы мы завели в первой части, и теперь на них и указываем
Синим же цветом указана общая для обоих серверов база.
Теперь нам осталось после запуска сервера mangos запустить из mangoszero только mangos-worldd и после авторизации в игре можно увидеть наш второй рилм.
В итоге имеем одну общую базу аккаунтов, а персонажи каждого рилма хранятся в своей базе.

PS. Для экономии дискового места, если сервер у вас собран для одной версии игры, а базы одна fun а другая blizzlike, можно сдублировать mangosd.conf и назвать его, например mangosd2.conf выставить все необходимые параметры в нем и запустить строкой
Код:
mangos-worldd -c "mangosd2.conf"
для Windows
Код:
Mangosd.exe -c "mangosd2.conf"

Последний раз редактировалось stippi; 06.04.2010 в 18:06.
  Ответить с цитированием
6 пользователя(ей) сказали cпасибо:
fedr (12.05.2010), KiriX (07.05.2010), Limpnau (12.06.2010), tempura (24.03.2010)