EventTimerInfo

The EventTimerInfo configuration controls what event information is displayed in the client's Event Timer window. It defines event names and rich tooltip descriptions that help players understand upcoming events, their rewards, and how to participate.

File Location#

Data/Plugins/Events/EventTimerInfo.xml

Overview#

This system provides a modern event timer interface by:

  • Displaying event names in the timer window
  • Showing rich tooltip descriptions with formatted sections
  • Supporting up to 42 different event types (0-41)
  • Automatically updating based on server event schedules
  • Providing visual states (disabled, waiting, starting soon, active)

The client requests event data from the server on demand, and the server responds with the enabled event list.

Event Index Reference#

Events are organized into three categories:

Index RangeCategoryDescription
0-13Core EventsMain server events (Blood Castle, Devil Square, Castle Siege, etc.)
14-27InvasionsSpecial invasions and boss events
28-41ArenasClass-specific PvP arenas

Core Events (0-13)#

IndexDefault Name
0Blood Castle
1Devil Square
2Chaos Castle
3Illusion Temple
4(free)
5(free)
6Bonus Event
7Moss Merchant
8Drop Event
9King of MU
10Team vs Team
11Kanturu
12Crywolf
13Castle Siege

Invasions and Special Events (14-27)#

Slots 14-17 and 21-27 are bound at GameServer startup by each invasion XML's <General EventTimerSlot="N"/> attribute (see Invasions). The mapping below is the shipped default; you can rebind any invasion to any free slot by editing its XML.

IndexDefault NameSource
14Skeleton KingInvasion XML 000 - Skeleton King.xml (EventTimerSlot="14")
15Red DragonInvasion XML 001 - Red Dragon.xml (EventTimerSlot="15")
16Golden InvasionInvasion XML 002 - Goldens.xml (EventTimerSlot="16")
17White WizardInvasion XML 003 - White Wizard.xml (EventTimerSlot="17")
18RaklionState-driven by the event itself - no invasion XML, the slot is bound internally
19Imperial GuardianState-driven by the event itself - no invasion XML, the slot is bound internally
20Guild vs GuildShipped entry, Enabled="true"
21Cursed SantaInvasion XML 007 - Cursed Santa.xml (EventTimerSlot="21")
22MedusaInvasion XML 008 - Medusa.xml (EventTimerSlot="22")
23-27(free)Available - drop an invasion XML with a matching EventTimerSlot to claim a slot

Invasions whose XML sets EventTimerSlot="-1" (e.g. 004 - New Year.xml, 005 - Rabbits.xml, 006 - Summer.xml) opt out of the client timer entirely.

Arenas (28-41)#

Default names mirror the shipped short-class labels. Rename freely to match how your server advertises promotions.

IndexDefault Name
28Survivor (all classes)
29MG vs MG (CustomArena 1 "DMxDM")
30DW vs DW (CustomArena 2 "GMxGM")
31DK vs DK (CustomArena 3 "BMxBM")
32RF vs RF (CustomArena 4 "FMxFM")
33DL vs DL (CustomArena 5 "LExLE")
34ELF vs ELF
35SUM vs SUM
36-41Arena 9 through Arena 14

Configuration Format#

Tabs#

The window has up to 3 tabs. <Tabs> sets their names and colours, in order. Leave it out to get the default Events / Invasions / Arenas.

<Tabs>
    <Tab Name="Events"    Color="gold"/>
    <Tab Name="Invasions" Color="255,90,60"/>
    <Tab Name="Arenas"    Color="green"/>
</Tabs>
AttributeTypeDefaultDescription
Namestring(required)Tab label (max 15 characters).
Colorcolourskin colourLabel colour. Idle tabs draw a shade darker.

Event Entry#

AttributeTypeDefaultDescription
Indexint(required)Event index (0-41). Must be unique.
EnabledbooltrueWhether event appears in timer window. Set to false to hide unused events.
Namestring(required)Display name shown in timer window (max 31 characters).
Tabintby indexTab the event is listed in (0 = first). Default: 0-13 and 18-20 → 0, 14-27 → 1, 28-41 → 2.
NameColorcolourstate colourColour of the event name in the list. The countdown keeps its state colour; a disabled event stays grey.
EntryLimitstringnoneA limit from EntryLimits.xml (BloodCastle, DevilSquare, ...) or a dungeon Name. The tooltip ends with the player's "Entries: 2/3 today". Nothing shows while that limit is 0.

Tooltip#

<Tooltip> holds <Header> and <Line> elements, drawn top to bottom in file order.

<Tooltip>
    <Header>Blood Castle Info</Header>
    <Line Color="blue">You need Blood Bone and Scroll of Archangel</Line>
    <Line/>
    <Line Color="yellow" Bold="1">Reward:</Line>
    <Line Color="violet">Archangel weapons!</Line>
</Tooltip>
ElementAttributesDescription
<Header>Color (default gold)Bold section title.
<Line>Color (default tooltip text colour), Bold (1 = bold)One line of text. <Line/> = blank line. Long lines wrap.

A plain <Line>[Rewards]</Line> (no Color) is drawn as a header too, without the brackets, so older files still look right.

Colours#

Every Color / NameColor attribute takes any of these:

FormExample
NameColor="orange"
Item-tooltip index 0-13Color="3" (= yellow)
R,G,BColor="255,90,60"
HexColor="ff5a3c" or Color="#ff5a3c"
IndexNameIndexName
0white7darkblue
1blue8darkyellow
2red9greenblue
3yellow10gray
4green11redpurple
5darkred12violet
6purple13orange

Extra names (no index): gold, cyan, pink.

The indices follow the item tooltip colour order, so numbered colour files from other emulators port over directly. A bad colour is logged in the GameServer console and ignored.

Formatting rules:

  • Trailing blank lines are dropped
  • Maximum 2047 bytes per tooltip after encoding (each coloured line costs ~10 extra bytes, bold 3). Longer tooltips are cut off and logged at load

Event States#

The server automatically determines event states based on remaining time:

StateDisplayCondition
DisabledHiddenEnabled=false OR remainTime=-1
WaitingNormal countdownremainTime > 300 seconds (5 minutes)
Starting SoonYellow/highlightedremainTime < 300 seconds
ActiveActive indicatorremainTime = 0

Important Behavior#

Examples#

<Event Index="0" Enabled="true" Name="Blood Castle" NameColor="red">
    <Tooltip>
        <Header Color="orange">Blood Castle Info</Header>
        <Line/>
        <Line Color="blue">Mix Blood Bone + Scroll of Archangel</Line>
        <Line Color="blue">into a Cloak of Invisibility</Line>
        <Line/>
        <Line Color="green">Break the gate, kill the statue and bring</Line>
        <Line Color="green">the Archangel weapon back to win</Line>
        <Line/>
        <Header Color="yellow">Rewards</Header>
        <Line Color="violet" Bold="1">Chance for Archangel weapons!</Line>
    </Tooltip>
</Event>

Tooltip Design Guidelines#

Structure Your Tooltips#

Use a consistent pattern across all events:

  1. Description - What is this event?
  2. Requirements/Location - How to access it
  3. Rewards - What players can earn
  4. Rules/Strategy - Special mechanics

Use Clear Headers#

<Header>Description</Header>   <!-- Main event explanation -->
<Header>How to Enter</Header>  <!-- Access requirements -->
<Header>Rewards</Header>       <!-- Loot information -->
<Header>Rules</Header>         <!-- Special mechanics -->
<Header>Location</Header>      <!-- Where it happens -->

Pick one colour per kind of line and keep it across all events (e.g. blue = how to enter, green = how it plays, yellow = rewards). Players learn the pattern.

Keep It Concise#

  • Each line should be 40-50 characters max for readability
  • Use bullet points (- or •) for lists
  • Break long paragraphs into multiple lines
  • Use empty lines sparingly for section breaks

Good Tooltip Example#

<Tooltip>
    <Header Color="orange">Illusion Temple Info</Header>
    <Line/>
    <Line Color="green">Team-based capture event. Carry the</Line>
    <Line Color="green">Sacred Ball to the enemy pedestal.</Line>
    <Line/>
    <Header Color="yellow">Rewards</Header>
    <Line>- Illusion Shard Points</Line>
    <Line>- Special armor sets</Line>
</Tooltip>

Common Issues#

ConfigPurpose
Event.datPer-server event schedules, enables, and countdown sources
Event configsIndividual event definitions (Blood Castle, Devil Square, Kanturu, etc.)

Behavior#

Event Time Sources#

Different events pull their countdown from different places:

  • Most scheduled events read their next-start time from the GameServer's event scheduler
  • State-driven events (Kanturu, Crywolf, Castle Siege, Raklion, Imperial Guardian) read their current state directly from the event system
  • Invasion slots (14-27) and Custom Arena slots (28-41) each have their own timers

Loading#

At startup the plugin reads Data/Plugins/Events/EventTimerInfo.xml, validates each <Event> Index (0-41), and stores the enable flag, name, and tooltip lines. A malformed or missing file falls back to hardcoded defaults so the event timer UI never shows blank data.

Last updated October 6, 2026