1. What is multi-realm configuration of the server?
This is the most recommended setup even you are starting with single realm. It allows to offer multiple realms (aka Worlds) under one game client and single account where characters on every realm will be different.
Realm is group of servers (channels) represented under unique name and defined by range of server codes, example:
- Realm 1: Server codes 0-19 (group 0)
- Realm 2: Server codes 20-39 (group 1)
- Realm 3: Server codes 40-59 (group 2)
- and so on..
2. Understanding purpose of server applications
Purpose and maximum instances of different types of game servers is described in Additional Channel configuration tutorial.
Beside Game Servers there are additional applications being a part of server applications set, Data Server and Chat Server. In this tutorial we will focus on the first one.
Data Server main operation modes
- Regular Data Server
- Battle Core Data Server
Operating mode is controlled using IsBattleCoreServer setting in config.ini (IGCDS.ini for older version) of Data Server folder. To switch Data Server application to work for purpose of Battle Core Game Server, set above setting to 1.
1.1. Data Server modules
The Data Server application in constructed from three different modules
- JoinServer: taking key part of login process, general accounts operations and cross-channel moves
- DataServer: handles general data flow between game and database
- ExDataServer: handles specific data (shared among channel) flow between game and database, it is responsible for Personal Store, Monster Soul, Party, Guilds, Gens, MuHelper, ItemDropLimit, certain rewards distribution
The above modules can be turned on or off by changing below settings to 1 or 0.
UseJoinServer = 1
UseDataServer = 1
UseExDataServer = 1
Depending of main operational mode of Data Server application (Regular/BattleCore) the modules should be configured as in default file examples provided by us.
- Regular server: uses all 3 modules
- BattleCore server: uses Join and Data Server modules, ExData Server should stay disabled
1.2. Understanding how and where to use Data Server application modules
- JoinServer: can be used only one time for all realms served under single game client
- Data Server: can be used multiple times to split load within single realm, different game servers can use different instances of Data Server
- ExDataServer: can be used only once within single realm, all game servers should connect to single ExData Server.
3. Folders structure for multi realm setup
The below folders structure is base example of how to start with multi realm
-
Server
- JoinServer
- ConnectServer
-
Realm #1
- DataServer
- GameServer_R (one or more)
- GameServer_A
- GameServer_M
- GameServer_C
- GameServer_I
- ChatServer
-
Data
- MapServerInfo.xml
-
Realm #2
- DataServer
- GameServer_R (one or more)
- GameServer_A
- GameServer_M
- GameServer_C
- GameServer_I
- ChatServer
-
Data
- MapServerInfo.xml
-
BattleCore
- DataServer_B
- GameServer_B
- Data
- MapServerInfo_Global *
* - Continue read for further explanation
4. Databases Structure
The below structure is base example for the above two realms setup with BattleCore
- AccountDB: restored from Me_Muonline.sql script
- R1_CharacterData: restored from MuOnline.sql script
- R1_Events: restored from Events.sql script
- R1_ Ranking: restored from Ranking.sql script
- R2_CharacterData: restored from MuOnline.sql script
- R2_Events: restored from Events.sql script
- R2_ Ranking: restored from Ranking.sql script
- BattleCore: restored from BattleCore.sql script
5. Server configuration (modules)
5.1. JoinServer
The Join Server is simply a module from DataServer application. To configure operational JoinServer, copy content of DataServer application into JoinServer folder and configure config.ini as follows:
UseJoinServer = 1
UseDataServer = 0
UseExDataServer = 0
JoinServerPort = 56970
DataServerPort = 0
ExDataServerPort = 0
MapServerInfoPath = ..\\MapServerInfo_Global.xml
CharacterDB =
AccountDB = AccountDB
EventDB =
RankingDB =
5.2. Data and ExData Server modules (per realm)
To configure the Data and ExData Server modules, follow to DataServer folder of every realm, open config.ini (IGCDS.ini for older versions) and configure them using below example:
UseJoinServer = 0
UseDataServer = 1
UseExDataServer = 1
JoinServerPort = 0
DataServerPort = 56960
ExDataServerPort = 56906
ChatServerPort = 56980
CharacterDB = R1_CharacterData
AccountDB = AccountDB
EventDB = R1_Events
RankingDB = R1_Ranking
Note that all Data and ExData Server module ports should be unique per realm configuration. Change them in config.ini of every realm. Each realm should point to different databases using our previous logic, considering the only shared database is AccountDB, so second realm configuration will be:
CharacterDB = R2_CharacterData
AccountDB = AccountDB
EventDB = R2_Events
RankingDB = R2_Ranking
5.3. Data and ExData Server modules (BattleCore)
UseJoinServer = 1
UseDataServer = 1
UseExDataServer = 0
JoinServerPort = 56770
DataServerPort = 56760
ExDataServerPort = 56706
CharacterDB = BattleCore
AccountDB = AccountDB
EventDB = BattleCore
RankingDB = BattleCore
To configure the Data and ExData Server modules of BattleCore Data Server, follow to DataServer_BattleCore folder, open config.ini (IGCDS.ini for older versions) and configure it using below example:
5.4. Game Server configuration - GameServer.ini
Every game server belonging to different realm should be pointed to valid shared and realm-dedicated component.
Shared components game server connects to are: Join Server and Connect Server. Every game server should be configured as follows (using default configuration used in this article):
JoinServerPort = 56970
ConnectServerPort = 55667
Realm-dedicated components game server connect to are: Data Server, ExData Server. Game Servers from different realms should point to module of realm they belong to:
DataServerPort = 56960
ExDBPort = 56906
The GameServer.ini and config.ini (IGCDS.ini for older version) ports configuration should match then.
6. Server Mapping - MapSerevrInfo.xml
The MapServerInfo.xml file should be configured with extra care. Misconfiguration of the file will lead in number of undefined issues, such as inability to move, move to invalid servers, double-login (dupe) and other.
6.1. Realm-dedicated Map Server Info
The file is by default located in \Data\ folder and should contain information about servers of current realm only, e.g. if configuring realm 2 (server codes 20-39) it should only contain information of server codes from that range and BattleCore server (as per default example).
Example
<MapServer> <ServerList> <Server Code="20" Initiation="1" IP="PUBLIC_IP" Port="57900" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Regular" /> <Server Code="32" Initiation="0" IP="PUBLIC_IP" Port="57912" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Market" /> <Server Code="33" Initiation="0" IP="PUBLIC_IP" Port="57913" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Arca" /> <Server Code="34" Initiation="0" IP="PUBLIC_IP" Port="57914" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Siege" /> <Server Code="35" Initiation="0" IP="PUBLIC_IP" Port="57915" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Instance" /> <Server Code="480" Initiation="0" IP="PUBLIC_IP" Port="56120" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="BattleCore" /> </ServerList> <ServerMapping> <Server Code="20" MoveAble="0" MapNumber="30" DestServerCode="34" Name="Regular to Siege"/> <Server Code="20" MoveAble="0" MapNumber="31" DestServerCode="34" Name="Regular to Siege"/> <Server Code="20" MoveAble="0" MapNumber="34" DestServerCode="34" Name="Regular to Siege"/> <Server Code="20" MoveAble="0" MapNumber="41" DestServerCode="34" Name="Regular to Siege"/> <Server Code="20" MoveAble="0" MapNumber="42" DestServerCode="34" Name="Regular to Siege"/> <Server Code="20" MoveAble="0" MapNumber="79" DestServerCode="32" Name="Regular to Market"/> <Server Code="20" MoveAble="0" MapNumber="92" DestServerCode="33" Name="Regular to Arca"/> <Server Code="20" MoveAble="0" MapNumber="96" DestServerCode="33" Name="Regular to Arca"/> <Server Code="20" MoveAble="0" MapNumber="114" DestServerCode="35" Name="Regular to Instance" /> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <Server Code="32" MoveAble="0" MapNumber="30" DestServerCode="34" Name="Market to Siege"/> <Server Code="32" MoveAble="0" MapNumber="34" DestServerCode="34" Name="Market to Siege"/> <Server Code="32" MoveAble="0" MapNumber="31" DestServerCode="34" Name="Market to Siege"/> <Server Code="32" MoveAble="0" MapNumber="41" DestServerCode="34" Name="Market to Siege"/> <Server Code="32" MoveAble="0" MapNumber="42" DestServerCode="34" Name="Market to Siege"/> <Server Code="32" MoveAble="1" MapNumber="79" DestServerCode="-1" Name="Stay on Market"/> <Server Code="32" MoveAble="0" MapNumber="92" DestServerCode="33" Name="Market to Arca"/> <Server Code="32" MoveAble="0" MapNumber="96" DestServerCode="33" Name="Market to Arca"/> <Server Code="32" MoveAble="0" MapNumber="114" DestServerCode="35" Name="Market to Instance"/> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <Server Code="33" MoveAble="0" MapNumber="30" DestServerCode="34" Name="Arca to Siege"/> <Server Code="33" MoveAble="0" MapNumber="31" DestServerCode="34" Name="Arca to Siege"/> <Server Code="33" MoveAble="0" MapNumber="34" DestServerCode="34" Name="Arca to Siege"/> <Server Code="33" MoveAble="0" MapNumber="41" DestServerCode="34" Name="Arca to Siege"/> <Server Code="33" MoveAble="0" MapNumber="42" DestServerCode="34" Name="Arca to Siege"/> <Server Code="33" MoveAble="0" MapNumber="79" DestServerCode="32" Name="Arca to Market"/> <Server Code="33" MoveAble="1" MapNumber="92" DestServerCode="-1" Name="Stay on Arca"/> <Server Code="33" MoveAble="1" MapNumber="96" DestServerCode="-1" Name="Stay on Arca"/> <Server Code="33" MoveAble="0" MapNumber="114" DestServerCode="35" Name="Arca to Instance"/> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <Server Code="34" MoveAble="1" MapNumber="30" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="34" MoveAble="1" MapNumber="34" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="34" MoveAble="1" MapNumber="31" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="34" MoveAble="1" MapNumber="41" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="34" MoveAble="1" MapNumber="42" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="34" MoveAble="0" MapNumber="79" DestServerCode="32" Name="Siege to Market"/> <Server Code="34" MoveAble="0" MapNumber="92" DestServerCode="33" Name="Siege to Arca"/> <Server Code="34" MoveAble="0" MapNumber="96" DestServerCode="33" Name="Siege to Arca"/> <Server Code="34" MoveAble="0" MapNumber="114" DestServerCode="35" Name="Siege to Instance"/> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <Server Code="35" MoveAble="0" MapNumber="30" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="35" MoveAble="0" MapNumber="34" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="35" MoveAble="0" MapNumber="31" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="35" MoveAble="0" MapNumber="41" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="35" MoveAble="0" MapNumber="42" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="35" MoveAble="0" MapNumber="79" DestServerCode="32" Name="Instance to Market"/> <Server Code="35" MoveAble="0" MapNumber="92" DestServerCode="33" Name="Instance to Arca"/> <Server Code="35" MoveAble="0" MapNumber="96" DestServerCode="33" Name="Instance to Arca"/> <Server Code="35" MoveAble="1" MapNumber="114" DestServerCode="35" Name="Stay on Instance"/> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <Server Code="480" MoveAble="0" MapNumber="30" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> <Server Code="480" MoveAble="0" MapNumber="34" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> <Server Code="480" MoveAble="0" MapNumber="31" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> <Server Code="480" MoveAble="0" MapNumber="41" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> <Server Code="480" MoveAble="0" MapNumber="42" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> <Server Code="480" MoveAble="1" MapNumber="79" DestServerCode="-1" Name="Stay on BattleCore (Move Enabled)"/> <Server Code="480" MoveAble="0" MapNumber="92" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> <Server Code="480" MoveAble="0" MapNumber="96" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> <Server Code="480" MoveAble="0" MapNumber="114" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> </ServerMapping> </MapServer>
6.2.Global MapServerInfo.xml
The file is simply a copy under special name. It should contain information of servers (channels) of every realm and BattleCore. Server components that should point to the file are: Join Server, BattleCore Data Server, BattleCore Game Server, can be configured using MapServerInfoPath from per application config, config.ini (IGCDS.ini for older versions) and GameServer.ini
Example file containing info of realm 1 and realm 2
<MapServer> <ServerList> <!-- Realm 1 --> <Server Code="0" Initiation="1" IP="PUBLIC_IP" Port="56900" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Regular" /> <Server Code="12" Initiation="0" IP="PUBLIC_IP" Port="56912" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Market" /> <Server Code="13" Initiation="0" IP="PUBLIC_IP" Port="56913" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Arca" /> <Server Code="14" Initiation="0" IP="PUBLIC_IP" Port="56914" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Siege" /> <Server Code="15" Initiation="0" IP="PUBLIC_IP" Port="56915" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Instance" /> <!-- Realm 2 --> <Server Code="20" Initiation="1" IP="PUBLIC_IP" Port="57900" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Regular" /> <Server Code="32" Initiation="0" IP="PUBLIC_IP" Port="57912" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Market" /> <Server Code="33" Initiation="0" IP="PUBLIC_IP" Port="57913" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Arca" /> <Server Code="34" Initiation="0" IP="PUBLIC_IP" Port="57914" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Siege" /> <Server Code="35" Initiation="0" IP="PUBLIC_IP" Port="57915" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="Instance" /> <!-- BattleCore --> <Server Code="480" Initiation="0" IP="PUBLIC_IP" Port="56120" MinEntryGrandReset="-1" MaxEntryGrandReset="-1" MinEntryReset="-1" MaxEntryReset="-1" MinEntryLevel="-1" MaxEntryLevel="-1" Name="BattleCore" /> </ServerList> <ServerMapping> <!-- Realm 1 --> <Server Code="0" MoveAble="0" MapNumber="30" DestServerCode="14" Name="Regular to Siege"/> <Server Code="0" MoveAble="0" MapNumber="31" DestServerCode="14" Name="Regular to Siege"/> <Server Code="0" MoveAble="0" MapNumber="34" DestServerCode="14" Name="Regular to Siege"/> <Server Code="0" MoveAble="0" MapNumber="41" DestServerCode="14" Name="Regular to Siege"/> <Server Code="0" MoveAble="0" MapNumber="42" DestServerCode="14" Name="Regular to Siege"/> <Server Code="0" MoveAble="0" MapNumber="79" DestServerCode="12" Name="Regular to Market"/> <Server Code="0" MoveAble="0" MapNumber="92" DestServerCode="13" Name="Regular to Arca"/> <Server Code="0" MoveAble="0" MapNumber="96" DestServerCode="13" Name="Regular to Arca"/> <Server Code="0" MoveAble="0" MapNumber="114" DestServerCode="15" Name="Regular to Instance" /> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <Server Code="12" MoveAble="0" MapNumber="30" DestServerCode="14" Name="Market to Siege"/> <Server Code="12" MoveAble="0" MapNumber="34" DestServerCode="14" Name="Market to Siege"/> <Server Code="12" MoveAble="0" MapNumber="31" DestServerCode="14" Name="Market to Siege"/> <Server Code="12" MoveAble="0" MapNumber="41" DestServerCode="14" Name="Market to Siege"/> <Server Code="12" MoveAble="0" MapNumber="42" DestServerCode="14" Name="Market to Siege"/> <Server Code="12" MoveAble="1" MapNumber="79" DestServerCode="-1" Name="Stay on Market"/> <Server Code="12" MoveAble="0" MapNumber="92" DestServerCode="13" Name="Market to Arca"/> <Server Code="12" MoveAble="0" MapNumber="96" DestServerCode="13" Name="Market to Arca"/> <Server Code="12" MoveAble="0" MapNumber="114" DestServerCode="15" Name="Market to Instance"/> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <Server Code="13" MoveAble="0" MapNumber="30" DestServerCode="14" Name="Arca to Siege"/> <Server Code="13" MoveAble="0" MapNumber="31" DestServerCode="14" Name="Arca to Siege"/> <Server Code="13" MoveAble="0" MapNumber="34" DestServerCode="14" Name="Arca to Siege"/> <Server Code="13" MoveAble="0" MapNumber="41" DestServerCode="14" Name="Arca to Siege"/> <Server Code="13" MoveAble="0" MapNumber="42" DestServerCode="14" Name="Arca to Siege"/> <Server Code="13" MoveAble="0" MapNumber="79" DestServerCode="12" Name="Arca to Market"/> <Server Code="13" MoveAble="1" MapNumber="92" DestServerCode="-1" Name="Stay on Arca"/> <Server Code="13" MoveAble="1" MapNumber="96" DestServerCode="-1" Name="Stay on Arca"/> <Server Code="13" MoveAble="0" MapNumber="114" DestServerCode="15" Name="Arca to Instance"/> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <Server Code="14" MoveAble="1" MapNumber="30" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="14" MoveAble="1" MapNumber="34" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="14" MoveAble="1" MapNumber="31" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="14" MoveAble="1" MapNumber="41" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="14" MoveAble="1" MapNumber="42" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="14" MoveAble="0" MapNumber="79" DestServerCode="12" Name="Siege to Market"/> <Server Code="14" MoveAble="0" MapNumber="92" DestServerCode="13" Name="Siege to Arca"/> <Server Code="14" MoveAble="0" MapNumber="96" DestServerCode="13" Name="Siege to Arca"/> <Server Code="14" MoveAble="0" MapNumber="114" DestServerCode="15" Name="Siege to Instance"/> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <Server Code="15" MoveAble="0" MapNumber="30" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="15" MoveAble="0" MapNumber="34" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="15" MoveAble="0" MapNumber="31" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="15" MoveAble="0" MapNumber="41" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="15" MoveAble="0" MapNumber="42" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="15" MoveAble="0" MapNumber="79" DestServerCode="12" Name="Instance to Market"/> <Server Code="15" MoveAble="0" MapNumber="92" DestServerCode="13" Name="Instance to Arca"/> <Server Code="15" MoveAble="0" MapNumber="96" DestServerCode="13" Name="Instance to Arca"/> <Server Code="15" MoveAble="1" MapNumber="114" DestServerCode="15" Name="Stay on Instance"/> <!-- Realm 2 --> <Server Code="20" MoveAble="0" MapNumber="30" DestServerCode="34" Name="Regular to Siege"/> <Server Code="20" MoveAble="0" MapNumber="31" DestServerCode="34" Name="Regular to Siege"/> <Server Code="20" MoveAble="0" MapNumber="34" DestServerCode="34" Name="Regular to Siege"/> <Server Code="20" MoveAble="0" MapNumber="41" DestServerCode="34" Name="Regular to Siege"/> <Server Code="20" MoveAble="0" MapNumber="42" DestServerCode="34" Name="Regular to Siege"/> <Server Code="20" MoveAble="0" MapNumber="79" DestServerCode="32" Name="Regular to Market"/> <Server Code="20" MoveAble="0" MapNumber="92" DestServerCode="33" Name="Regular to Arca"/> <Server Code="20" MoveAble="0" MapNumber="96" DestServerCode="33" Name="Regular to Arca"/> <Server Code="20" MoveAble="0" MapNumber="114" DestServerCode="35" Name="Regular to Instance" /> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <Server Code="32" MoveAble="0" MapNumber="30" DestServerCode="34" Name="Market to Siege"/> <Server Code="32" MoveAble="0" MapNumber="34" DestServerCode="34" Name="Market to Siege"/> <Server Code="32" MoveAble="0" MapNumber="31" DestServerCode="34" Name="Market to Siege"/> <Server Code="32" MoveAble="0" MapNumber="41" DestServerCode="34" Name="Market to Siege"/> <Server Code="32" MoveAble="0" MapNumber="42" DestServerCode="34" Name="Market to Siege"/> <Server Code="32" MoveAble="1" MapNumber="79" DestServerCode="-1" Name="Stay on Market"/> <Server Code="32" MoveAble="0" MapNumber="92" DestServerCode="33" Name="Market to Arca"/> <Server Code="32" MoveAble="0" MapNumber="96" DestServerCode="33" Name="Market to Arca"/> <Server Code="32" MoveAble="0" MapNumber="114" DestServerCode="35" Name="Market to Instance"/> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <Server Code="33" MoveAble="0" MapNumber="30" DestServerCode="34" Name="Arca to Siege"/> <Server Code="33" MoveAble="0" MapNumber="31" DestServerCode="34" Name="Arca to Siege"/> <Server Code="33" MoveAble="0" MapNumber="34" DestServerCode="34" Name="Arca to Siege"/> <Server Code="33" MoveAble="0" MapNumber="41" DestServerCode="34" Name="Arca to Siege"/> <Server Code="33" MoveAble="0" MapNumber="42" DestServerCode="34" Name="Arca to Siege"/> <Server Code="33" MoveAble="0" MapNumber="79" DestServerCode="32" Name="Arca to Market"/> <Server Code="33" MoveAble="1" MapNumber="92" DestServerCode="-1" Name="Stay on Arca"/> <Server Code="33" MoveAble="1" MapNumber="96" DestServerCode="-1" Name="Stay on Arca"/> <Server Code="33" MoveAble="0" MapNumber="114" DestServerCode="35" Name="Arca to Instance"/> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <Server Code="34" MoveAble="1" MapNumber="30" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="34" MoveAble="1" MapNumber="34" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="34" MoveAble="1" MapNumber="31" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="34" MoveAble="1" MapNumber="41" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="34" MoveAble="1" MapNumber="42" DestServerCode="-1" Name="Stay on Siege"/> <Server Code="34" MoveAble="0" MapNumber="79" DestServerCode="32" Name="Siege to Market"/> <Server Code="34" MoveAble="0" MapNumber="92" DestServerCode="33" Name="Siege to Arca"/> <Server Code="34" MoveAble="0" MapNumber="96" DestServerCode="33" Name="Siege to Arca"/> <Server Code="34" MoveAble="0" MapNumber="114" DestServerCode="35" Name="Siege to Instance"/> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <Server Code="35" MoveAble="0" MapNumber="30" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="35" MoveAble="0" MapNumber="34" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="35" MoveAble="0" MapNumber="31" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="35" MoveAble="0" MapNumber="41" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="35" MoveAble="0" MapNumber="42" DestServerCode="-1" Name="Instance to Siege"/> <Server Code="35" MoveAble="0" MapNumber="79" DestServerCode="32" Name="Instance to Market"/> <Server Code="35" MoveAble="0" MapNumber="92" DestServerCode="33" Name="Instance to Arca"/> <Server Code="35" MoveAble="0" MapNumber="96" DestServerCode="33" Name="Instance to Arca"/> <Server Code="35" MoveAble="1" MapNumber="114" DestServerCode="35" Name="Stay on Instance"/> <!-- BattleCore --> <Server Code="480" MoveAble="0" MapNumber="30" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> <Server Code="480" MoveAble="0" MapNumber="34" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> <Server Code="480" MoveAble="0" MapNumber="31" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> <Server Code="480" MoveAble="0" MapNumber="41" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> <Server Code="480" MoveAble="0" MapNumber="42" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> <Server Code="480" MoveAble="1" MapNumber="79" DestServerCode="-1" Name="Stay on BattleCore (Move Enabled)"/> <Server Code="480" MoveAble="0" MapNumber="92" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> <Server Code="480" MoveAble="0" MapNumber="96" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> <Server Code="480" MoveAble="0" MapNumber="114" DestServerCode="-1" Name="Stay on BattleCore (Move Disabled)"/> </ServerMapping> </MapServer>
6.3. BattleCore server
The BattleCore server is special game server instance handling events where players from different realms can join and compete.
That type of Data and Game Servers should be running under single instance only, one for all realms. To configure server mapping properly, point dat and game servers to it properly for MapServerInfo_Global.xml using MapServerInfoPath setting from config.ini and GameServer.ini.