Before diving into the technical features, it is worth understanding the spirit of the AIRΒ³ TDD Cup. As an organiser, the way you design your tasks has a much bigger impact on participation than any scoring parameter you can configure.
The Core Principle
The goal of a TDD task is not to challenge only the best pilots. It is to design a task that as many pilots as possible can actually complete. The best pilots will naturally fly further β covering more distance through smarter route choices, longer flights, and bigger detours within the task β but the task itself should remain reachable by intermediate pilots flying lower-performance gliders.
Speed is intentionally not part of the TDD scoring system: the cup rewards flying well, not flying fast. A task that only a handful of pilots can complete defeats this principle and discourages participation.
Recommendations for Season Cups
In a Season Cup, the same tasks remain available throughout the season and pilots fly them under varied weather conditions. Tasks must therefore be sized so that they remain achievable across a wide range of conditions, not just the best days.
Two typical task shapes:
- Triangle tasks (FAI or flat triangle) β Aim for an optimised distance of 15 to 20 km. This may sound short, but a triangle requires the pilot to come back against the wind on at least one leg, which is much more demanding than flying straight. A 15β20 km triangle is a fair challenge that intermediate pilots can complete on a decent day, while expert pilots will use it as a starting point and extend their flight much further.
- Wind-driven tasks (downwind or crosswind) β Aim for an optimised distance of 35 to 40 km. With the wind doing part of the work, a longer distance becomes accessible to more pilots. Strong pilots will fly a longer flight before reaching the goal and may also continue beyond it, earning additional points through XContest distance β and through the DBF if you have enabled it.
Recommendations for Event Cups
In an Event Cup, you set the task on the day, after assessing the weather. You have direct control over the difficulty: a different task can be designed for each day, calibrated to that specific day's conditions.
The same principle applies β the task should be achievable by the bulk of the participants given the day's actual conditions β but you have far more flexibility:
- On a strong day with good thermals and consistent wind, a longer or more complex task is appropriate.
- On a marginal day, scale the task down so that the field still has a chance to complete it. A task that everyone abandons after 30 minutes is a wasted competition day.
- For a multi-day event, vary the task shapes (triangle, downwind, out-and-return) to reward different skills across the days.
Why This Matters for Participation
The most common reason pilots stop participating in a cup is the feeling that they have no chance. If the tasks are designed only for the very best, intermediate pilots quickly disengage. A cup with reachable tasks builds a community: pilots come back week after week, the leaderboard moves, and the cup becomes a regular fixture in the local flying scene. Task design comes first.
β Back to topA Cup is the top-level container for your competition. It groups together all the tasks, scores, pilots, and configuration. Before doing anything else, you must create a Cup.
Cup Types
When creating a cup, you must choose between two types:
- π Event Cup β A series of daily tasks. Each task is flown on a specific date, and only one submission per pilot per task is allowed. The Goal scores 200 pts only if the pilot lands inside the cylinder. If the pilot crosses the Goal without landing, the Goal scores 0 pts. Distance points use a simple ratio against the best XC among pilots who landed at Goal.
- π Season Cup β A free-flying season where pilots can fly the same task multiple times on different dates. Crossing the Goal without landing scores 100 pts (counted as a Turnpoint) instead of 0. Distance points use a compression formula with a configurable DCF (Distance Compression Factor) that reduces the gap between pilots. The overall score is the sum of the 6 best individual flight scores.
Cup Fields
| Field | Description |
|---|---|
| Name | The display name of the cup (e.g. "AIRΒ³ TDD Belgian Cup 2026"). Visible to all pilots. |
| Slug | A short, unique identifier used in URLs (e.g. AIRΒ³TDDBelgianCup2026). Auto-generated from the name but can be edited. Must be unique across all cups. |
| Type | Event or Season (see above). |
| Start / End Date | The cup is considered current if today is between these dates, and previous otherwise. Previous cups remain visible but are grouped in a separate dropdown. |
| Organiser Name | Your name as the cup organiser. Displayed on score and overall pages. |
| Organiser Contact | Email address shown to pilots who need to contact you (e.g. for flight overrides). Must be a valid email. |
Season-only Settings
The following settings only appear when the cup type is Season:
| Setting | Description |
|---|---|
| π DCF Distance Compression Factor | Controls the curve used for distance points. Default: 0.3. Range: 0 to 1. Lower values compress the differences between pilots more aggressively, giving slower pilots a better chance against faster ones. The formula is pts = 500 Γ (your XC Γ· best XC) ^ DCF. |
| π DBF Distance Bonus Factor (optional) | An optional bonus mechanic that lets pilots who crossed the Goal as a Turnpoint recover the 100 pts they lost β provided they fly significantly more than the reference distance. The DBF value is the multiplier needed to fully recover those 100 pts. Default: 2.5 (= the pilot must fly 2.5Γ the reference distance for full recovery). The total task score is always capped at 1000 pts. |
Cup List Actions
Once a cup is created, several actions are available from the cup list:
- π₯ Manage team β Add or remove contributors who can edit tasks but not delete the cup. Contributors receive an email invitation if they are not yet registered.
- π· Change type β Switch between Event and Season (only if no scores yet).
- π Create same cup next year β Duplicates the cup with all its tasks, dynamic airspace settings, DCF, and DBF. Dates are shifted by +1 year. The new cup is suffixed with
-NEWso you can rename and verify it. - π Edit dates β Adjust the start and end dates.
- π€ Edit organiser name β Change the displayed organiser name.
- βοΈ Edit contact β Change the organiser contact email.
- βοΈ Rename β Change the cup name.
- π Edit slug β Change the URL-friendly identifier.
- π Edit DCF / π Edit DBF β Adjust the scoring factors (Season only, before any score is submitted).
- Notify on tracklog β Toggle email notifications for new flight submissions.
A Task is a specific flight assignment within a cup. It defines the Start cylinder (SSS), Turnpoints (TPs), and Goal that pilots must fly. A cup can contain many tasks β one per day for an Event cup (the date is implicit from the day the task is flown), or several throughout the season for a Season cup.
Adding a Task
Four methods are available, all from the Tasks panel after selecting a cup:
- π Upload .xctsk file β Upload a task file produced by XCTrack. This is the simplest method when you already have the task defined externally.
- π· Scan QR code β Use your camera to scan a QR code generated by XCTrack. Useful when sharing tasks in person at a cup briefing.
- βοΈ Cloud code β Enter a short code (typically 4 characters, e.g.
baba) issued by the XContest cloud service when a task is shared. The task is downloaded fromtools.xcontest.organd added to the cup automatically. This is convenient when an organiser shares a task code over chat or email. - πΊ Create/Edit task β Opens the integrated Task Manager where you can build a task graphically on a map, define cylinders, and save. Once saved with the cup selected, the task is added to that cup.
The Task Fingerprint
Every task has a fingerprint that uniquely identifies its waypoints. The fingerprint is calculated from the positions and radii of all turnpoints and the Goal. It is shown in the task parameters in the admin list.
The fingerprint changes whenever any of the following are modified:
- Position (latitude/longitude) of a turnpoint or the Goal
- Radius of any cylinder
- Adding or removing a turnpoint
The fingerprint does not change when you modify the comp name, Land By time, slug, SSS time, or any non-geometric property.
Task Actions in Admin
From the Admin panel, the actions you can perform on an existing task are intentionally limited to safe operations:
- βοΈ Rename β Change the comp name of the task (does not affect the fingerprint).
- π Edit slug β Change the task's URL-friendly identifier.
- π Copy to another cup β Duplicate the task into a different cup. Useful for reusing tasks across cups.
- π Delete β Remove the task from the cup. Only possible if conditions are met (typically: no submitted scores, or scores already removed).
Note: changing waypoint positions, radii, Land By time, or airspace settings is not done from the Admin panel. These edits are performed in the Task Manager (see below).
Editing a Task in Task Manager
To edit the actual content of a task (geometry, timing, airspace), use the Task Manager. You must be logged in with an account that has edit rights on the cup (owner, contributor, or superadmin).
From Task Manager, you can edit:
- Position and radius of turnpoints and the Goal
- Add or remove turnpoints
- SSS Time and Land By Time
- Some airspace-related parameters
Saving Edits β What Happens Depending on the Score Status
The behaviour when saving an edited task depends on whether the task already has submitted scores:
Task Visibility
Tasks are publicly visible in Task Manager for as long as the cup is active. Tasks disappear from public listing 90 days after the cup's end date, but the data is preserved in the database. You can still access tasks of previous cups via the admin panel.
Dynamic Airspace per Task
If your cup has dynamic airspace configured, each task automatically inherits the cup-level airspace settings. You can also override at the task level β for example, to exclude a specific NOTAM that affects only one day. See section 4. Dynamic Airspace.
β Back to topThe Scores Management panel lets you inspect the flights submitted to your cup, force-validate flights that were rejected automatically, and remove invalid entries. To use it, select a cup and a task β the list of submitted flights for that task appears.
Why a Flight Might Be Rejected
When a pilot submits a flight, the analyser runs three automatic checks that can block the submission:
- β Land By Time β The tracklog continues after the deadline defined for the task.
- πΊ Airspace β The flight enters a controlled or restricted airspace zone (R, P, CTR, TMZ, RMZ, or any zone defined by the cup's static or dynamic airspace configuration).
- π‘ G-Record β The IGC file does not contain a valid G-record (a cryptographic signature added automatically by certified GPS loggers like the AIRΒ³). Without a valid G-record, the system cannot guarantee the tracklog is unmodified β distance points are set to 0.
When any of these checks fail, the pilot is blocked from submitting and is asked to contact the organiser. As an organiser, you can review the situation and decide to override the check.
The Four Override Buttons
After selecting a cup and a task, four override buttons appear at the top of the score list. Each opens the Track Analyser in a new tab with the cup and task already pre-selected and the corresponding check disabled. The pilot's IGC tracklog can then be re-analysed and submitted with the override applied.
| Button | What it does |
|---|---|
| β Force LandBy | Bypasses the Land By Time check only. The flight will be accepted even if it ends after the deadline. Other checks (airspace, G-record) still apply. |
| πΊ Force Airspace | Bypasses the airspace violation check only. Other checks still apply. |
| π‘ Force G-Record | Bypasses the G-record check only. Distance points are restored. Use this when the pilot has a logger that does not produce a G-record but you trust the tracklog. Other checks still apply. |
| β πΊπ‘ Force All | Bypasses all three checks at once. Use as a last resort when you have verified the flight is acceptable. |
Override Reason
Whenever you submit a flight in override mode, the system asks you to provide a reason for the override. This reason is stored together with your name and the date/time, and a coloured badge appears next to the pilot's name on the public Scores page.
Pilots and other viewers can click the badge to see who applied the override, when, and why. This ensures full transparency around overrides.
| Badge | Meaning |
|---|---|
| β Land By NOK | The flight was submitted after the deadline, override applied. |
| πΊ Airspace NOK | The flight crossed a restricted airspace, override applied. |
| π‘ G-Record NOK | The flight has no valid G-record, override applied. |
Per-Score Actions
For each submitted flight in the list, three actions are available:
| Action | Description |
|---|---|
| βοΈ Edit pilot name | Change the pilot's name as displayed on the score. Useful when the name read automatically from the IGC header is wrong or formatted differently from how the pilot is known in the cup (e.g. BERTRAND F in the IGC, but the cup shows Bertrand Fontaine). The change applies only to this score entry; future submissions by the same pilot will use whatever name is in their IGC unless edited again. |
| π Edit XContest URL | Add or modify the XContest URL associated with this flight. Pilots usually paste their XContest link when submitting, but if they forgot, the organiser can add it here. The URL becomes a clickable link π XContest next to the pilot's name on the public Scores page and in the Tracklogs viewer. |
| π Delete this score | Permanently remove the score entry from the database. The IGC tracklog stored on the server is not deleted, but the score no longer appears anywhere. Use this when a flight was submitted by mistake or needs to be re-submitted with corrections. |
Bulk Deletion
The π Delete all scores for this task button at the top of the score list removes every single score attached to the selected task. Use with extreme care β this is typically only useful when re-running an Event task from scratch after correcting the task definition.
Tracklog Notifications
If the cup setting Notify on tracklog is enabled (toggle in the Cups list), you receive an email at the organiser contact address every time a pilot submits a tracklog to your cup. This is useful to monitor activity in real time during a competition.
π¦ Bulk Import β Importing Multiple Tracklogs at Once
The Bulk Import tool lets the organiser submit a large number of IGC files in one go. This is useful at the end of an Event cup day to process all flights at once, or when migrating tracklogs from another system.
The tool is accessed via the π¦ Bulk Import button that appears next to the π Delete all scores button in Scores Management once a cup is selected. Selecting a cup is enough β by default, Bulk Import will automatically detect the right task for each imported IGC file. You can also select a specific task if you want to force every flight to be analysed against the same task.
How it works β 3 steps
- Step 1 β Select Cup
Pick the cup the flights belong to. By default, the task selector is set to π€ Auto-detect task from IGC: the system will automatically identify, for each imported IGC file, which task of the cup the pilot was flying β based on the takeoff position and the waypoints crossed by the tracklog. This is the recommended mode and works perfectly even when importing a mixed batch of flights from different tasks of the same cup.
If you prefer, you can override this default and select a specific task from the dropdown. In that case, every imported file will be forced to be analysed against the chosen task. This can be useful when you know all the IGC files belong to the same task (e.g. an Event cup day where everyone flew the same task) and you want to skip the auto-detection step. - Step 2 β Drop IGC Files
Drag and drop one or several.igcfiles onto the drop zone, or click to open a file picker. Multiple files are supported. Each file will be processed independently in step 3. - Step 3 β Run Import
Click βΆ Start Import. The system processes each tracklog one by one: it parses the IGC, extracts the pilot name and date from the IGC header, identifies the task (auto-detected or pre-selected), runs the same task and airspace analysis as the regular Track Analyser, and submits the result to the cup. A live table shows the progress, the computed track points, XC distance, and any violations for each flight.
Auto-Detection Logic
When auto-detect is enabled, the system identifies the task in two steps:
- It looks at the takeoff position of the IGC tracklog and matches it against the SSS cylinder of each task in the cup.
- If multiple tasks have a matching takeoff area, the system disambiguates by checking which waypoints and Goal are actually crossed by the tracklog.
If no task can be confidently identified, the file is reported as "No matching task" in the result table and is not submitted.
What is checked for each flight
Bulk Import applies the same rules as the regular submission flow:
- Pilot name is read from the IGC header (HFPLT field), or fallback to the file name if missing.
- Flight date is read from the IGC header (HFDTE field) and is used to load the correct dynamic airspace data for the day of the flight.
- Cup calendar β flights with a date outside the cup's startβend window are rejected, just like in the regular Track Analyser.
- G-Record β flights without a valid G-record are flagged. Distance points are set to 0, just like in the regular flow.
- Land By Time, Airspace
The Dynamic Airspace system automatically downloads, every day during the cup, the up-to-date airspace data (including active NOTAMs) for the countries of your competition. Pilots submitting flights are then checked against these daily zones.
This is the recommended configuration for any cup that runs over a long period β especially Season Cups β because it ensures the airspace check always reflects the latest published restrictions.
Configuration Levels
Dynamic Airspace can be configured at two levels:
- π Cup level β The configuration applies to all tasks of the cup. This is the default and recommended setting for a regional cup where all flights happen in the same area.
- π Task level β A specific task can have its own configuration that overrides the cup-level one. Useful when one task happens in a different region (e.g. a cup that visits multiple sites).
Required Cup Settings
Before configuring Dynamic Airspace for a cup, the cup must have a Start Date and an End Date defined. The Dynamic Airspace download is scheduled to run only during this period. Cups without dates cannot use Dynamic Airspace β set the dates first.
Choosing the Format: JSON vs OpenAir
You can choose between two formats for the airspace data:
Configuration Fields
| Field | Description |
|---|---|
| Cup | The cup to configure. |
| Level | Cup or Task. If Task is selected, you must also pick the specific task. |
| Type | π· JSON (recommended) or π OpenAir. JSON is selected by default. |
| Countries | Up to three countries whose airspace data will be downloaded. Country 1 is required, Countries 2 and 3 are optional. Useful for cups near a border (e.g. Belgium + Luxembourg + France). |
| π Start flying (local) | The earliest flying time of a typical day in your cup region, in local time. The system automatically converts and stores it in UTC. The UTC equivalent is displayed in real time below the input. Default: 10h local time. |
| π End flying (local) | The latest flying time of a typical day in your cup region, in local time. Automatically converted to UTC. Default: 19h local time. |
Defining the Flying Window
The flying window defined by Start Flying and End Flying tells the system which time range to consider when filtering zones. With JSON, only zones whose activation overlaps with this window are downloaded β this keeps the airspace data focused on what matters for your cup.
For example, with the Belgian default of 10hβ19h local (8hβ17h UTC in summer), a NOTAM active only at night between 22h and 06h will not be included, because it does not overlap with the cup's flying window.
Excluding a Specific Task
If your cup uses Dynamic Airspace at the cup level but you want to opt out for a single task (for example because that task uses a static OpenAir file instead, or because the airspace data is irrelevant for that flight), you can exclude the task from the dynamic check.
This is done from the Tasks panel: when a cup has Dynamic Airspace configured and a task does not have a static OpenAir file, an πβ Exclude button appears next to the task. Click it to confirm the exclusion. The task will no longer be checked against the dynamic data.
Manual Refresh β "Fetch Now"
The β‘ Fetch Now button triggers an immediate download of the configured airspace data, without waiting for the next scheduled refresh. In normal operation you should not need to use it β the system is designed to refresh the airspace automatically at the right moment so that submitted flights are always checked against an up-to-date file. The button is mainly there for two situations: verifying that everything works right after creating a new configuration, or troubleshooting if you suspect the automatic refresh did not run as expected.
Static vs Dynamic Airspace
If a task has a static OpenAir file attached (uploaded by the organiser), the static file takes priority over any cup-level dynamic configuration for that task. Use the static option when you want a fixed airspace definition that does not change daily β typically for short Event cups where the regulatory situation is known in advance.
β Back to top