Common.dat
Server identity, network endpoints, rates, PK, trade, and every core gameplay toggle
The master configuration file. Defines who this GameServer is, how it reaches the other services, and every server-wide gameplay rule. Loaded first at startup; every other .dat file layers on top.
File Location
GameServer/Data/GameServerInfo - Common.datAll keys live under the single section [GameServerInfo]. Changes require a GameServer restart.
Account Level (AL0-AL3)
Many keys come in groups of four with _AL0, _AL1, _AL2, _AL3 suffixes. Each suffix maps to a VIP tier read from the account's stored AccountLevel:
_AL0
Free account
Baseline value
_AL1
VIP tier 1
Small bonus
_AL2
VIP tier 2
Medium bonus
_AL3
VIP tier 3
Top bonus
If VIP is disabled for the server, keep all four suffixes equal to the _AL0 value.
Server Settings
ServerName
string
<= 31 chars
GameServer
Name shown in window title and broadcast messages
ServerCode
int
0-65535
0
Unique code matching one <Server Code> entry in ConnectServer's ServerList.xml
ServerLock
0 or 1
0
1 prevents non-GM clients from connecting
GoldChannelServer
0 or 1
0
1 marks this server as a Gold channel (cosmetic label in the client)
NonPvPServer
0 or 1
0
1 disables player-vs-player damage server-wide
ServerPort
int
1-65535
55901
TCP port game clients connect to. Must match ServerList.xml
ServerVersion
string
X.XX.XX
1.04.05
Season/episode identifier sent in handshakes
ServerSerial
string
16 chars
(ships filled)
Protocol obfuscation serial. Do not change unless client ships with the matching value
ServerMaxUserNumber
int
1-1000
1000
Concurrent player cap. Values above 1000 are clamped to 1000
ServerMinLevel
int
0-MAX
0
Minimum character level allowed to log in. 0 = no limit
ServerMaxLevel
int
0-MAX
0
Maximum character level allowed to log in. 0 = no limit
ServerMinReset
int
0-MAX
0
Minimum character reset count to log in. 0 = no limit
ServerMaxReset
int
0-MAX
0
Maximum character reset count to log in. 0 = no limit
ServerMinMasterReset
int
0-MAX
0
Minimum master reset count to log in. 0 = no limit
ServerMaxMasterReset
int
0-MAX
0
Maximum master reset count to log in. 0 = no limit
LicenseKey
string
(empty)
License token for this instance. Required
EnableCastleSiege
0 or 1
1
Master switch for Castle Siege machinery. When 0, every CS-related Event.dat block is inert
GameDataOverlay
path
(empty)
Optional path to an overlay folder that shadows files in the shared Data/ root. See Data Overlays
Performance
Neither key ships in the default Common.dat. Add the line to change it. Both are read once at startup.
PerfProfiler
0 or 1
1
Built-in CPU profiler. 1 writes a summary to Perf\YYYY-MM-DD.txt once a minute. 0 = off
SendBatchWindow
int ms
0-200
50
How long the server may hold packets for one player so it can send them together. Fewer, bigger sends = less CPU and network load on busy maps. A player's own replies are never held. 0 = off (send at once). Values above 200 are clamped to 200. Any value above 0 also turns off Nagle's delay on player sockets
Connection Settings
DataServerAddress
string
127.0.0.1
IP of DataServer
DataServerPort
int
55960
TCP port of DataServer. Must match DataServer's DataServerPort
JoinServerAddress
string
127.0.0.1
IP of JoinServer
JoinServerPort
int
55970
TCP port of JoinServer. Must match JoinServer's JoinServerPort
ConnectServerAddress
string
127.0.0.1
IP of ConnectServer
ConnectServerPort
int
55557
UDP port on ConnectServer for heartbeats. Must match ConnectServer's ConnectServerPortUDP
ConnectTimeOutPreLogin
int
300
Seconds an idle socket may sit connected without submitting credentials (login box open) before the server drops it
ConnectTimeOutLogged
int
60
Seconds a logged-in client may go without answering the server's live-client ping before it is disconnected
This GameServer's public IP must appear in DataServer's and JoinServer's AllowableIpList.txt.
Server Manager Control Settings
The control channel lets the Axiom Server Manager see this GameServer's status and logs and send it commands (notice, kick, start events, graceful shutdown). None of these keys ship in the default Common.dat. Add the lines to change them. Read once at startup.
ControlPort
int
55990
TCP port the control channel listens on. 0 = control channel off
ControlKey
string
(empty)
Shared password the Server Manager must send. Empty = no password
ControlBind
IP
127.0.0.1
Address the control channel listens on. 127.0.0.1 = only this machine can connect. An invalid IP falls back to 127.0.0.1
ControlInstance
string
(empty)
Label shown in the Server Manager to tell several GameServers apart (for example Sub1)
Log Settings
Each flag toggles one log category. Logs are written to the GameServer working directory.
WriteChatLog
1
Public, whisper, party, and guild chat
WriteCommandLog
1
Every chat command use (success and denial)
WriteTradeLog
1
Trade window opens, items exchanged, zen transferred
WriteConnectLog
1
Login, logout, character enter/leave
WriteCashShopLog
1
Cash shop purchases and gift sends
WriteChaosMixLog
1
Chaos machine attempts, outcomes, and announce broadcasts
WriteLuckySpinLog
1
Lucky Spin spins (win/lose, prize, cost, charges left) and reward deliveries — including login redelivery of wins orphaned by a crash/disconnect
WriteMarketLog
1
Market (personal store) to the Market folder: every deposit, withdraw, price change, open/close (with reason), sale, wallet collect and coin escrow step, plus every refused request as [Market][Reject][<action>] with the reason and item (index, level, serial). Also logs edge cases where an item could go missing: store rows dropped on login (LoadRowLost, with raw item bytes), auto-unlisted rows, dupe serial kicks, coin purchase timeouts and refunds. Rejects are capped at 10 lines per second per player
WriteGameDataSyncLog
0
GameDataSync block sends, chunk progress, completion / failure per player. Ships disabled - these lines are high-volume on a busy server. Set to 1 only when diagnosing a client/server data-sync mismatch
WriteItemBagLog
1
Item bag entries that point at an item not in Item.xml (skipped while loading the bag), plus GM make-item, make-set and drop commands refused for the same reason. Written to the ItemBag log folder
WritePacketRejectLog
0
Client packets the server refused (unknown opcode or subcode, wrong packet size). Written to the ActionReject log folder
WriteMovementRejectLog
0
Silent movement rejects and corrections (teleport range, forged path, gate mismatch, snap-back from a blocked tile). Written to the ActionReject log folder
WriteSkillRejectLog
0
Skill casts and attacks the server refused (out of range, in safe zone, not enough mana/AG, wrong weapon, skill not learned). Written to the ActionReject log folder. Not in the shipped file - add the line to turn it on
WriteItemRejectLog
0
Item actions the server refused (equip requirement not met, wrong slot, trade refusals). Written to the ActionReject log folder. Not in the shipped file - add the line to turn it on
Set to 0 to suppress that category. Logs rotate daily.
Hack Settings
Server-side validators run on the potion use and movement paths. Not all of them disconnect - see the Action column.
CheckAutoPotionHack
0 or 1
1
Silently reject the potion (no disconnect, no hack log)
Prevents potion spam by enforcing a minimum gap between consumes.
CheckAutoPotionHackTolerance
int ms
250
-
Minimum gap between potion consumes. A use within this window is ignored.
MoveSpeedGuardMode
0-3
2
See below
Movement speed guard. 0 = off, 1 = log-only ([MoveSpeed] lines, move still applied), 2 = refuse the move and snap the player back to the server position, 3 = as 2 plus disconnect at the 5th refused move within a rolling 60-second window.
MoveSpeedGuardTolerance
int %
35
-
Extra leniency over the character's own walk speed. 35 = a player may cover 1.35x the distance his walk speed allows.
MoveSpeedGuardSlack
int tiles
3
-
Extra distance always allowed on top of that (network lag, the client being a tile or two ahead of the server).
Common Settings
MaxItemOption
int 0-15
7
Cap on item option bonus (+0 to +15). Most legacy clients expect 7; raising it requires a compatible client
JewelryLevelEnable
0 or 1
1
1 = elemental rings and pendants keep the item level they roll from every source (drops, item bags, chaos mix, shops, GM create, saved items), and Jewel of Bless / Jewel of Soul work on them. 0 forces every elemental ring and pendant to +0 on all of those paths and makes both jewels refuse them, which disables elemental resistance entirely
JewelryLevelMax
int 0-15
7
Highest level an elemental ring or pendant may reach, applied on every creation path. It also lowers the Jewel of Bless (+6) and Jewel of Soul (+9) ceilings when set below them
MaxIpConnection
int 0-N
10
Concurrent game connections allowed from one source IP. Distinct from ConnectServer's cap of the same name
MaxPacketsPerSecond
int 0-100000
250
Packets one game connection may send per second. A short burst of up to 4 seconds' worth is allowed, so a lag spike does not trip it. Over the limit the connection is closed and a line is written to the Hack log. A normal client sends about 15-45 per second while hunting and up to about 140 with the heaviest skills. 0 = no limit
PersonalCodeCheck
0 or 1
0
Require a personal passcode (second password) on character entry
SetItemAcceptHarmonySwitch
0 or 1
0
1 allows Jewel of Harmony bonuses on set items
MainChecksum
int
0
Optional client main-binary checksum demanded at handshake. 0 disables the check; non-zero values force every client to report this exact checksum
JewelSocketPentagram
0 or 1
0
1 allows Jewel of Socket to apply on Pentagram items
KeepBonusBelowItemReq
0 or 1
0
1 keeps an equipped item's bonuses applied even after the character no longer meets its requirements (for example after a reset drops their level/stats). First equip still enforces level, strength, dexterity, vitality, energy, and leadership; once equipped, the item keeps applying its bonuses. The class requirement is always enforced. The value is sent to the client at login so its stat panel and the ancient set option list keep the same items the server applies. 0 = an item whose requirements are no longer met stops granting bonuses (default)
KeepSkillBelowLearnReq
0 or 1
0
The skill counterpart of KeepBonusBelowItemReq. 1 keeps a learned skill castable after the character no longer meets its stat requirements (again, typical after a reset). Learning the skill still enforces every Require* column in Skill.txt. 0 = the requirements are re-checked on every cast and the skill fails while they are unmet (default)
Elemental jewelry levels
JewelryLevelEnable and JewelryLevelMax control the level an elemental ring or pendant may carry. That level is what makes the item's resistance do anything: the resistance granted is the item's *Res value multiplied by its level, so a +0 ring grants nothing no matter how its *Res columns are set in Item.xml.
Resistance translates into a chance to nullify the matching elemental effect:
+0
0%
+1
50%
+2
67%
+3
75%
+4
80%
+5
83%
+6
86%
+7
88%
Movement / Warp Level Requirements
SpecialClassMoveLevelDiscount
0 or 1
1
1 = vanilla: Magic Gladiator, Dark Lord and Rage Fighter need only two-thirds of a gate's or teleport's MinLevel on every map except Swamp of Calmness. 0 = all classes pay the full level requirement
The per-destination level requirements themselves live in Gate.txt and Move.txt; this key only decides whether the three special classes get a discount on them.
PC Point Currency
Monster Settings
MonsterLifeRate
int %
100
Global HP multiplier applied after all other monster modifiers
Health Bar
MonsterHealthBarSwitch
1
1 shows monster HP bars to clients
UserHealthBarSwitch
1
1 shows player HP bars to clients
PK Settings
NonPK
0 or 1
0
1 disables all PK kills from counting toward outlaw status
PKLimitFree
0 or 1
0
1 removes the per-day PK count cap
PKDownTime1
seconds
3600
Cooldown between second-tier and first-tier PK level
PKDownTime2
seconds
3600
Cooldown between first-tier PK level and clear
PKDisableShop
0 or 1
0
1 blocks PK characters from opening personal shops
PKDisableTrade
0 or 1
0
1 blocks PK characters from trading
Trade Settings
TradeSwitch
1
Master toggle for player-to-player trade
Personal Shop Settings
PersonalShopSwitch
1
Master toggle for personal shops
Duel Settings
DuelSwitch
0 or 1
1
Master toggle for duel arena
DuelArenaAnnounceSwitch
0 or 1
1
Broadcasts duel results to the server
DuelArenaDisableRestoreHP
0 or 1
0
1 prevents HP restore during duel
DuelArenaDisableRestoreSD
0 or 1
0
1 prevents SD restore during duel
DuelMaxScore
int
10
Score needed to win a duel
DuelBet
int zen
0
Mandatory bet amount. 0 = free duels
Guild Settings
GuildDeleteSwitch
0 or 1
1
Allow guild deletion
GuildCreateMinLevel
int
100
Minimum character level to create a guild
GuildInsertMaxUser1
int
40
Base guild member cap
GuildInsertMaxUser2
int
80
Expanded guild member cap after guild level-up
GuildAllianceMinUser
int
1
Minimum members required to form or join an alliance
GuildAllianceMaxCount
int
5
Maximum guilds in an alliance
GuildOwnerDestroyLimit
0 or 1
1
1 lets the owner disband even with members present
Elf Buffer Settings
Controls Elf Soldier buff caps and formula constants. Four-tier keys apply per-account-level (see Account Level).
ElfBufferMaxLevel_AL0-3
1000 / 220 / 220 / 220
Character level cap below which Elf buff still applies
ElfBufferMaxReset_AL0-3
10000 each
Reset cap below which Elf buff still applies
ElfBufferDamageConstA
50
Damage buff linear term
ElfBufferDamageConstB
5
Damage buff quadratic term
ElfBufferDefenseConstA
45
Defense buff linear term
ElfBufferDefenseConstB
3
Defense buff quadratic term
Experience Settings
All rates are per-mille (out of 1000). 1000 = 1x, 2000 = 2x. Each group has four _AL0-3 keys.
AddExperienceRate_AL0-3
100000
Base XP multiplier for normal kills. 100000 equals 100x the baseline. Large values simulate high-rate servers
AddMasterExperienceRate_AL0-3
100000
Master XP multiplier
MinMasterExperienceMonsterLevel_AL0-3
95
Monster level below which no master XP is granted
AddEventExperienceRate_AL0-3
1000
XP multiplier inside event maps (Blood Castle, Devil Square, etc.)
AddQuestExperienceRate_AL0-3
1000
XP multiplier for quest kills
OffAttackExperienceRate_AL0-3
1000
Replaces AddExperienceRate (not stacked on it) for normal-level characters while Off Attack is active. Missing key = same as AddExperienceRate for that tier (older builds used 0, so offline characters got no XP)
OffAttackMasterExperienceRate_AL0-3
100000
Replaces AddMasterExperienceRate for master-level characters while Off Attack is active. Missing key = same as AddMasterExperienceRate
Monster Kill EXP Formula
The base EXP a monster gives before any rate above is applied. Defaults equal the vanilla formula, so leaving them alone changes nothing.
ExpBaseOffset
25
Base = (MonsterLevel + offset) x MonsterLevel / divisor
ExpBaseDivisor
3
See above. Minimum 1
ExpLevelGapFree
10
How many levels a player may be above the monster before the penalty starts. Past that, base x (MonsterLevel + gap) / PlayerLevel. Master characters use Level + MasterLevel
ExpHighLevelBonusFrom
65
Monsters at this level or above give a bonus
ExpHighLevelBonusDivisor
4
Solo bonus = (MonsterLevel - (From - 1)) x (MonsterLevel / divisor). Minimum 1
ExpFinalRate
125
% applied to the base at the end (vanilla x1.25)
ExpPartyLowLevelSupport
200
In a party, members more than N levels below the top member count as Level + N toward the party average
ExpPartyHighLevelBonusBase
200
Party bonus for monsters at ExpHighLevelBonusFrom+ = base - PartyAverageLevel / divisor
ExpPartyHighLevelBonusDivisor
5
See above. Minimum 1
The party bonus uses the party's average level. Older builds used the killer's level for every member.
Death Penalty
Dying to a monster costs EXP. Never zen and never items. On by default.
DeathExpPenaltySwitch
1
0 turns the penalty off
DeathExpPenaltyMinLevel
11
Characters below this level lose nothing
DeathExpPenaltyRate
10
Per mille of the current level's EXP span lost on death. 10 = 1%
DeathExpPenaltyMasterRate
7
Same for master-level characters (0.7%)
DeathExpPenaltyPKRate1-3
30 / 40 / 50
Replaces the normal rate for PK level 4, 5 and 6 (murderer stages)
DeathExpPenaltyInDungeon
0
1 also applies the penalty inside dungeon runs
EXP never drops below the start of the current level, so nobody loses a level. No penalty for PvP deaths (killed by a player or a player's summon), event maps (Blood Castle, Devil Square, Chaos Castle, Illusion Temple, Doppelganger, Imperial Guardian, Custom Arena), or Crywolf during the battle. The player sees a notice and the new EXP arrives with the respawn.
Item Drop Settings
ItemDropTime
seconds
30
Lifetime of dropped items on the ground before despawn
ItemDropRate_AL0-3
int out of 10000
100
Drop chance per kill, out of 10000. 100 = 1%
Money Drop Settings
MoneyDropTime
seconds
30
Lifetime of dropped zen piles
MoneyAmountDropRate_AL0-3
int multiplier
1
Per-tier multiplier applied on top of base monster zen
Monster Stat Multipliers
All percentages. 100 = unchanged, 200 = 2x, etc.
MonsterLifeMultiplier
100
Scales monster HP
MonsterDamageMinMultiplier
100
Scales minimum monster damage
MonsterDamageMaxMultiplier
100
Scales maximum monster damage
MonsterDefenseMultiplier
100
Scales monster physical defense
MonsterMagicDefenseMultiplier
100
Scales monster magic defense
Monster Hit Damage Reset Settings
Controls the damage credit table, which decides who owns a monster's drop and EXP. This is not aggro — clearing it does not make a monster stop chasing.
MonsterHitDamageResetOnDeath
0 or 1
0
1 clears damage records when the monster dies. Runs after the drop is awarded, so this is cleanup only and changes nothing in play
MonsterHitDamageResetTime
seconds
30
Seconds without a hit before a player's damage record expires
MonsterHitDamageResetDistance
steps
0
Steps from spawn point before all records clear. 0 disables the check
Monster Leash Settings
Vanilla MU has no leash. Once a monster is aggroed, ActionState.Emotion is set and the wander-radius check is skipped entirely, so the monster can be dragged across the whole map. Aggro also re-arms every time the target is re-found in view range, so a kiting player drags it indefinitely. When aggro finally lapses, the monster stands frozen wherever it stopped, because its wander targets are still measured from its spawn tile and all of them now fail.
MonsterLeashDistance
tiles
0
Extra tiles allowed beyond the spawn's own wander radius before the monster drops aggro. 0 disables the leash (vanilla). Suggested 15
MonsterLeashReturnHome
0 or 1
1
1 walks the monster back to its spawn tile, refusing aggro the whole way. 0 drops aggro and lets it settle where it stopped, adopting that tile as its new wander home
MonsterLeashHealOnReturn
0 or 1
1
1 restores full HP/Mana and wipes damage credit once the monster gives up
Leave MonsterLeashHealOnReturn at 1: without it a player can tag a monster, drag it past the leash, and still own the drop when someone else finishes the healed monster.
If the spawn tile turns out to be unreachable (walled off, built over), the walk home is abandoned after 30 seconds and the monster resumes normal behaviour where it stands. The original spawn tile is restored on death like always.
Why the distance is relative
MonsterLeashDistance is added to the monster's own wander radius; it is not an absolute distance from spawn. That radius is the per-spawn Dis in Data/Monster/MonsterSetBase/*.xml, or 30 for invasion-spawned monsters.
Dis is wildly inconsistent across the spawn files:
Dis
Spawn entries
Where
30
4096
Kanturu, Devil Square, Vulcanus, Land of Trials, Crywolf, Elbeland, Karutan, Raklion, all event maps
10
267
Lorencia and other classic maps
05
655
most common on classic maps
07 / 03 / 1
53
scattered
00
326
NPCs and guards - never leashed
An absolute leash would have to exceed 30 to avoid firing on Dis="30" spawns during normal wandering, which would make it nearly useless on the Dis="05" spawns that make up most of the classic maps. Relative gives every spawn the same chase room: with the suggested 15, a Dis="05" spawn leashes at 20 tiles and a Dis="30" spawn at 45.
Invasions
Invasion monsters (InvasionManager) are spawned outside MonsterSetBase and get WanderRange 30, or the boss ClusterRadius when the invasion uses cluster mode. They are leashed like anything else, measured from the random tile each one spawned on. With 15 an invasion mob gives up 45 tiles from where it appeared; cluster trash gives up at ClusterRadius + 15, so a tight ClusterRadius also tightens that invasion's leash.
Not affected
These keep vanilla behaviour entirely:
NPCs, guards and traps (
Dis="00", no wander radius)Stationary monsters (
MoveRange0)Summons (
Attribute100) and monster-summoned addsEvery monster on Blood Castle, Chaos Castle, Devil Square, Kalima, Illusion Temple, Doppelganger, Imperial Guardian and Castle Siege maps - those events need monsters to chase players anywhere on the map
The event-map exclusion is by map number, not by spawn type. Blood Castle, Chaos Castle and Devil Square monsters are ordinary MonsterSetBase entries carrying Dis="30", so nothing else would have caught them.
Advanced Money Drop Settings
Chooses how the base zen amount for a monster kill is derived. Player bonuses are applied on top of whichever base is used.
MoneyValue_AL0-3
int
100000
Base zen per monster level: MoneyValue * MonsterLevel. Set to 0 to use the baseline formula (MonsterZen * MoneyAmountDropRate%)
Full order of operations:
Item Durability Settings
Percentage of baseline durability consumed. 100 = normal, 200 = items break twice as fast, 50 = half rate.
WeaponDurabilityRate
100
ArmorDurabilityRate
100
WingDurabilityRate
100
GuardianDurabilityRate
100
PendantDurabilityRate
100
RingDurabilityRate
100
PetDurabilityRate
100
Trade Item Block Settings
Each flag blocks a category from being traded when 1.
TradeItemBlock
0
All items (master switch)
TradeItemBlockExc
0
Excellent items
TradeItemBlockSet
0
Set items
TradeItemBlockHarmony
0
Harmony-enhanced items
TradeItemBlockSell
0
Items whose sell flag is set
TradeItemBlockLucky
1
Lucky items
Level Up Settings
MaxLevelUp
int
1
Levels granted per normal kill
MaxLevelUpEvent
int
1
Levels granted per event kill
MaxLevelUpQuest
int
1
Levels granted per quest reward
MaxStatPoint_AL0-3
int
2000000000
Stat point cap per tier
DWLevelUpPoint
int
5
Stat points per level for Dark Wizard
DKLevelUpPoint
int
5
Dark Knight
FELevelUpPoint
int
5
Fairy Elf
MGLevelUpPoint
int
7
Magic Gladiator
DLLevelUpPoint
int
7
Dark Lord
SULevelUpPoint
int
5
Summoner
RFLevelUpPoint
int
7
Rage Fighter
PlusStatPoint
int
1
Bonus points per level applied to every class
LevelUpRestoreLife
0 or 1
1
1 = HP filled to max on level up (normal and master)
LevelUpRestoreMana
0 or 1
1
1 = MP filled to max on level up
LevelUpRestoreShield
0 or 1
1
1 = SD filled to max on level up
LevelUpRestoreBP
0 or 1
1
1 = AG filled to max on level up
Create Character Settings
Controls which advanced classes can be created and the prerequisites. Each advanced class (MG, DL, SU, RF) has four keys: a master CreateType, plus per-tier CreateLevel_AL0-3, CreateReset_AL0-3, and CreateMasterReset_AL0-3.
CharacterCreateSwitch
Master toggle for all character creation
<CLASS>CreateType
0 = another character on the account must meet the requirement. 1 = apply the requirement to the creating character
<CLASS>CreateLevel_AL0-3
Minimum character level
<CLASS>CreateReset_AL0-3
Minimum reset count
<CLASS>CreateMasterReset_AL0-3
Minimum master reset count
Valid class prefixes: MG, DL, SU, RF.
Shield Gauge Settings
ShieldGaugeRate
int %
90
Baseline shield damage absorption rate
ShieldGaugeConstA
int
12
Shield formula linear term
ShieldGaugeConstB
int
15
Shield formula quadratic term
ShieldGaugeAttackRate
int
2
Shield consumption rate per attack
ShieldGaugeAttackComboMiss
0 or 1
0
1 consumes shield on combo misses too
ShieldGaugePvE
0 or 1
0
1 = SD also absorbs monster hits, using the same ShieldGaugeRate split. 0 = SD only takes player damage (vanilla)
Master Skill Tree Settings
MasterSkillTree
0
1 enables the master skill tree
MasterSkillTreePoint
1
Skill points per master level
MasterSkillTreeMaxLevel
400
Master level cap
Gens System Settings
Faction-vs-faction contribution system.
GensSystemSwitch
0 or 1
1
Master toggle
GensSystemGuildLock
0 or 1
0
1 locks faction per guild (all members share one faction)
GensSystemPartyLock
0 or 1
0
1 prevents parties mixing factions
GensSystemInsertMinLevel
int
50
Minimum level to join a faction
GensSystemContributionFloodTime
seconds
30
Minimum gap between contribution-earning kills
GensSystemVictimContributionDecrease
int
3
Base contribution lost per death to a rival
GensSystemKillerContributionIncrease
int
500
Base contribution gained per rival kill
GensSystemVictimMinContributionDecrease
int
1
Lower bound on victim loss
GensSystemVictimMaxContributionDecrease
int
15
Upper bound on victim loss
GensSystemKillerMinContributionIncrease
int
1
Lower bound on killer gain
GensSystemKillerMaxContributionIncrease
int
15
Upper bound on killer gain
GensSystemStartRewardDay
int
1
First day of the weekly reward window
GensSystemFinalRewardDay
int
7
Last day of the weekly reward window
Helper Settings (MuHelper)
HelperSwitch
0 or 1
1
Master toggle for MuHelper
OffAttackSwitch
0 or 1
1
Master toggle for offline-attack. Gates both the /offattack chat command and the MuHelper Offline bridge. When 0: chat command rejected with notice, bridge rejected before transition
HelperActiveLevel
int
80
Minimum level to use MuHelper
HelperActiveDelay
minutes
5
Zen charge interval
HelperActiveMoney1
zen
20
Cost tier 1 (baseline level)
HelperActiveMoney2
zen
50
Cost tier 2
HelperActiveMoney3
zen
80
Cost tier 3
HelperActiveMoney4
zen
100
Cost tier 4
HelperActiveMoney5
zen
120
Cost tier 5 (high level)
HelperMaxLevel
int
0
Global fallback maximum combined level (Level + Master Level) allowed to run MuHelper. 0 = no maximum. Used by any map whose HelperMaxLevel is *
HelperExpRate
int %
100
Global fallback XP percentage earned while MuHelper is active. 100 = full XP, 50 = half. Used by any map whose HelperExpRate is *
OffAttackMinLevel
int
0
Minimum character level allowed to enter the /offattack chat command or MuHelper Offline bridge. 0 = no minimum. Global fallback for any map whose OffAttackMinLevel is *
OffAttackMaxLevel
int
0
Maximum combined level (Level + Master Level) allowed to use offline-attack. 0 = no maximum. Global fallback for any map whose OffAttackMaxLevel is *
HelperMaxLevel, HelperExpRate, OffAttackMinLevel, and OffAttackMaxLevel are the four server-wide fallbacks for the per-map MuHelper and Offline Mode limits. When a map in MapManager.xml sets one of these attributes to *, the value here is used for that map. See that page for the per-map overrides.
MuHelper Offline Bridge
When a player ticks the OffLine checkbox in the MuHelper window and then presses Start, the server skips the normal helper billing loop and instead transitions the character directly into the same offline-attack mode used by the /offattack chat command.
Flow:
Player ticks the OffLine box and configures their primary attack skill in the MuHelper window. Closing the window saves the config to DataServer.
Player presses Start on MuHelper.
If the OffLine flag is set and the location allows it, the server starts custom-attack mode using the player's primary MuHelper attack skill, switches it to offline, and signals the client to fully exit the process (not just disconnect to the login screen). The character keeps attacking server-side until killed or the time limit runs out. Helper itself never runs - no Zen billing, no client-side helper logic.
If the OffLine flag is set but the location does not allow offline-attack (safezone, event map, trade/duel, no skill resolved), the server emits a chat notice and the helper does not start - the player stays online and must untick the box (or move to a valid map) before pressing Start again.
If the OffLine flag is not set, Start behaves normally: helper billing kicks in, client runs MuHelper.
Stop on MuHelper always behaves normally (stops helper). It is not part of the offline bridge.
On reconnect: the auto-resume entry written when offline-attack starts is force-cleared by the bridge, so when the player relaunches the client and logs back in, the offline attack stops and the character is back to a clean online state. This differs from /attack followed by /offattack chat commands - the chat-command path leaves auto-resume intact (per the existing /offattack behavior).
Restrictions inherited from /offattack:
Map must allow custom attack (MapManager.xml
Attackflag).Character must not be in safezone, trade, duel, or any event map (Chaos Castle, Doppelganger, Blood Castle, Crywolf, Illusion Temple, Deathmatch Arena, Doppelganger, Imperial Guardian).
Character must have at least one valid attack skill (the primary MuHelper attack skill, falling back to the class default).
What carries over from MuHelper
Primary attack skill (Skill 1 in the UI)
Yes — used as the single skill /offattack cycles
OffLine checkbox
Yes — gates whether Start triggers the bridge
Activation skills (Skill 2, Skill 3)
No — offline runs one skill only
Skill conditions (mob count, on-attack triggers)
No
Combo
No
Buff skills picked in MuHelper UI
No — see "Built-in defaults" below
Auto Heal / Drain Life thresholds
No
Hunting range, targeting mode (nearest / lowest HP)
No — picks first valid target in viewport
Long-range counter-attack, return-to-position, max seconds away
No
Pickup options (Zen, Jewels, Ancient, Excellent, Extras)
Yes - offline mode walks to and picks up ground items matching the saved pickup filters
Auto Repair
Yes - equipped items at or below 50% durability are self-repaired offline (deducts zen), throttled to a 5-second check
Pet attack mode (Dark Raven / Dark Horse)
No
Self-defense, auto-accept friend / guild
No
Auto Reset checkbox in MuHelper
No (MuHelper-side flag); the Reset System plugin AutoReset state is separate and continues to fire if the character hits the level cap, regardless of mode
Built-in defaults (what offline mode does on its own)
These run server-side regardless of MuHelper config, driven by the CustomAttack* keys. Most live in this file; the auto-potion cooldown lives in Custom.dat:
Single-skill attack on nearest viewable mob
Skill from MuHelper Skill 1; range / animation from Skill.txt
Auto HP potion below 50% Life
Inventory slots (14,3) Big -> (14,2) Middle -> (14,1) Small; cooldown CustomAttackAutoPotionDelay (Custom.dat)
Auto Mana potion below 50% Mana
Inventory slots (14,6) -> (14,5) -> (14,4); cooldown CustomAttackAutoPotionDelay (Custom.dat)
Stay within 5 tiles of start position
Auto-stops if dragged outside
Per-AccountLevel time limit
CustomAttackTime_AL0-3 in Common.dat (0 = unlimited)
Per-AccountLevel autobuff (class-hardcoded buffs)
CustomAttackAutoBuff_AL0-3; bridge passes SetBuff=0 so this is off by default in the bridge path even when configured. The /attack chat command can opt in via /attack <skill> 1
XP rate while offline
OffAttackExperienceRate_AL0-3 (normal level), OffAttackMasterExperienceRate_AL0-3 (master level). Both REPLACE the online rate, not multiply it
Stop on safezone / trade / duel
Hardcoded
The hardcoded class buffs (when autobuff is enabled by chat command, not the bridge) cycle through:
Elf: Infinity Arrow, Greater Defense, Greater Damage, Heal
DW / DK / DL / SU / RF: class-specific class buffs (Soul Barrier, Swell Life, Greater Critical Damage, Damage Reflection / Berserker, Ignore Defense / Increase Health / Increase Block)
Disabling offline mode
Gate
File
Blocks chat /offattack?
Blocks MuHelper Offline bridge?
OffAttackSwitch=0
this file
Yes
Yes
Per-AccountLevel Enable on /offattack
Command.xml Index 67
Yes
No — the bridge calls handlers directly, it does not go through CommandManager
CustomAttackTime_AL{N}=0
this file
No (means "no time limit")
No (same)
HelperSwitch=0
this file
No (unrelated)
Yes — bridge runs in the helper-start path; if helper is master-disabled, the Start packet is rejected before the bridge can fire
Recommended: use OffAttackSwitch=0 for a single-key global lockout - it's the only gate that blocks both entry points (chat command and MuHelper bridge) cleanly. When the bridge cannot proceed, it sends a chat notice and the helper does not fall back to online mode - the player must untick the OffLine box to start the helper online.
Cash Shop Settings
CashShopSwitch
0 or 1
1
Master toggle
CashShopGoblinPointDelay
minutes
0
Interval between automatic Goblin Point grants. 0 disables the timer
CashShopGoblinPointValue_AL0-3
int
0
Goblin Points granted per tick, per tier
Event Inventory and Mu Rummy
Party Settings
Party XP distribution for party sizes 1-5. A party never has more than 5 members.
PartyMaxMembers
5
Maximum slots in a party
PartyReconnectTime
300 seconds
Window to rejoin a party after disconnect. Also the window after a GameServer start in which clients may restore their parties (members must list each other, normal party map and Gens rules apply). 0 = both off
PartyGeneralExperience1-5
100 / 80 / 75 / 65 / 60
Percentage share per party size N (generic party). Keys 6-10 are no longer read
PartySpecialExperience1-5
100 / 80 / 75 / 65 / 60
Share when 3 or more different classes are in range of the kill
PartyDisablePK
0
1 prevents PK characters from joining parties
PartyExperienceDistance
0
Tiles a party member may be from the dying monster and still get a share of the experience. Straight line, same map only. 0 = vanilla 10. Does not affect party heal/buff range, which stays at 10
PartyExperienceRequireLOS
0
1 also requires a clear line of sight: a wall between the monster and the member blocks that member's share. 0 = vanilla, walls ignored
Potion Settings
Per-potion restore rates, percent of max pool.
ApplePotionRate
10
Apple: % of max HP restored
SmallLifePotionRate
20
Small Healing
MidleLifePotionRate
30
Medium Healing
LargeLifePotionRate
25
Large Healing
SmallManaPotionRate
20
Small Mana
MidleManaPotionRate
30
Medium Mana
LargeManaPotionRate
40
Large Mana
SmallShieldPotionRate
25
Small Shield
MidleShieldPotionRate
35
Medium Shield
LargeShieldPotionRate
45
Large Shield
SmallCompoundPotionRate1/2
10 / 5
Small Compound: HP / MP (both restored)
MidleCompoundPotionRate1/2
25 / 10
Medium Compound
LargeCompoundPotionRate1/2
45 / 20
Large Compound
EliteLifePotionRate
100
Elite Healing
EliteManaPotionRate
100
Elite Mana
EliteShieldPotionRate
65
Elite Shield
Transformation Ring Settings
Map slots 1-6 to a transformation item index. Values are item subtypes in the Miscellaneous item category.
TransformationRing1
2
Slot 1
TransformationRing2
7
Slot 2
TransformationRing3
14
Slot 3
TransformationRing4
8
Slot 4
TransformationRing5
9
Slot 5
TransformationRing6
41
Slot 6
Jewel Settings
Success rates (percent) for jewel and stone operations. Each group has four _AL0-3 keys.
SoulSuccessRate_AL0-3
100
Jewel of Soul on item +level up
LifeSuccessRate_AL0-3
50
Jewel of Life on item +option
HarmonySuccessRate_AL0-3
50
Jewel of Harmony enhancement
SmeltStoneSuccessRate1_AL0-3
50
Harmony Refining Stone purification
SmeltStoneSuccessRate2_AL0-3
70
Harmony Refining Stone smelt
AddLuckSuccessRate1_AL0-3
25
Lucky option roll attempt 1
AddLuckSuccessRate2_AL0-3
20
Lucky option roll attempt 2
Fruit Settings
Stat point redistribution via fruits. _AL0-3 rate keys of -1 mean the engine uses built-in formulas.
FruitAddPointMin
1
Minimum stat points added per fruit
FruitAddPointMax
3
Maximum added
FruitAddPointSuccessRate_AL0-3
-1
Success rate override. -1 keeps engine default
FruitSubPointMin
1
Minimum subtracted per fruit
FruitSubPointMax
9
Maximum subtracted
FruitSubPointSuccessRate_AL0-3
-1
Subtract success rate override. -1 keeps engine default
HP Bonus System
Grants bonus HP per master reset.
HpBonus_AL0-3
1
HP added per master reset, per tier
HpBonus_MAX
1
Absolute cap on total bonus HP. Missing key = 0
Bonus HP = master resets x HpBonus_ALn, cut down to HpBonus_MAX. The shipped cap of 1 makes the system almost do nothing (at most +1 HP). Raise HpBonus_MAX to use it.
Die System
Chat announcements on death.
DieUserSwitch
1
Broadcasts when a player dies
DieMonsterSwitch
1
Broadcasts when a notable monster dies
Online User System
OnlineGmSwitch
1
Announces GM login/logout
OnlineUserSwitch
1
Announces player login/logout
Experience Message
DisableExpMessage
0
1 hides XP-per-kill messages; only level-up messages remain. Premium feature
Pushback Effects
Each flag removes the push/fall animation triggered by the named skill when 1.
DisableLightningEffect
1
Lightning
DisableCycloneEffect
1
Cyclone
DisableTwistEffect
1
Twisting Slash
DisableLungEffect
1
Lunge
DisableFallingEffect
1
Falling Slash
DisableUpperCutEffect
1
Uppercut
Wing Class Mix Restrictions
Per-class blocks on wing creation in the Chaos Machine.
DisableWingMixDL
0
1 prevents Dark Lord from mixing wings
DisableWingMixSU
0
1 prevents Summoner from mixing wings
DisableWingMixRF
0
1 prevents Rage Fighter from mixing wings
PK Event Access
PkCanEnterBC
0
1 allows PK characters into Blood Castle
PkCanEnterCC
0
1 allows PK into Chaos Castle
PkCanEnterDS
0
1 allows PK into Devil Square
PK Item Drop
Controls item drops from PKed characters.
PkItemDropSwitch
0 or 1
0
Master toggle
PkItemDropEnable_AL0-3
0 or 1
1 each
Per-tier enable
PkItemDropMinLevel
int
0
Minimum character level before drops trigger
PkItemDropMaxLevel
int
15
Maximum level at which drops still trigger
PkItemDropExecellent
0 or 1
1
Include Excellent items in the drop pool
PkItemDropSocketItem
0 or 1
1
Include Socket items
PkItemDropSetItem
0 or 1
1
Include Set items
PkItemDropHarmony
0 or 1
1
Include Harmony-enhanced items
PkItemDropRate
int out of 10000
100
Drop chance per eligible item. 100 = 1%
Disconnect Online Account
DisconnectOnlineAccount
1
On duplicate login, kick the existing session instead of rejecting the new one
Castle Siege Skills
EnableCsSkillsAllMaps
1
1 enables Castle Siege skill effects outside the CS map
Combo System
EnableComboToAllSwitch
1
1 enables combo skills for every class
ComboEnablePushEffect
1
1 knocks back monsters on combo hits
EnableComboToAllSwitch remains the master toggle. The CustomCombo plugin (Data/Plugins/Characters/CustomCombo.xml) extends the system by defining which skills count as primary and secondary in a combo for the classes that unlock it. CustomCombo does not shadow this switch; a class with combos disabled here stays without combos regardless of plugin content.
Online Rewards
Periodic zen / coin rewards for connected players. OnlineRewardOfflineSystems = 1 extends this to offline accounts. Coin1 = WC, Coin2 = WP, Coin3 = GP.
OnlineRewardOfflineSystems
0
1 applies rewards even while offline
OnlineRewardCoin1Delay
60 min
Interval for Coin1
OnlineRewardCoin1Value_AL0-3
0
Amount per interval for each tier
OnlineRewardCoin2Delay
60 min
Interval for Coin2
OnlineRewardCoin2Value_AL0-3
0
Amount per interval
OnlineRewardCoin3Delay
60 min
Interval for Coin3
OnlineRewardCoin3Value_AL0-3
0
Amount per interval
Skill Timing / Attack Speed
Global attack speed formula for every skill. Server is authoritative; client display is cosmetic.
MaxAttackSpeed
290
Cap on the speed a character reaches from stats alone. 0 = no cap
AttackSpeedOvercap
50
How much speed items, potions and buffs may add beyond MaxAttackSpeed. Stat (agility) speed alone can never exceed MaxAttackSpeed; bonuses stack on top of it and are clamped to this value. Absolute ceiling = MaxAttackSpeed + AttackSpeedOvercap. 0 = vanilla behavior, where bonuses cannot push past the cap
BaseSkillDelay
1000
Starting delay in ms (delay at speed 0)
SpeedGrowthFactor
23
APS gain per speed point. Higher = faster scaling
MinSkillDelay
100
Minimum delay in ms. Absolute floor
At the shipped defaults, stat speed caps at 290 (130 ms delay, 7.69 casts/sec) and bonuses may carry a character to 340.
Cross-File Dependencies
EnableCastleSiege
Every Castle Siege schedule/reward block in Event.dat is inert when 0
WriteChaosMixLog
Gates log rows produced by ChaosMix plugin recipes
WriteLuckySpinLog
Gates log rows produced by the LuckySpin plugin (Data/Plugins/LuckySpin/ wheels)
GameDataOverlay
Path of the overlay folder shadowing shared Data/ - see Data Overlays
Create Character Settings
Combines with Character.dat class availability
<CLASS>LevelUpPoint, PlusStatPoint
Feed stat growth curves in Character.dat
ServerMinReset, ServerMaxReset, ServerMinMasterReset, ServerMaxMasterReset
Cap reset limits defined per-command in Command.dat
EnableComboToAllSwitch, ComboEnablePushEffect
Combo definitions live in CustomCombo plugin; this switch is the master gate
Skill Timing block (MaxAttackSpeed, BaseSkillDelay, SpeedGrowthFactor, MinSkillDelay)
Per-skill scaling in SkillTweaks plugin
HelperSwitch, HelperActive*
Pickup whitelist in MuHelperPickup plugin
CashShopSwitch, CashShopGoblinPointDelay, CashShopGoblinPointValue_AL*
Cash shop catalog in Cash Shop
MasterSkillTree, MasterSkillTreePoint, MasterSkillTreeMaxLevel
Tree definitions in MasterSkillTree
Common Issues
Stuck at "Loading files..." -
LicenseKeyempty or invalidPort in use -
ServerPortconflicts with another process or a previous crashed instanceDuplicate "GameServer online/offline" in ConnectServer log -
ServerCodematches another running GameServerPlayers report wrong server name -
ServerNamemismatch with what ConnectServer'sServerList.xmladvertisesVIP users get the same rates as free accounts -
_AL1/_AL2/_AL3keys all set to the same value as_AL0Players rubber-banded or disconnected for moving too fast - check the hack log for
[MoveSpeed]lines; raiseMoveSpeedGuardTolerance/MoveSpeedGuardSlack, or setMoveSpeedGuardModeto1(log-only) while you look into itCannot create Rage Fighter -
RFCreateLevel_AL*set to250(known bug)Castle Siege schedule does nothing -
EnableCastleSiege = 0
Last updated