For the complete documentation index, see llms.txt. This page is also available as Markdown.

Event.dat

Enable flags and high-level tunables for every scheduled event

Master on/off and light-tuning for every event the server runs. Schedules, reward pools, monster waves, and map-specific behavior live in the shared Data/Event/*.dat files; this file only decides whether each event is active and how its headline numbers are tuned.

File Location

GameServer/Data/GameServerInfo - Event.dat

All keys under [GameServerInfo]. Changes require a GameServer restart.

Standard Events

Most standard events ship enabled by default. Exceptions noted per section.

Blood Castle

Key
Type
Default
Effect

BloodCastleEvent

0 or 1

1

Master enable

BloodCastleMaxUser

int

10

Max simultaneous players per sub-instance

BloodCastleMasterAnyTier

0 or 1

0

1 lets master class (ChangeUp >= 2) characters pick any tier regardless of tier bounds

BloodCastlePerIpCharCap

int

0

Max characters from one IP allowed across all BC tiers combined. 0 = disabled

BloodCastleTier{1-8}{Min,Max}{Level,Reset,GrandReset,MasterReset}

int

-1

Per-tier bracket bounds. -1 disables that bound. See Bracket Entry Gates for the full pattern

See BloodCastle.dat for schedule, rewards, and per-stage monster lists.

Bonus Manager

Key
Default
Effect

BonusManagerSwitch

0

Master enable for global drop/XP bonus windows

See BonusManager.dat for the shared bonus windows.

Castle Deep

Key
Type
Default
Effect

CastleDeepEvent

0 or 1

0

Master enable

CastleDeepEventTime

minutes

30

Run duration per cycle

See CastleDeepEvent.dat for schedule and monster data.

Castle Siege

Gated by Common.dat EnableCastleSiege. Schedule anchors are zero by default, meaning the next cycle is computed from the current date.

Key
Type
Default
Effect

CastleSiegeEvent

0 or 1

1

Enable flag; inert unless EnableCastleSiege = 1 in Common.dat

CastleSiegeCycleStartYear/Month/Day

int

0 each

Start date of a CS cycle override. 0 = use engine default

CastleSiegeSpecificState

int 0-6

0

Force CS into a specific phase. 0 = automatic progression

CastleSiegeStateStartYear/Month/Day/Hour/Minute

int

0 each

Force state start timestamp. 0 = automatic

CastleSiegeOffensiveWeaponDamage

raw HP

300

Fixed HP subtracted per hit of an offensive siege weapon. Not a percentage

CastleSiegeDefensiveWeaponDamage

raw HP

200

Fixed HP subtracted per hit of a defensive siege weapon. Not a percentage

CastleSiegeLowerAccumulatedTimeValue

int

0

Seconds removed from accumulated occupation time per regression tick

CastleSiegeDecayAccumulatedTimeValue

int

0

Seconds of passive decay per tick

Chaos Castle

Key
Type
Default
Effect

ChaosCastleEvent

0 or 1

1

Master enable

ChaosCastleMinUser

int

1

Minimum participants for a round to start

ChaosCastleBlowUserRate

int %

50

Chance the arena knock-off mechanic fires when a monster is killed. Rolled once per monster death, not per hit

ChaosCastleMasterAnyTier

0 or 1

0

Master class can pick any tier. See Bracket Entry Gates

ChaosCastlePerIpCharCap

int

0

IP cap across all CC tiers. 0 = disabled

ChaosCastleTier{1-7}{Min,Max}{Level,Reset,GrandReset,MasterReset}

int

-1

Per-tier bracket bounds

Crywolf

Key
Type
Default
Effect

CrywolfEvent

0 or 1

1

Master enable

CrywolfBenefitSwitch

0 or 1

1

1 applies server-wide buff when Crywolf is won

CrywolfBenefitChaosRate

int %

10

Chaos machine bonus while benefit active

CrywolfBenefitMonsterLife

int %

80

Monster life scaling while benefit active. Value is the percentage of normal HP monsters spawn with (80 = 80% HP)

CrywolfPenaltySwitch

0 or 1

0

1 applies server-wide penalty when Crywolf is lost

CrywolfPenaltyJewelDrop

int %

70

Jewel drop rate while penalty active

CrywolfPenaltyExperience

int %

70

XP rate while penalty active

Devil Square

Key
Type
Default
Effect

DevilSquareEvent

0 or 1

1

Master enable

DevilSquareMaxUser

int

15

Max participants per sub-instance

DevilSquareMasterAnyTier

0 or 1

0

Master class can pick any tier. See Bracket Entry Gates

DevilSquarePerIpCharCap

int

0

IP cap across all DS tiers. 0 = disabled

DevilSquareTier{1-7}{Min,Max}{Level,Reset,GrandReset,MasterReset}

int

-1

Per-tier bracket bounds

Double Goer

Key
Type
Default
Effect

DoubleGoerEvent

0 or 1

1

Master enable

DoubleGoerDifficultRate

int %

100

Difficulty scale. 100 = baseline, higher = harder

Illusion Temple

Key
Type
Default
Effect

IllusionTempleEvent

0 or 1

1

Master enable

IllusionTempleMinUser

int

1

Minimum participants to start

IllusionTempleRewardFenrirRate

out of 10000

5

Drop chance of a Fenrir-tier reward on victory. 5 = 0.05%, 100 = 1%

IllusionTempleMasterAnyTier

0 or 1

0

Master class can pick any tier. See Bracket Entry Gates

IllusionTemplePerIpCharCap

int

0

IP cap across all IT tiers. 0 = disabled

IllusionTempleTier{1-6}{Min,Max}{Level,Reset,GrandReset,MasterReset}

int

-1

Per-tier bracket bounds

Imperial Guardian

Key
Type
Default
Effect

ImperialGuardianEvent

0 or 1

1

Master enable

ImperialGuardianDifficultRate

int %

100

Difficulty scale

Invasion Manager

Key
Default
Effect

InvasionManagerSwitch

1

Master enable for scripted monster invasions (Skeleton King, Red Dragon, etc.)

Each invasion is its own XML file under Data/Event/Invasions/. The legacy InvasionManager.dat is no longer read.

Kanturu

Key
Default
Effect

KanturuEvent

1

Master enable

Moss Merchant

Key
Type
Default
Effect

MossMerchantEvent

0 or 1

1

Master enable

MossMerchantEventTime

minutes

120

Cycle interval

Raklion

Key
Default
Effect

RaklionEvent

1

Master enable

Rei do MU (King of MU)

Key
Type
Default
Effect

ReiDoMUEvent

0 or 1

0

Master enable. Schedule, warning window, and rewards live in shared Data/Event/ReiDoMu.dat

ReiDoMUMap

int

0

Map index where the throne NPC spawns

ReiDoMUCordX

int

0

Throne NPC X coordinate

ReiDoMUCordY

int

0

Throne NPC Y coordinate

ReiDoMUGuildMinMembers

int

0

Minimum guild member count required to claim the throne

Bracket Entry Gates

Devil Square, Blood Castle, Chaos Castle, and Illusion Temple each support server-authoritative tier gating. Every tier (1-8 for BC, 1-7 for DS/CC, 1-6 for IT) has eight optional bounds:

Suffix
Meaning

MinLevel / MaxLevel

Character level range

MinReset / MaxReset

Reset count range

MinGrandReset / MaxGrandReset

Grand reset count range

MinMasterReset / MaxMasterReset

Master reset count range

Key format: <Event>Tier<N><Min|Max><Level|Reset|GrandReset|MasterReset>. Example: BloodCastleTier3MaxReset = 50.

Sentinel rules

  • -1 on either side of a min/max pair disables that bound. Both at -1 disables the gate entirely (any value passes).

  • 0 is a real bound, distinct from -1. MinReset = 0 means "must have at least 0 resets" (always passes); MinReset = -1 means "reset is not checked".

  • "Untouched config" = MasterAnyTier = 0 AND every tier of that event has all eight bounds at -1. In that state the engine falls back to vanilla hardcoded brackets, preserving out-of-the-box behavior.

Master class override

<Event>MasterAnyTier = 1 lets characters with ChangeUp >= 2 (1st/2nd/3rd grand master) bypass all tier bounds for that event and pick whichever tier they want. Use to keep low brackets relevant on high-rate servers where masters would otherwise be locked to the top tier only.

Per-IP cap

<Event>PerIpCharCap caps the number of characters from one IP simultaneously inside any tier of that event (the cap is event-wide, not per-tier). 0 disables. Counted by the source IP address of each logged-in character within the event's map range.

Client UI

When any tier on an event has been touched, the configured bracket table is synced to the client via Game Data Sync opcode 0xEC type 20 and used by:

  • The Devil Square / Blood Castle entry dialogs (tier list reflects live config, not hardcoded brackets)

  • Entry-item tooltips (DS Invitation of the Devil Square, BC Scroll of Archangel, CC Armor of Guardsman, IT Ticket/Cloaks) - the configured bracket table renders inline in the item tooltip (the same style as the Armor of Guardsman tier table), with the player's qualifying tier highlighted and the required Zen cost shown. This table is synced GameServer to Client; an admin who only edits Event.dat sees the change reflected in-game after the server restarts and clients reconnect

If the event is untouched, the client falls back to its legacy hardcoded brackets.

When an entry is rejected, the client rejection popup states the precise reason - not enough resets, not enough grand resets, not enough master resets, or level out of range - rather than a generic "cannot enter" message. The reason shown is the specific bound the character failed for the tier it attempted.

Example: gate DS Tier 1 to fresh chars under 100 resets

Reset bound applies; GR/MR bounds are inactive on this tier.

Cross-File Dependencies

Setting here
Related in

CastleSiegeEvent

Inert unless Common.dat EnableCastleSiege = 1; full CS data in shared Data/Event/MuCastleData.dat

BloodCastleEvent

Per-cycle timing + rewards in shared Data/Event/BloodCastle.dat

ChaosCastleEvent

CrywolfEvent

DevilSquareEvent

DoubleGoerEvent

IllusionTempleEvent

ImperialGuardianEvent

InvasionManagerSwitch

Shared Data/Event/Invasions/*.xml (one file per invasion)

KanturuEvent

MossMerchantEvent

RaklionEvent

ReiDoMUEvent

Shared Data/Event/ReiDoMu.dat for schedule and reward pools

Context damage rates

Per-event damage rates in Character.dat (CastleSiegeDamageRate*, ChaosCastleDamageRate, IllusionTempleDamageRate)

Common Issues

  • Event enabled but nothing spawns at the scheduled time - the switch here only toggles the feature; schedule and spawn data live in the shared Data/Event/<EventName>.dat file

  • Castle Siege never starts - either Common.dat EnableCastleSiege = 0 or CastleSiegeSpecificState set to a non-zero value is pinning the state

  • Crywolf penalty punishes everyone after a loss - intended behavior; set CrywolfPenaltySwitch = 0 to disable

Last updated