Timed events: a festival with a prize track
How ready-made iDos Games timed events work - limited-time events with tokens, a milestone track, VIP second prizes and daily caps - and how to set them up in the dashboard.
Timed events are limited-time festivals: the player earns event tokens and climbs a track of milestone prizes. An event can run once, repeat on a schedule or follow a chain, and a VIP pass adds a second prize on each milestone.
What the player sees
- Every active event as a tab with its name and timer.
- The token bar to the next prize and the milestone track.
- A VIP second prize on milestones; a pass bought later tops up the milestones already claimed.
- "Claim all" and a popup with how tokens are earned and their daily caps.
How it works
- Tokens come from sources set on the event: an action in the game, a purchase, a quest and others.
- A round of play is a custom action the game reports; the minimal template does that for every event that lists it.
- "Get VIP" opens the VIP screen when it is installed.
Step 01Add the system to your project
Ask the AI coder: "Add a weekly event with prizes". It installs the ready system with a weekly "Star festival" of five milestones with a VIP prize on each.
Step 02Set it up in the dashboard
Open the dashboard, pick your project and go to Live Operations → v2 → Timed Event.
- Create an event: schedule (once, cyclic or chained) and the token.
- Add the token sources with their daily caps.
- Build the milestone track: thresholds, rewards and VIP prizes.
The AI button on the page opens an assistant: describe what you need, it proposes changes, and you review them and press Save.
Step 03Test and release
Check the system in the test version of your app. Settings go to the live app as a separate action - see publishing and links.
For developers
Timed events work through client.timedEvent in @idosgames/core.
// A round was played: tokens for the 'play_round' action of every active event
const res = await client.timedEvent.getActiveEvents()
for (const e of res.ok ? (res.data.ActiveEvents ?? []) : [])
if (e.CanEarn !== false && e.Type && e.TimedEventID)
await client.timedEvent.grantTokens(e.Type, e.TimedEventID, 'CustomAction', undefined, undefined, {
ActionName: 'play_round',
})
// Claim every waiting milestone of every event in one call
await client.timedEvent.claimAllMilestones()- The game grants tokens only through the sources set on the event; the server applies the caps.
- Read the track from
getActiveEvents(): claimed milestones are kept there.
Every field is described in the timed-event-system skill, served by the SDK MCP server.
Frequently asked questions
Can an event repeat every week?
Yes. An event can run once, repeat on a schedule or run as a chain of phases.
How do players earn tokens?
From the sources you set: actions in the game, purchases, quests and others, each with its daily cap.
See also
- Season and battle pass: tiers with prizesHow the ready-made iDos Games season works - a battle-pass-style ladder of tiers with rewards, status from play, VIP second prizes and alternating seasons - and how to set it up in the dashboard.
- VIP and premium passes in your gameHow the ready-made iDos Games VIP system works - premium passes with benefits, a free trial, discounts and bonus rewards across the game - and how to set it up in the dashboard.
- Team events: build together for a shared prizeHow ready-made iDos Games team events work - the server matches a team, every member builds their own object, and the team gets a prize when all are done - and how to set them up in the dashboard.
Make your own game
Describe the idea in a sentence - the AI coder builds it, and it goes live at its own link.