Skip to content

Interactive Commands Reference

Complete reference for interactive ATC control commands in radarcontrol.io.

Overview

Interactive control mode allows you to take direct control of aircraft and issue clearances using text commands or control buttons, similar to real-world ATC operations. Commands follow the format:

CALLSIGN command1 command2 ...

Multiple commands can be chained together in a single clearance.

Altitude Commands

Climb/Descend to Flight Level

Clear aircraft to climb or descend to a flight level.

Syntax:

  • cfl[LEVEL] - Climb/descend to flight level
  • c[LEVEL] - Climb/descend to flight level (short form)

Examples:

AAL123 cfl200        # Climb/descend to FL200 (20,000 ft)
DAL456 c350          # Climb/descend to FL350 (35,000 ft)
UAL789 cfl100        # Descend to FL100 (10,000 ft)

TIP

Flight levels are hundreds of feet (FL200 = 20,000 ft). The simulator automatically determines whether to climb or descend based on current altitude.

Climb/Descend to Feet

Clear aircraft to a specific altitude in feet.

Syntax:

  • c[ALTITUDE]ft - Climb/descend to altitude in feet

Examples:

AAL123 c35000ft      # Climb/descend to 35,000 feet
DAL456 c10000ft      # Descend to 10,000 feet

Speed Commands

Assign Speed

Assign a speed restriction to an aircraft.

Syntax:

  • s[SPEED] - Set speed in knots (IAS)

Examples:

AAL123 s400          # Speed 400 knots
DAL456 s250          # Reduce speed to 250 knots
UAL789 s320          # Speed 320 knots

Speed Guidelines

  • Normal cruise: 400-450 knots
  • Sequencing: 320-380 knots
  • Approach: 250 knots
  • Minimum: 180-200 knots

Heading Commands

Assign Heading

Assign a heading for the aircraft to fly (vectoring).

Syntax:

  • h [HEADING] - Fly heading (auto-selects shortest turn)
  • h l [HEADING] - Turn left to heading
  • h r [HEADING] - Turn right to heading

Examples:

AAL123 h 270         # Fly heading 270 (west)
DAL456 h l 180       # Turn left heading 180
UAL789 h r 090       # Turn right heading 090

When to specify turn direction

  • Without direction (h 270) - Aircraft takes the shortest turn
  • With direction (h l 270) - Forces specific turn direction, useful for:
    • Traffic separation (turn away from conflict)
    • Avoiding airspace
    • Specific ATC instructions

Standard headings use 3 digits (090, 180, 270, 360).

Direct To Commands

Clear Direct to Waypoint

Clear aircraft direct to a waypoint, bypassing other route waypoints.

Syntax:

  • dr [WAYPOINT] - Direct to waypoint
  • d [WAYPOINT] - Direct to waypoint (short form)

Examples:

AAL123 dr KMART      # Proceed direct to KMART
DAL456 d ROBUC       # Proceed direct to ROBUC
UAL789 dr DEN        # Proceed direct to DEN

Waypoint Validation

  • Waypoint name must be 3-5 characters
  • Waypoint must exist in the current airspace
  • Invalid waypoints will be rejected with an error message
  • This removes intermediate waypoints from the route

Route Commands

Set Entire Route

Clear aircraft to fly a complete route with multiple waypoints. This command must be the last command in a clearance as all remaining tokens are interpreted as waypoints.

Syntax:

  • r [WAYPOINT] [WAYPOINT] ... - Set complete route (space-separated)
  • route [WAYPOINT] [WAYPOINT] ... - Set complete route (full form)

Parameters:

  • Waypoints must be separated by spaces
  • All waypoints must exist in the current airspace
  • Minimum 2 waypoints required
  • Route command consumes all remaining tokens, so it must be last

Examples:

AAL123 r COORS DEN              # Route via COORS, DEN
DAL456 route KMART ROBUC DEN    # Route via KMART, ROBUC, DEN
UAL789 r KELSI COORS RAMMS DEN  # Multi-waypoint route
AAL123 cfl200 s400 r COORS DEN  # Climb FL200, speed 400, then route via COORS, DEN

Route Building with Autocomplete

  • Direct To (dr) - Removes intermediate waypoints, proceeds direct
  • Route (r) - Overwrites entire route with new waypoints
  • Route must be the last command - all tokens after r are waypoints
  • Autocomplete behavior:
    • After selecting a waypoint, a space is automatically added
    • Continue typing the next waypoint name to get suggestions
    • Autocomplete shows waypoint number (e.g., "waypoint #2")
    • Example flow: Type r C → Select COORS → Space added → Type D → Select DEN → Press Enter

Offset Commands

Lateral Offset

Apply a lateral offset to the aircraft's route.

Syntax:

  • or[NM] or offr[NM] - Offset right by nautical miles
  • ol[NM] or offl[NM] - Offset left by nautical miles
  • o[+/-NM] or off[+/-NM] - Offset with sign (+ = right, - = left)

Examples:

AAL123 or5           # Offset 5nm right of route
DAL456 ol3           # Offset 3nm left of route
UAL789 o+5           # Offset 5nm right
SWA321 o-5           # Offset 5nm left

TIP

Use offsets for lateral separation or weather avoidance. Offset is perpendicular to the current route.

Hold Commands

Issue Holding Pattern

Clear aircraft to hold at a waypoint.

Syntax:

  • h WAYPOINT - Hold at waypoint (uses ICAO standard defaults)
  • h WAYPOINT L|R - Hold with specified turn direction
  • h WAYPOINT L|R LEGNM - Hold with custom leg length
  • h WAYPOINT L|R LEGNM e TIME - Hold with EFC (Expect Further Clearance) time

Parameters:

  • WAYPOINT - Fix name (3-5 characters, must exist in airspace)
  • L or R - Turn direction (Left or Right), default: R (ICAO standard)
  • LEGNM - Leg length in nautical miles, default: 4nm (ICAO 1-minute standard)
  • TIME - EFC time in seconds (optional)

Examples:

AAL123 h KMART             # Hold at KMART (right turns, 4nm legs - ICAO standard)
DAL456 h KMART L           # Hold at KMART, left turns, 4nm legs
UAL789 h ROBUC R 10        # Hold at ROBUC, right turns, 10nm legs
SWA321 h KMART L 10 e 3600 # Hold with EFC at time 3600

ICAO Standards

The ICAO standard holding pattern uses:

  • Right turns (default)
  • 1-minute legs below FL140 (~4nm at typical speeds)
  • 1.5-minute legs at or above FL140 (~6nm)

For simplicity, the simulator defaults to 4nm legs at all altitudes.

Exit hold

Cancel holding pattern and resume the aircraft's route.

Syntax:

  • xhld - Exit hold and resume route
  • exh - Exit hold (short form)
  • exithold - Exit hold (full form)

Examples:

AAL123 xhld          # Exit hold, resume route
DAL456 exh           # Exit hold (short form)

TIP

Use this command when traffic permits the aircraft to continue. The aircraft will proceed to the next waypoint in its route.

STA Commands (Scheduled Time of Arrival)

Assign Scheduled Arrival Time

Assign a scheduled time for the aircraft to cross a waypoint.

Syntax:

  • sta WAYPOINT @ TIME - Schedule crossing time

Parameters:

  • WAYPOINT - Fix name (3-5 characters)
  • TIME - Crossing time in seconds (simulation time)

Examples:

AAL123 sta KMART @ 3600    # Cross KMART at time 3600
DAL456 sta ROBUC @ 4200    # Cross ROBUC at time 4200

TIP

Time is in seconds since simulation start. Aircraft will adjust speed to meet the constraint. Useful for metering and sequencing.

Handoff Commands

Transfer Aircraft to Another Sector

Hand off aircraft to the next sector.

Syntax:

  • ho SECTOR - Handoff to sector

Examples:

AAL123 ho ZDV        # Handoff to Denver Center (ZDV)
DAL456 ho ZKC        # Handoff to Kansas City Center (ZKC)

Approach Commands

ILS Approach Clearance

Clear an aircraft for an ILS approach to a specific runway.

Syntax:

  • i [RUNWAY] - Clear ILS approach (short form)
  • ils [RUNWAY] - Clear ILS approach

Examples:

DAL123 i 27L         # Clear ILS runway 27L
SWA456 ils 09        # Clear ILS runway 09
AAL789 i 4R          # Clear ILS runway 4 right

Prerequisites

For an ILS clearance to succeed:

  • Aircraft heading must be within 30° of runway heading
  • Aircraft must be 5-20nm from the runway threshold
  • Aircraft altitude must allow glideslope capture

Contact Tower

Hand off the aircraft to tower control. Required for landing to complete.

Syntax:

  • t or twr or tower - Contact tower

Examples:

DAL123 twr           # Contact tower
SWA456 t             # Contact tower (short form)

Important

Without tower contact, aircraft will continue the approach but cannot complete the landing. Always issue tower contact before the aircraft reaches decision height (200ft AGL).

Go-Around

Instruct an aircraft to abort the approach and climb.

Syntax:

  • ga - Go around

Examples:

DAL123 ga            # Go around

TIP

After a go-around, aircraft climbs to 3,000ft above airport elevation and regains controllability for re-vectoring.

See Arrivals & ILS Approaches for complete approach documentation.

Command Chaining

Multiple commands can be combined in a single clearance. If using a route command, it must be the last command.

Examples:

AAL123 cfl200 s400 dr KMART        # Climb FL200, speed 400, direct KMART
DAL456 c35000ft s320 or5           # Climb 35000ft, speed 320, offset 5nm right
UAL789 cfl300 s450 r KMART DEN     # Climb FL300, speed 450, route KMART-DEN
SWA321 h KMART s250                # Hold at KMART (standard pattern), speed 250

Validation

  • Commands are executed in order
  • Invalid commands will reject the entire clearance
  • Waypoints must exist in the current airspace
  • Invalid waypoint names will be rejected before execution

Quick Reference

ALTITUDE
  cfl200, c200        Climb/descend FL200
  c35000ft            Climb/descend 35,000 ft

SPEED
  s400                Speed 400 knots

HEADING
  h 270               Fly heading 270
  h l 270             Turn left heading 270
  h r 090             Turn right heading 090

NAVIGATION
  dr KMART, d ROBUC   Direct to waypoint
  r COORS DEN         Set route (space-separated, must be last)
  or5, ol5            Offset 5nm right/left
  o+5, o-5            Offset with sign

HOLDING (defaults: right turns, 4nm legs)
  h KMART            Hold at KMART (ICAO standard)
  h KMART L          Hold at KMART, left turns
  h KMART R 10       Hold with 10nm legs
  h KMART L 10 e 3600 Hold with EFC
  xhld, exh          Exit hold and resume route

APPROACH/ILS
  i 27L, ils 27L      Clear ILS runway 27L
  t, twr, tower       Contact tower (required for landing)
  ga                  Go around

TIME
  sta KMART @ 3600    Cross KMART at time 3600

HANDOFF
  ho ZDV              Handoff to sector

EXAMPLES
  AAL123 cfl200 s400 dr KMART
  DAL456 c35000ft s320 h KMART
  UAL789 cfl300 s450 r KMART DEN
  SWA321 sta KMART @ 3600 s250
  DAL123 c50 i 27L twr           # Descend, clear ILS, contact tower

Mouse Controls

In addition to text commands, you can control aircraft using mouse interactions. These features are found in the RADAR panel under "Click-to-command".

Default settings

Click-to-command features are disabled by default for new users to prevent accidental commands while learning the interface. Enable them in the RADAR panel when you're ready for mouse-based control.

Click-to-command: Waypoint

Click on any waypoint while an aircraft is selected to issue a direct-to command.

How to use:

  1. Enable "Waypoint" checkbox in the RADAR panel
  2. Select an aircraft (click on it or its flight strip)
  3. Click on any waypoint on the radar display
  4. The aircraft is cleared direct to that waypoint

TIP

The command appears in the input field (e.g., AAL123 dr KMART) and ATC phraseology is spoken if TTS is enabled.

Click-to-command: Heading (Drag)

Drag from an aircraft to assign a heading vector.

How to use:

  1. Enable "Heading (drag)" checkbox in the RADAR panel
  2. Select an aircraft (click on it or its flight strip)
  3. Click and drag from the aircraft in any direction
  4. A preview line shows the heading that will be assigned
  5. Release to issue the heading command

Modifier keys:

KeyEffect
NoneFree heading (any degree, e.g., 273°, 267°)
Alt/OptionSnap to 10° increments (270°, 260°, 250°, etc.)

Visual Feedback

  • Cyan line: Free heading mode
  • Yellow line: Snap mode active (Alt/Option held)

The line snaps to the exact 10-degree heading direction when Alt/Option is held, making it easy to assign standard headings for vectoring.

Tips:

  • Press Escape while dragging to cancel
  • Works with both pinned and hovered aircraft
  • Great for quick vectoring without typing commands

Visual Features

Conflict detection and resolution

When two aircraft are predicted to lose separation (within 5nm lateral and 1000ft vertical in the next 5 minutes), they are highlighted on the radar display:

  • Red aircraft symbol - The aircraft dot and direction line turn red
  • Red callsign - The callsign text turns red
  • Conflict toast - A red notification appears at the bottom of the screen

TIP

Click the conflict toast to zoom the radar to the midpoint between the two conflicting aircraft, making it easy to assess and resolve the conflict.

Resolution advisories

When a conflict is detected, the system automatically calculates resolution advisories - suggested maneuvers to resolve the conflict. These appear in the conflict toast:

Toast contents:

  • Callsigns - The two conflicting aircraft (e.g., "AAL123 / UAL456")
  • Separation - Predicted minimum separation (e.g., "2.3nm in 45s")
  • Advisory - Recommended resolution with Apply/Dismiss buttons

Advisory types:

TypeIconExampleDescription
ClimbAAL123 ↑ FL370Climb to flight level 370
DescendUAL456 ↓ FL330Descend to flight level 330
Turn leftAAL123 ↰ 30°Turn left 30 degrees
Turn rightUAL456 ↱ 30°Turn right 30 degrees
SpeedAAL123 350ktsReduce speed to 350 knots

Using advisories:

  1. Apply - Click the green "Apply" button to execute the recommended maneuver

    • The command is issued immediately
    • ATC phraseology is spoken (if TTS enabled)
    • The advisory disappears after applying
  2. Dismiss - Click the red "Dismiss" button to hide the advisory

    • Use this if you prefer to resolve the conflict manually
    • The conflict warning remains until separation is achieved

Resolution priority

The system prioritizes resolutions in this order:

  1. Vertical (climb/descend) - Fastest to achieve separation, preferred
  2. Lateral (turn) - Used when vertical won't be effective
  3. Speed - Last resort, takes longest to achieve separation

The recommended advisory is the one with the highest effectiveness score (0-1), where 1.0 means the conflict will be fully resolved.

Manual resolution:

You can always resolve conflicts manually instead of using advisories:

AAL123 c370        # Climb to FL370
UAL456 c330        # Descend to FL330

Or use lateral separation:

AAL123 or5         # Offset 5nm right
UAL456 ol5         # Offset 5nm left

TIP

Vertical separation is usually faster and cleaner than lateral. A 2000ft vertical separation (e.g., FL350 vs FL370) provides adequate margin and allows aircraft to maintain their routes.

Airport departure schedule

Click on any airport in the left panel to view expected departures:

  • Departure popup - Shows the next 5 scheduled departures for that airport
  • UTC times - Each departure shows the expected time in UTC (Zulu)
  • Relative countdown - Shows time until each departure (e.g., "2m 30s")
  • Imminent departures - Departures within 2 minutes are highlighted in yellow

INFO

  • Departure frequency is based on the traffic intensity slider
  • At 0% intensity, no departures are scheduled
  • Click the same airport again to close the popup

UTC clock

The simulation time is displayed in the top-right corner of the radar in UTC format (HH:MM:SSz). This clock:

  • Follows simulation speed (accelerates/decelerates with sim speed)
  • Is used for all departure schedule times
  • Helps coordinate traffic timing

Toolbar Controls

Simulation speed

The speed slider in the toolbar controls how fast the simulation runs:

  • 0.25x to 16x - Range from quarter-speed to 16x acceleration
  • 1x button - Quick reset to real-time speed
  • TTS auto-pause - Voice synthesis pauses at 4x and above (can't keep up with real-time speech)

When speed is 4x or higher:

  • The speaker icon changes to ⏸️
  • Tooltip shows "Voice paused (speed ≥4x)"
  • Messages still appear in the command history
  • TTS resumes when you slow down below 4x

TIP

Toast notifications (ATC commands, conflicts) also rotate faster at higher speeds. At 2x, they disappear twice as fast. Minimum display time ensures you can still read important messages.

Traffic intensity

Hover over the Spawn button to access traffic intensity controls:

  • Slider (0-100%) - Controls auto-spawn frequency
  • 0% - No automatic spawns (manual spawn only)
  • 100% - Maximum traffic rate (~2 minutes between spawns)
  • Hint text - Shows estimated time between spawns

Traffic timing

The spawn interval shows approximately how often new aircraft appear from entry points. At 50% intensity, aircraft spawn roughly every 4 minutes. Departures from airports follow a separate but linked schedule.

Manual spawn

Click the Spawn button to immediately spawn a new aircraft from a random entry point. Useful for:

  • Testing specific scenarios
  • Quick traffic generation when intensity is set to 0%
  • Adding aircraft during low-activity periods

Interactive Mode vs Scripting Mode

Features Only in Interactive Mode

  • Holding Patterns - h KMART L 10 syntax
  • STA (Scheduled Time of Arrival) - sta KMART @ 3600 syntax
  • Click-to-command: Waypoint - Click waypoints to direct aircraft
  • Click-to-command: Heading - Drag to set heading vectors (Alt/Option for 10° snap)

Features Only in Scripting Mode

  • Turn Commands - aircraft.turn.left(), aircraft.turn.right()
  • Event Callbacks - aircraft.over(), aircraft.before(), aircraft.reach()
  • Traffic Queries - traffic.all(), traffic.byCallsign()
  • Event Handlers - onTick(), onSpawn(), onConflict()
  • Weather API - weather.windAt()
  • Utility Functions - flightlevel(), fl(), distance(), headingTo()

See the API Reference for scripting mode details.