Creating a CTF Event
A CTF event in CTFFactory is a named, time-bounded competition or training session that groups challenges under a single scoreboard and access point. This page covers every step from initial configuration to inviting participants.
Before You Start
Decide on the following before creating your event:
- Purpose β competitive ranking, internal training, or a learning path assessment
- Scope β number and mix of challenges across categories and difficulties
- Access model β open registration, invite-only, or workspace-restricted
- Deployment β self-hosted CTFd bundle or a CTFFactory managed instance
Creating a New Event
- In the left navigation, click CTF Organizer, then click New CTF.
- Enter the event details:
| Field | Description |
|---|---|
| Name | Public-facing event title shown to participants |
| Description | Introductory text displayed on the CTFd landing page |
| Start Time | UTC timestamp when the event opens to players |
| End Time | UTC timestamp when flag submission closes |
| Visibility | Public (anyone with the link) or Private (invite only) |
| Theme | Visual aesthetic applied to the event interface |
| Universe | Narrative lore used when generating immersive challenges |
- Click Create Event. The event is created in draft state and is not visible to participants until you publish it.
Adding Challenges to the Event
Once the event shell exists, populate it with challenges.
Generating Challenges Directly
- Inside the event, click Add Challenges β Generate.
- Configure the generation parameters: category, difficulty, quality profile, and optional prompt.
- Click Generate. Challenges are added to the event's challenge pool after review.
Importing Existing Challenges
If you previously generated challenges in the Challenge Playground or another event, click Add Challenges β Import from Library and select the challenges you want to reuse. Flags are automatically re-randomized on import to prevent spoilers from previous events.
Using Challenge Specs
For structured events where you need predictable technical coverage, use Challenge Specs.
- Click Add Challenges β From Spec.
- Browse the spec catalog by family, subtype, and category.
- Select one or more specs. CTFFactory generates a challenge for each selected spec.
[!TIP] Combining Challenge Specs with a fixed difficulty ensures that your event covers a defined syllabus β useful for training programs where you need to assess specific skills.
Configuring the Scoreboard
After adding challenges, configure scoring under Event Settings β Scoring:
- Choose between static (fixed point values) and dynamic (points decrease as more teams solve a challenge) scoring modes.
- Set penalty rules for incorrect flag submissions if desired.
- Enable or disable the live scoreboard for participants.
See Scoring and Scoreboard for full details.
Setting Quality Profiles at the Event Level
You can set default quality profiles at the event level so that all challenges generated within the event inherit the same orientation, scenarization, and assistance settings. Individual challenge overrides remain available per challenge.
| Setting | Recommendation for Competitive Events | Recommendation for Training Events |
|---|---|---|
| CTF Orientation | Competitive | Educational |
| Scenarization | Neutral or Light Narrative | Immersive |
| Assistance Level | No Hints | No Hints or with Hints |
| Solution | No Writeup | Writeup |
Publishing the Event
When you are satisfied with the challenge list and configuration:
- Click Publish Event.
- Choose your deployment mode:
- Download Bundle β export the full event as a ZIP for self-hosting.
- Deploy Managed β provision a CTFd instance managed by CTFFactory.
- Share the participant URL or invitation links with your audience.
[!WARNING] Publishing is not reversible to draft state while participants are registered. Test your event thoroughly in preview mode before publishing.
Next Steps
- Challenge Generation β detailed AI generation options
- Manage Participants β invitations, join links, and roles
- Deploy a CTF β bundle structure and managed deployments