MapManager.xml

One entry per map. Controls PK mode, drop rates, experience scaling, MuHelper/custom-feature toggles, and the respawn gate used when a character dies on that map.

File Location#

Data/MapManager.xml

Loaded at GameServer startup. /reload common (or reload.common in the Server Manager) reloads it without a restart, with two limits: MaxItems is only read at startup, so changing it needs a restart; and the map display names sent to the client are not rebuilt by /reload common - run /reload plugins after it, then players relog to see new names.

Schema#

<MapList>
    <Map Index="..." Name="..." NonPK="..." PKLimit="..." PKLimitResetInterval="..."
         ViewRange="..." ExperienceRate="..." ItemDropRate="..."
         ExcItemDropRate="..." SetItemDropRate="..."
         SocketItemDrop="..." ExcOptionsRateIndex="..."
         HelperEnable="..." GensBattle="..."
         CustomAttack="..." PkDropItem="..." DeathGate="..."
         HelperMinLevel="..." HelperMaxLevel="..."
         HelperExpRate="..." HelperCostMultiplier="..."
         OffAttackMinLevel="..." OffAttackMaxLevel="..."
         OffAttackMaxTime="..." OffAttackExpRate="..." MaxItems="..."
         MonsterDamageRate="..." />
</MapList>

Ship every map you want players to reach. Maps without an entry fall back to the server-wide defaults (non-PK state from Common.dat, view range 15, experience and drop multipliers 100, all feature toggles 0, death gate 17).

Attributes#

Identity#

AttributeTypeEffect
IndexintMap number. Must match the terrain file and client data. Unique per entry
NamestringDisplay name for this map. Sent to every client at login and used in the top-left location panel, the party list and the portal UI, overriding the client's built-in map name. Max 31 characters

PK and Visibility#

AttributeValueEffect
NonPK*Use the server-wide NonPK setting from Common.dat
NonPK1Safe zone. All PK disabled on this map
NonPK2Outlaw-free zone. Outlaw (second-tier PK) status is suppressed on this map
PKLimitint, * or 0 = offMaximum free (non-consensual) player kills a single source IP may commit on this map before further PK is blocked. * or 0 = unlimited (feature off). The counter is tracked per source IP and per map. Consensual PvP (duel, guild war, event maps) does not count
PKLimitResetIntervalint ms, * = defaultLength of the rolling window for PKLimit, in milliseconds (for example 900000 = 15 minutes). When the window expires the IP's kill count for this map resets to zero. *, 0, or negative uses the built-in default of 900000 ms. Ignored when PKLimit is unlimited
ViewRange10-12 typical, * allowedMonster and player visibility radius. Most maps use 12; tight arenas use 10. * falls back to the server default of 15
MonsterDamageRateint %, * = 100% of damage monsters deal to players on this map. * or missing = 100. Stacks with the per-class MonsterDamageRateTo* keys in Character.dat. Player summons are not affected
ElementWeakelement, * = noneDefault element weakness for monsters on this map that have no Weak in Monster.xml. Ice, Poison, Lightning, Fire, Earth, Wind, Water or 0-6. Skills of that element deal ElementWeakBonus% more (Character.dat)
ElementStrongelement, * = noneSame for strength: skills of that element deal ElementStrongPenalty% less

Drop Rates#

All rates are out of 1,000,000 (one million). 10000 = 1%, 100000 = 10%, 1000000 = 100%.

AttributeTypeEffect
ExperienceRateint %XP multiplier. 100 = 100% baseline, 200 = 2x
ItemDropRateintGeneral item drop multiplier, percent (not per-million). 100 = baseline
ExcItemDropRateint out of 10^6Chance of any drop rolling excellent. Requires monster level 25+
SetItemDropRateint out of 10^6Chance of any drop rolling ancient-set. Requires monster level 25+
SocketItemDrop0 or 11 enables socket items on this map

Excellent Options Source#

ExcOptionsRateIndex picks which ItemOptionRate.xml index controls excellent option counts:

ValueBehavior
* or -1OG Mode (default). ExcItemDropRate determines whether drops roll excellent. Uses ItemOptionRate indices 0/1 with DropLevel - 25, filtered item pool
0+Config Mode. Use the named ItemOptionRate index directly. ExcItemDropRate is ignored. Any item can become excellent based on that index's rates. No DropLevel reduction, full item pool

See ItemOptionRate.xml.

Feature Toggles#

AttributeDefaultEffect when 1
HelperEnable1 for normal maps, 0 inside event instancesMuHelper allowed on this map
GensBattle0Gens faction PvP enabled
CustomAttack1 for normal, 0 for eventsAllow PvP attack resolution via custom combat code paths
PkDropItem1 for normalItems drop on PK death (subject to Common.dat PkItemDrop* gates)

Per-map MuHelper and Offline Mode limits#

Eight attributes tune MuHelper and offline-attack behavior per map. Set any of them to * to inherit the server-wide value. Level caps count combined level (character Level + Master Level); 0 on a max-level cap means no cap.

AttributeType* falls back toEffect
HelperMinLevelintCommon.dat HelperActiveLevelMinimum character level to run MuHelper on this map
HelperMaxLevelint, 0 = no capCommon.dat HelperMaxLevelMaximum combined level to run MuHelper on this map
HelperExpRateint %Common.dat HelperExpRateXP percentage earned while MuHelper is active here. 100 = full, 50 = half
HelperCostMultiplierint %100 (no server-wide key)Zen cost percentage multiplier for MuHelper on this map. 100 = normal, 200 = double. * uses 100
OffAttackMinLevelintCommon.dat OffAttackMinLevelMinimum character level for offline attack on this map
OffAttackMaxLevelint, 0 = no capCommon.dat OffAttackMaxLevelMaximum combined level for offline attack on this map
OffAttackMaxTimeint minutes-1 (no limit; no server-wide key)Maximum minutes a character may stay in offline attack on this map. Overrides the per-tier CustomAttackTime_AL*. * means no per-map limit
OffAttackExpRateint %100 (no server-wide key)XP percentage earned during offline attack on this map. 100 = full. * uses 100

Four of these have a server-wide fallback key in Common.dat: HelperMaxLevel, HelperExpRate, OffAttackMinLevel, and OffAttackMaxLevel. HelperMinLevel falls back to HelperActiveLevel; HelperCostMultiplier and OffAttackExpRate fall back to 100; OffAttackMaxTime falls back to no per-map limit. Maps with no entry in this file also use these fallbacks.

Respawn#

AttributeTypeEffect
DeathGateintGate index to warp the player to on death. Gate definitions in Gate.txt

Ground Items#

AttributeTypeDefaultEffect
MaxItemsint500How many items can lie on the ground on this map at the same time. *, missing, 0 or negative = 500. Maximum 8000; higher values are cut to 8000

The shipped file does not set MaxItems, so every map uses 500. Raise it on maps where many drops pile up at once, such as dungeon or instance maps that hold every run's drops on one map.

Drop Rate Math#

Excellent and Set rolls use random(0, 999999); if roll < rate and monster level >= 25, drop is excellent/set.

ExcItemDropRateChance
10000.1%
100001%
500005%
10000010%
1000000100% (test-only)

Examples#

MapManager.xml fragment
<Map Index="0"  NonPK="*" ViewRange="12"
     ExperienceRate="100" ItemDropRate="100"
     ExcItemDropRate="100000" SetItemDropRate="0"
     SocketItemDrop="0" ExcOptionsRateIndex="*"
     HelperEnable="1" GensBattle="0"
     CustomAttack="1"
     PkDropItem="1" DeathGate="17" Name="Lorencia"/>

Lorencia: normal PK rules, 10% excellent drop chance, respawn via gate 17.

Cross-File Dependencies#

AttributeRelated in
ExperienceRateCombined with Common.dat AddExperienceRate_AL0-3
ItemDropRateCombined with Common.dat ItemDropRate_AL0-3
ExcItemDropRate / SetItemDropRatePool definitions in ExcellentOptionRate.xml and SetItemType.xml
SocketItemDropSocket item definitions in SocketItemType.xml
ExcOptionsRateIndexNamed rate index in ItemOptionRate.xml
HelperEnableMaster toggle in Common.dat HelperSwitch
HelperMaxLevel, HelperExpRate, OffAttackMinLevel, OffAttackMaxLevelServer-wide fallbacks in Common.dat when set to *
PKLimit, PKLimitResetIntervalSelf-contained per-map/per-IP limit; consensual PvP is exempt
GensBattleMaster system in Common.dat GensSystem*
PkDropItemGated by Common.dat PkItemDropSwitch
DeathGateGate definitions in Gate.txt
Per-map spawnsMonsterSetBase places monsters on the maps this file enables
Multi-GS routingMapServerInfo.xml decides which GameServer owns each map when multiple servers share the world

Common Issues#

  • PK allowed on a town - NonPK="*" instead of "1". Safe-zone towns need the 1 value
  • Excellent drops never happen - monster level is below 25; check monster definitions in Monster.xml
  • Characters respawn in the wrong place - DeathGate points at the wrong gate index; check Gate.txt
  • MuHelper works in Lorencia but not in an event map - event maps ship with HelperEnable="0" by design
  • MuHelper or offline attack rejected on a specific map for high-level characters - HelperMaxLevel or OffAttackMaxLevel on that map (or its Common.dat fallback) is set below the character's combined level; use 0 for no cap
  • PK blocked with a "try again" notice on one map - PKLimit on that map is reached for the player's IP; the window clears after PKLimitResetInterval ms (default 900000)
  • Missing map produces invalid warp errors - every map the player can reach needs an entry; gaps in Index are allowed but the referenced map must exist

Last updated October 5, 2026