Skip to content

Festival Overview

Concept Phase

Festival is a calendar-driven orchestration system. It does not replace the mods that provide content; it schedules and coordinates them.


A good live event should be visible, bounded, reversible, and memorable. Festival’s job is to turn operational intent into reliable server behavior.

Visible

Players should know what is active, what is coming, and why it matters.

Bounded

Every modifier has a start, end, scope, and owner.

Reversible

Staff should be able to pause or roll back an event safely.

Memorable

Events should produce recaps, Passport stamps, screenshots, leaderboards, or stories.


flowchart LR
    Staff[Staff Calendar] --> Event[Festival Event Package]
    Event --> Validator[Conflict Validator]
    Validator --> Scheduler[Cluster Scheduler]
    Scheduler --> Nodes[Server Nodes]
    Nodes --> Modifiers[Boons + Adapters]
    Nodes --> Heralds[In-Game Heralds]
    Event --> Web[Web Calendar]
    Event --> Discord[Discord Posts]
    Modifiers --> Treasury[Treasury Rewards]
    Modifiers --> Passport[Passport Stamps]
{
"id": "moonlit_market_2027_04_16",
"name": "Moonlit Market",
"starts_at": "2027-04-16T19:00:00Z",
"ends_at": "2027-04-16T22:00:00Z",
"scope": {
"network": "main",
"nodes": ["survival-1", "survival-2"]
},
"boons": ["bazaar_fee_discount", "rare_vendor_rotation"],
"attendance": { "enabled": true, "minimum_minutes": 20 },
"rewards": ["treasury:moonlit_market_attendee"]
}
StateMeaning
draftStaff is editing; not visible to players.
scheduledPublished to calendar; not active yet.
warmingPre-event announcements and countdowns are running.
activeModifiers are live on target nodes.
pausedStaff stopped effects without deleting the event.
completedEvent ended and recap/reward jobs have run.
cancelledEvent will not run; cancellation notices can be posted.

Event TypeExampleGood For
Boost Window2x Relic Renown for 3 hoursFocused grinding sessions
Outbreak RallyDragon spawns boosted on selected routesGroup hunts
Market FairBazaar fee discounts and vendor rotationsEconomy nights
Contest GalaReverie contests with extra ribbonsSocial/cosmetic competition
Frontier NightBonus ranked rewards for selected queuesCompetitive spikes
Season FinaleJubilee closing weekendServer-wide celebration

Attendance should support multiple modes:

  • Presence: player was online in the event scope for at least N minutes.
  • Action: player completed a specific event objective.
  • Contribution: player contributed to a community target.
  • Staff Check-In: staff manually checked in attendees for bespoke events.

ModFestival Role
JubileeLaunch weekends, chapter spotlights, finale events, event-specific deeds
PassportAttendance stamps, event titles, recap cards
TreasuryReward bundles and compensation grants
CourierEvent reminders and post-event reward mail
OutbreaksSpawn rallies and type/species spotlight windows
BazaarMarket fairs, fee discounts, featured listings
RelicRenown boosts, catalyst hunts, inscription discovery weekends
ReverieContest galas, tournament showtimes, ribbon bonuses
FrontierRanked queue nights, bracket events, rating protection windows

  • No event should activate without a generated preview of affected nodes and modifiers.
  • Recurring events should copy a template, not mutate old event history.
  • Every start/stop/pause action needs an audit entry.
  • Node-local clocks should not be trusted; scheduling should use a shared authority.
  • If a modifier fails on one required node, Festival should either roll back or mark that node degraded.