DevilSquare.dat

Devil Square event: timing, schedule, rank-based per-tier reward tables (XP and money), and optional coin rewards.

File Location#

Data/Event/DevilSquare.dat

Loaded once at GameServer startup. Gated by Event.dat DevilSquareEvent. Changes require a restart.

Event Summary#

Devil Square is a monster-survival arena with 7 tiers (0-6). Tiers 0-3 use map 9 and tiers 4-6 use map 32. Tier eligibility is decided by configurable bracket bounds on level, reset, grand reset, and master reset. The vanilla brackets below apply when every DevilSquareTier<N>... key in Event.dat is -1; setting any bound activates configured brackets for every tier and syncs them to the client (entry dialog and Invitation of the Devil Square tooltip).

Vanilla fallback brackets:

TierDK / BK / ME / MU / SM / GM / ELF / MUSE / HE / SUM / BS LevelMG / DL / RF Level
015 - 13010 - 110
1131 - 180111 - 160
2181 - 230161 - 210
3231 - 280211 - 260
4281 - 330261 - 310
5331 - MaxLevel311 - MaxLevel
6Any character with 2nd or later Master (ChangeUp >= 2)Any character with 2nd or later Master

Entry requires the Invitation of the Devil Square ticket (item 14, 19, whose item-level equals tier + 1) or a Premium ticket (item 13, 46). Characters can only enter the tier matching their own bracket. Set DevilSquareMasterAnyTier = 1 to let master characters pick any tier; set DevilSquarePerIpCharCap to limit alt-stacking from one IP.

During the round players kill monsters to accumulate a score. At the end of the round players are ranked by score and granted XP and money from the rank-indexed tables below.

Sections#

Sections are numbered 0-4 and terminated with end.

Section 0 - Timing#

0
//WarningTime   NotifyTime   EventTime   CloseTime
5               1            20          4
end
ColumnUnitEffect
WarningTimeminutesPre-event entry window during which minute-countdowns are broadcast and tickets can be used
NotifyTimeminutesShort entry-open announcement window
EventTimeminutesMain round duration
CloseTimeminutesPost-event hold before survivors are teleported out and the instance is cleaned

Section 1 - Schedule#

1
//Year   Month   Day   DoW   Hour   Minute   Second
*        *       *     *     0      30       0
...
end

The shipped template runs 12 times per day at 30 minutes past every even hour (00:30, 02:30, ..., 22:30).

ColumnTypeMeaning
Yearint or *4-digit year
Month1-12 or *Month
Day1-31 or *Day of month
DoW1-7 or *Day of week (1 = Sunday, 7 = Saturday)
Hour0-23 or *Hour
Minute0-59 or *Minute
Second0-59 or *Second

Section 2 - XP Reward Table#

Per-tier XP indexed by rank. Columns 1-10 correspond to the top 10 ranks (rank 1 is the top scorer). Players outside the top 10 receive nothing from this table.

2
//Level   RewardExperience1 ... RewardExperience10
0         6000 4000 4000 2000 2000 2000 1000 1000 1000 1000
...
6         26000 24000 24000 22000 22000 22000 20000 20000 20000 20000
end

The first column is the tier (Level, 0-6). The remaining 10 columns are the XP awarded to the 1st through 10th ranked players in that tier. The final granted XP is further multiplied by the account-level event-XP rate from Common.dat.

Section 3 - Money Reward Table#

Same structure as section 2 but for zen. Columns 1-10 are the money awarded to the 1st through 10th ranked players.

3
//Level   RewardMoney1 ... RewardMoney10
0         30000 25000 25000 20000 20000 20000 15000 15000 15000 15000
...
6         150000 140000 140000 120000 120000 120000 90000 90000 90000 90000
end

Section 4 - Coin Rewards#

4
//Level   WC   WP   GP
0         0    0    0
...
6         0    0    0
end

Per-tier cash-coin reward. Four columns: the tier number followed by WCoin (WC), WCoin-Premium (WP), Goblin Point (GP). All zero in the shipped template.

Important Behavior#

  • First-wave monsters spawn exactly once at round start. Earlier builds could double-spawn the opening wave, leaving roughly twice the intended monster count on the map for tier 1; the shipped build spawns each wave a single time.

Cross-File Dependencies#

ValueRelated in
Enable flagEvent.dat DevilSquareEvent
Max users per instanceEvent.dat DevilSquareMaxUser
Entry ticket recipesChaosMix plugin (Keynote of Illusion recipes)
PK accessCommon.dat PkCanEnterDS
Instance map rulesMapManager.xml entries for maps 9 and 32
Arena monster statsMonster.xml

Common Issues#

  • Players joined but timer never started - DevilSquareMaxUser too high for current participant count, preventing the round from starting, or EventTime is 0.
  • Only the top scorers get XP/money - by design: sections 2 and 3 are rank-indexed and only ranks 1-10 receive rewards. TODO: verify whether ranks beyond 10 receive anything from section 4 (coin rewards).
  • Ticket-holders cannot enter - the entry window driven by NotifyTime in section 0 has already closed, or the player's level is outside the bracket for the tier they attempted to enter.
  • Rewards scale strangely across ranks - the shipped template is front-loaded: rank 1 receives substantially more than ranks 2-3, which in turn receive more than ranks 4-6, and so on.

Last updated August 20, 2026