Skip to content

Event Lifecycle

Every event in MAGK progresses through a series of statuses that control visibility, registration, scoring, and player interactions. Understanding the lifecycle helps you plan when to configure, launch, pause, and close your events.

Status Overview

graph LR
    D[Draft] -->|Open Registration| RO[Registration Open]
    D -->|Begin Staging| S[Staging]
    D -->|Activate| A[Active]
    RO -->|Close Registration| RC[Registration Closed]
    RC -->|Begin Staging| S
    RC -->|Activate| A
    S -->|Activate| A
    A -->|Pause| P[Paused]
    A -->|Complete| C[Completed]
    P -->|Resume| A
    P -->|Complete| C
    D -->|Cancel| X[Cancelled]
    RO -->|Cancel| X
    RC -->|Cancel| X
    S -->|Cancel| X
    A -->|Cancel| X
    P -->|Cancel| X
Status Description
Draft Event is being configured. Not visible to players
Registration Open Players can register. Event details are visible but not yet live
Registration Closed Registration is closed. Final team assignments can be made
Staging Pre-event setup phase. Final checks before going live
Active Event is live. Players can participate, scoring is running
Paused Event is temporarily suspended. Scoring and interactions are frozen
Completed Event has ended. Scores are frozen, results are preserved
Cancelled Event was cancelled. No further actions are possible through normal transitions

Standard Transitions

Each status has a defined set of transitions available through the status buttons on the event edit page:

From Available Transitions
Draft Open Registration, Begin Staging, Activate, Cancel
Registration Open Close Registration, Cancel
Registration Closed Begin Staging, Activate, Cancel
Staging Activate, Cancel
Active Pause, Complete, Cancel
Paused Resume (Active), Complete, Cancel
Completed — (terminal state)
Cancelled — (terminal state)

All transitions require confirmation through a dialog before they take effect.

Admin Status Override

Administrators can override the status of any event, including reversing terminal states like Completed or Cancelled. This is useful for:

  • Uncancelling an event that was cancelled by mistake
  • Reopening a completed event for additional scoring adjustments
  • Correcting a status that was set incorrectly

To override a status:

  1. Open the event edit page
  2. In the status section, click Override status…
  3. Select the desired status from the expanded list
  4. Confirm the override in the dialog (the dialog notes that this bypasses normal transition rules)

Override Caution

Status overrides bypass the normal state machine. Forcing an event from Completed back to Active will unfreeze scoring and reopen interactions. Make sure this is intentional. All overrides are logged in the audit trail as event.status_force_change.

Draft Status

All new events start in Draft status. This is your setup phase.

What You Can Do in Draft

  • Edit all event fields (name, dates, location, description, image)
  • Create and modify the team structure (platoons, squads)
  • Create missions and place objectives on the map
  • Configure scoring rules and select a game mode
  • Set up registration settings, kiosk mode, and QR enrollment
  • Manage overlays and define the mission area on the tactical map

What Players See

  • Players cannot see draft events in public listings
  • The public live event page (/events/:slug/live) is not available

Registration Open

Open registration to allow players to sign up before the event goes live.

What Changes

  • Players with a direct link can register for the event
  • Registration forms, kiosk mode, and QR enrollment are active
  • The event is not yet live — no scoring or real-time features

Registration Closed

Close registration when you have enough participants or the sign-up deadline has passed.

What Changes

  • No new registrations are accepted
  • You can still manage existing registrations (approve, reject, assign to squads)
  • Final roster adjustments can be made before staging or activation

Staging

The staging phase is for final pre-event checks.

What You Can Do in Staging

  • Verify team assignments and roster completeness
  • Test node connectivity and objective placement
  • Run through the mission workflow
  • Confirm all configuration is correct before going live

Activating an Event

When your event is fully configured and ready for participants, transition it to Active status.

Pre-Activation Checklist

Before activating, verify:

  • [ ] Team structure is set up (at least two platoons with squads)
  • [ ] At least one mission with objectives is configured
  • [ ] Scoring rules and game mode are selected
  • [ ] Players have registered and been assigned to squads
  • [ ] Event dates are correct

How to Activate

  1. Open the event edit page
  2. In the status section, click Activate
  3. Confirm the transition in the dialog

Active Status

This is the live phase of your event.

What Changes When Active

Feature Behavior
Visibility Event appears in public listings and the live event page is accessible
Scoring Points are calculated in real time as teams interact with objectives
Node Capture MAGK Node devices respond to player interactions
WebSocket Updates Real-time CoT data, score updates, and event status changes are broadcast
Leaderboard Live team and individual rankings are visible
Tactical Map Live CoT markers, objective status, and overlays are displayed

What You Can Still Change

While an event is active, you can:

  • Approve or reject pending registrations
  • Assign players to squads
  • Start and stop individual missions
  • Adjust scoring rule parameters (use caution — changes apply immediately)
  • Toggle overlay visibility on the tactical map

What You Cannot Change

  • Event slug (public URLs must remain stable)
  • Game mode (changing modes mid-event disrupts scoring)
  • Deleting teams that have active scores

Pausing an Event

Pause an active event to temporarily suspend all live features.

What Happens When Paused

  • Scoring is frozen — no new points are awarded
  • Node capture interactions are suspended
  • The live event page shows a "Paused" indicator
  • WebSocket connections remain open but no new game data is broadcast
  • Players can still view the map and current scores

Resuming

Click Resume (which transitions back to Active) to continue the event. Scoring and interactions resume immediately.

Completing an Event

When the event ends, transition it to Completed status to freeze results.

How to Complete

  1. Open the event edit page
  2. In the status section, click Complete
  3. Confirm the transition in the dialog

What Happens on Completion

Feature Behavior
Scoring Frozen — final scores are preserved as the official result
Registration Closed — no new registrations accepted
Node Capture Disabled — objectives no longer respond to interactions
Live Event Page Remains accessible, showing final scores and results
Leaderboard Displays final rankings

Cancelling an Event

Cancel an event at any stage if it will not take place.

What Happens on Cancellation

  • The event is removed from public listings
  • Registration is closed
  • Scoring and interactions are disabled
  • The event remains in the admin event list as a historical record

Uncancelling

Administrators can reverse a cancellation using the Override status feature on the event edit page. This requires admin privileges and is logged in the audit trail.

Event Edit Page Layout

The event edit page is organized into three sections:

  1. Header — Event title with links to the Roster and Mission Workflow views
  2. Status Section — Current status badge, standard transition buttons, and the admin override option
  3. Details Form — All editable event fields (name, description, dates, location, teams, roles, etc.)

Status is managed exclusively through the status section buttons — there is no status dropdown in the form. This prevents accidental status changes while editing other fields.

Viewing Event History

Completed and cancelled events remain in the event list as historical records. Open a completed event to review:

  • Final team and individual scores
  • Mission completion status
  • Registration records
  • Objective capture history