Reference
Timer reference
| Timer kind | Created | Due | Expiry handler |
|---|---|---|---|
discard | Match creation | creation + DISCARD_SECONDS (60s default) | Empty discard for each missing hand; advance to pick when both are ready. |
pick | Both discards complete or the results phase finishes | phase start + PICK_SECONDS (45s default) | Select first active map for the scheduled picker. |
score_submission | Map selected/start packet prepared | start + 30s + 1.5 × (duration / speed rate) | Insert zero timed-out score for each missing competitor; resolve. |
round_results | A non-final round resolves | resolution + ROUND_RESULTS_SECONDS (6s default) | Validate the completed round, transition to pick, then create a fresh full-length pick timer. |
custom | Administrator | configured absolute time | Complete only; no state transition. |
Declared but not currently scheduled by the active gameplay flow: map_countdown and disconnect_grace. A plugin Socket.IO loss currently forfeits immediately; there is no disconnect grace timer.
Poll default: 1,000 ms. Processing lease default: 30,000 ms. Failed handlers reschedule after min(30s, 1s × 2^attempts) and permanently fail on attempt 5. Pausing stores max(0, dueAt − database now) in milliseconds; resuming uses database now plus that remainder.