VICE ATC
Complete Tutorial SIMULATOR
& Keyboard Reference
IFR Departures · VFR Departures · Arrivals · STARS Commands · Flight Plans
SIMULATOR vice ([Link]/vice)
PLATFORM Windows / Mac / Linux
INTERFACE STARS-Based TRACON Radar Scope
COVERAGE 70+ US TRACON / ATCT Facilities
VERSION 0.14.x (2024–2025)
WHAT'S INSIDE
§1 Getting Started & Interface Overview
§2 STARS Keyboard Interface & TGT GEN Mode
§3 Lateral Route Commands (Headings, Direct, Hold)
§4 Altitude Commands (Climb, Descend, Cross Restrictions)
§5 Speed Commands
§6 Transponder & Frequency Commands
§7 Approach Commands (Expect, Clear, Intercept)
§8 IFR Departure — Complete Step-by-Step Walkthrough
§9 VFR Departure — Complete Step-by-Step Walkthrough
§10 VFR Flight Following & Radar Services
§11 Arrivals, Approaches & Go-Arounds
§12 Flight Plans — Creating, Modifying & Managing
§13 STARS Track Ownership & Handoffs
§14 Multi-Command Strings & Pro Tips
§15 Quick Reference Card (All Commands)
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 1
§1 GETTING STARTED & INTERFACE OVERVIEW
VICE is a free, open-source air traffic control simulator that replicates real US TRACON and ATCT/TRACON facilities using a
STARS-based radar scope. You control simulated IFR and VFR aircraft using typed keyboard commands or spoken phraseology,
just like a real terminal radar controller.
Installation (Windows)
1. Download the latest installer from [Link]/vice – choose the Windows .exe
2. Run the installer — no admin rights needed
3. Launch [Link] from the Start menu or desktop shortcut
4. Click the "New Sim" (replay) button to configure your first session
Configuring a Scenario
Setting Description
ARTCC / TRACON Select the facility, e.g. ZNY → PHL (Philadelphia TRACON)
Scenario Choose departure-only, arrival-only, or combined traffic flow
Departure Rate (ADR) Aircraft per hour. ADR 30 = one departure every ~2 min
Arrival Rate Set to 0 for dep-only practice; increase for flow management challenge
Go-Around Prob. % chance each arrival goes around — good for approach practice
Your Initials Used to identify your transmissions in multi-controller sessions
Menubar Button Reference
Button Function
■ / ■ Pause / Resume simulation
■ (Replay) Open New Simulation window
■ Settings Change sim rate, speech-to-text microphone, Discord integration
■ Info Show active departures, arrivals, approaches for current scenario
? Commands In-app ATC command quick-reference window
✈ Launch Manual/auto aircraft launch controls and hold-for-release
■ Messages Toggle system messages and alert log
■ Strips Toggle flight strip window
✔ Hover over a paused radar track to see all instructions currently assigned to that aircraft — great for resuming a session.
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 2
§2 STARS KEYBOARD INTERFACE & TGT GEN MODE
VICE uses a STARS (Standard Terminal Automation Replacement System) radar scope. All aircraft control commands are
entered through the STARS input area, which appears at the top-left of the scope.
Activating Target Generation (TGT GEN) Mode
Before issuing any ATC instruction you must enter TGT GEN mode. This separates aircraft control commands from STARS
system commands.
Key Action
TAB Activate TGT GEN mode. "TG" appears above the input area.
SHIFT+TAB Lock TGT GEN mode on — stays active after each command (no need to re-press TAB).
ESCAPE Exit TGT GEN mode at any time without issuing a command.
BACKSPACE Correct a typing error in the input area.
ENTER Execute a typed callsign + command string (when not clicking on a track).
Issuing Commands — Two Methods
Method A — Type + Click: Press TAB, type your command (e.g. H090), then click on the aircraft's radar track. The command is
applied to that aircraft.
Method B — Callsign + Enter: Press TAB, type the full callsign (or suffix) + space + command (e.g. AAL123 H090), then press
ENTER.
✔ The callsign of the last aircraft you commanded is remembered — press TAB and type the next command without re-entering the callsign.
✔ Issue multiple commands at once by chaining them with spaces: AAL123 H090 C150 S250
■ You must own (have accepted) an aircraft's track before you can issue ATC instructions to it.
Readbacks
After each command the virtual pilot readback appears in the readback window below the scope. Unlike VATSIM, simulated pilots
will always comply exactly with your instructions.
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 3
§3 LATERAL ROUTE COMMANDS
Heading Assignments
Command Function Example
H{hdg} Fly heading (shortest turn). H alone = fly present heading. H090 H
L{hdg} Turn LEFT to heading. L270
R{hdg} Turn RIGHT to heading. R045
T{deg}L Turn {deg} degrees LEFT. T30L
T{deg}R Turn {deg} degrees RIGHT. T10R
SH Pilot says current heading. SH
Direct & Route Commands
Command Function Example
D{FIX} Proceed direct to fix (must be in flight plan or approach route). DWAVEY
D{FIX}/H{hdg} Depart fix at specified heading. DLENDY/H180
Holding Instructions
Command Function Example
H{FIX} Hold at fix using published hold pattern. HJIMEE
H{FIX}/L/{leg}/R{course} Custom hold: L=left turns, R=right turns, xNM legs, xM min HJIMEE/L/5NM/R090
legs, R{xxx}=inbound radial (required).
✔ To exit a hold: clear for approach, give Direct FIX, or assign a heading. For approaches the aircraft finishes the current lap first.
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 4
§4 ALTITUDE COMMANDS
All altitudes are in hundreds of feet: C170 = climb to 17,000 ft, D30 = descend to 3,000 ft.
Command Function Example
C{alt} Climb to altitude (hundreds ft). Speed change simultaneous. C170
TC{alt} Climb AFTER finishing speed change. TC170
D{alt} Descend to altitude. D30
TD{alt} Descend AFTER finishing speed change. TD60
A{alt} Maintain altitude, climb or descend as needed. A120
EC Expedite climb to assigned altitude. EC
ED Expedite descent to assigned altitude. ED
CVS Climb via the SID (departures). CVS
DVS Descend via the STAR (arrivals). DVS
SA Pilot says current altitude. SA
Cross-Fix Altitude and Speed Restrictions
Command Function Example
C{FIX}/A{alt} Cross fix AT altitude. CCAMRN/A110
C{FIX}/A{alt}+ Cross fix AT OR ABOVE altitude. CCAMRN/A80+
C{FIX}/A{alt}- Cross fix AT OR BELOW altitude. CCAMRN/A110-
C{FIX}/A{a1}-{a2} Cross fix BETWEEN two altitudes. CCAMRN/A80-110
C{FIX}/A{alt}/S{kts} Cross fix at altitude AND speed. CCAMRN/A110/S250
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 5
§5 SPEED COMMANDS
Command Function Example
S{kts} Assign speed in knots. If cleared for approach, restriction lifted at 5nm final. S250
S Cancel speed restrictions. S
TS{kts} Speed restriction applied AFTER reaching assigned altitude. TS210
M{mach} Assign Mach speed restriction (e.g. M78 = Mach 0.78). M78
TM{mach} Mach restriction applied after altitude change. TM82
SMIN Maintain slowest practical speed. SMIN
SMAX Maintain maximum forward speed. SMAX
SPRES Maintain present speed. SPRES
S{kts}+ Speed floor — at or above. S180+
S{kts}- Speed ceiling — do not exceed. S220-
SS Pilot says indicated airspeed (or Mach if above transition altitude). SS
SI Force indicated airspeed readback regardless of altitude. SI
SM Pilot says Mach number (only works above transition altitude). SM
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 6
§6 TRANSPONDER & RADIO FREQUENCY COMMANDS
Transponder Commands
Command Function Example
SQ{code} Assign squawk code. SQ4521
SQS Squawk standby. SQS
SQA Squawk altitude (Mode C). SQA
SQON Turn on transponder, squawk Mode-A. SQON
ID Pilot squawks IDENT. ID
Frequency & Contact Commands
Command Function Example
FC Frequency change — contact the controller you were handed off to. FC
TO Arrival: contact tower frequency. TO
CT{TCP} Contact specific controller by TCP ID. Used when VFR contacts wrong CT2J
position.
ATIS/{letter} Advise pilot of current ATIS letter (useful when pilot has old ATIS on contact). ATIS/B
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 7
§7 APPROACH COMMANDS
Approach codes (e.g. 27R, I2L, R35) are found in the scenario Info window (■ button). You MUST issue Expect before you can
clear for the approach.
Command Function Example
E{appr} Expect approach. Also adds approach fixes to the aircraft's route. EI2L
E Re-issue expect (tell pilot to standby) for already-assigned approach. E
C{appr} Clear for approach. Aircraft must have received Expect first. CI2L
C Clear for previously-assigned approach. C
A{FIX}/C Clear for approach when passing the specified fix. AROSLY/C
A{FIX}/C{appr} As above, specifying the approach. AROSLY/CI2L
A{FIX}/I Intercept localizer when passing the fix (expect must be set). AROSLY/I
I Intercept localizer now. I
CAC Cancel approach clearance. CAC
CSI{appr} Clear straight-in (skips procedure turn). Expect must be set. CSII6
✔ Check the Info window (■) to see all active approach codes for the selected scenario before starting vectoring.
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 8
§8 IFR DEPARTURE — STEP-BY-STEP WALKTHROUGH
Most IFR aircraft automatically have flight plans when they spawn. The typical flow for a departure controller handling an IFR
aircraft at a TRACON/ATCT facility:
PHASE 1 — Aircraft Spawns on the Ground
When an IFR departure spawns it appears on the flight strips and eventually contacts you. The aircraft will have a pre-filed flight
plan with a SID, destination, and cruise altitude.
PHASE 2 — Accept the Track (STARS)
The aircraft's track will appear on radar with a full datablock once it departs. You must accept the handoff/track to gain control of
the aircraft. In STARS, click the datablock to initiate or accept track ownership.
PHASE 3 — Initial Climb Instructions
Once airborne and in your airspace, issue climb instructions. A typical IFR departure sequence:
TAB → SQ{code} If needed, assign the departure squawk code.
TAB → C{initial_alt} Climb to your initial altitude (e.g. C60 for 6,000 ft).
TAB → H{hdg} Assign heading off the SID or per facility procedures.
TAB → CVS OR: Climb Via the SID — aircraft follows all SID altitude/speed restrictions.
TAB → S250 If needed, assign speed restriction (250 kts below 10,000 ft is standard).
PHASE 4 — Climb-Out Vectoring
As the aircraft climbs through your airspace, issue further climb clearances and any required lateral instructions to keep
separation from other traffic:
TAB → C{cruise_alt} Clear to cruise altitude as aircraft leaves your sector.
TAB → H{hdg} Vector for traffic or SID conformance.
TAB → D{FIX} Proceed direct to a fix to rejoin the route.
TAB → EC Expedite the climb if needed.
PHASE 5 — Handoff to ARTCC (Center)
When the aircraft reaches your sector boundary and is properly established:
STARS handoff click Initiate handoff to next sector/controller in STARS.
TAB → FC Tell the pilot to change frequency to center.
Example IFR Departure Command Sequence
AAL742 SQ4521
AAL742 C60 H090
AAL742 S250
AAL742 C170
AAL742 DWAVEY
AAL742 C280
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 9
[STARS handoff initiated]
AAL742 FC
✔ Chain commands for efficiency: AAL742 H090 C60 S250 — assigns heading, altitude, and speed in one entry.
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 10
§9 VFR DEPARTURE — STEP-BY-STEP WALKTHROUGH
VFR aircraft require special handling. They do NOT automatically have IFR flight plans, and they may enter your airspace
requesting flight following, transition, or pop-up IFR clearance.
PHASE 1 — VFR Aircraft Contacts You
VFR aircraft may spawn with a "VFR request" status. Use the GA (Go Ahead) command when ready to respond to the pilot's
initial call.
TAB → GA Go ahead — acknowledge the VFR pilot's initial call.
TAB → CT{TCP} If pilot contacted wrong position, redirect: CT2J.
PHASE 2 — Assign Squawk and Altitude Block
TAB → SQ1200 Assign VFR squawk 1200 (or a discrete code for radar ID).
TAB → SQA Squawk altitude (Mode C) so you can see their altitude readout.
TAB → C{alt} Assign an altitude block to maintain VFR separation from IFR traffic.
PHASE 3 — Vector Through or Depart Your Airspace
TAB → H{hdg} Assign heading to route through your airspace safely.
TAB → A Altitude your discretion — maintain VFR (releases altitude constraint).
TAB → RON Resume own navigation once clear of controlled airspace.
TAB → RST Radar services terminated, squawk VFR, frequency change approved.
Example VFR Departure / Flight Following Sequence
N123AB GA
N123AB SQ0431 SQA
N123AB C35 H270
[clear of traffic, routing established]
N123AB A RON
N123AB RST
■ VFR aircraft do NOT have IFR flight plans by default. To create a flight plan for a VFR pop-up IFR request, see Section §12 — Flight Plans.
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 11
§10 VFR FLIGHT FOLLOWING & RADAR SERVICES
Flight following is a VFR advisory service where the controller provides radar identification and traffic alerts while the pilot
navigates under their own navigation.
Command Function Example
GA Acknowledge VFR pilot's initial call ('Go ahead'). GA
SQ{code} Assign a discrete squawk for radar identification. SQ0431
SQA Squawk altitude (Mode C for altitude readout). SQA
H{hdg} Vector as needed for separation or airspace. H180
C{alt} Assign altitude block if needed for IFR separation. C35
A Altitude your discretion, maintain VFR. A
RON Resume own navigation. RON
CT{TCP} Transfer to correct position if wrong contact. CT4J
RST Terminate radar services — squawk 1200, freq change approved. RST
✔ For VFR transitioning your airspace: issue GA → assign squawk → C{alt} → H{hdg} → RON → RST as they exit.
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 12
§11 ARRIVALS, APPROACHES & GO-AROUNDS
Typical Arrival Control Sequence
Accept STARS track Accept the inbound handoff from Center.
TAB → D{STAR_FIX} Vector direct to a STAR fix if needed.
TAB → D{alt} Begin descent toward final altitude.
TAB → S210 Speed control to merge with the flow.
TAB → DVS Descend via the STAR (follow all STAR restrictions).
TAB → E{appr} Expect approach (e.g. EI27R for ILS Rwy 27R).
TAB → H{hdg} Vector to final approach course.
TAB → D{alt} Descend to glide-slope intercept altitude.
TAB → I Intercept the localizer.
TAB → C{appr} Clear for approach (e.g. CI27R).
TAB → S160 Speed restriction until 5nm final.
TAB → TO Contact tower when established / at outer marker.
Go-Around
If an aircraft goes around (probability set in sim config), it will climb and enter a published missed approach. Resequence it back
into the arrival flow:
TAB → C{alt} Assign missed approach altitude.
TAB → H{hdg} Vector back into the sequence.
TAB → E{appr} Re-issue expect approach for second attempt.
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 13
§12 FLIGHT PLANS — CREATING, MODIFYING &
MANAGING
IFR aircraft have auto-generated flight plans. VFR aircraft or pop-up IFR requests require manual flight plan creation via STARS
commands.
Flight Plan Management (STARS)
Creating a new flight plan Use the STARS flight plan entry area — type the beacon code, aircraft type, and route.
Activating an existing FP Click the FP beacon code in the STARS system list and activate it for the track.
Deleting a flight plan Use STARS FP deletion commands from the full datablock context.
Modifying altitude Click assigned altitude in datablock to change; or use STARS altitude entry commands.
Scratchpad entry Type in the STARS scratchpad field — used for coordination notes and altitude tokens.
Assigned (temp) altitude Set a temporary altitude assignment separate from the filed altitude.
Suspended flight plans Track without an active FP — shown as an untracked blip.
✔ For a VFR requesting IFR pop-up: create a flight plan via STARS, assign a squawk, accept the track, then issue climb and routing
instructions.
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 14
§13 STARS TRACK OWNERSHIP & HANDOFFS
In VICE, a controller must OWN an aircraft's track to issue instructions. Track ownership and control ownership can be held by
the same or different controllers.
Untracked Aircraft No controller owns it. Appears as an unassociated blip. Click to initiate tracking.
Inbound Handoff Another controller is offering you the track. Accept it by clicking the flashing datablock.
Outbound Handoff You initiate handoff to next controller via STARS handoff click on the datablock.
Redirecting Handoff Redirect a handoff to a different controller if the original target is wrong.
Terminating Control Drop control of a track without a formal handoff (e.g. for coordination).
Point Outs Point out an aircraft to an adjacent controller for awareness without handing off.
Position Consolidation One controller working multiple TCP positions at once.
■ You CANNOT issue ATC instructions until you have control of the aircraft's track. Accept inbound handoffs promptly.
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 15
§14 MULTI-COMMAND STRINGS & PRO TIPS
Multi-Command Chaining
VICE lets you chain multiple commands separated by spaces in one entry. This is the most efficient way to work high-traffic
situations.
AAL742 H090 C60 S250 Heading 090, climb 6,000, speed 250 in one transmission.
UAL881 D30 S180 EI27R Descend 3,000, slow to 180, expect ILS Rwy 27R.
DAL55 H270 D20 CI27R Vector, descend to 2,000, clear ILS 27R.
N123AB SQ0431 SQA C35 H270 VFR: squawk, Mode C, altitude, heading — all at once.
SKW3300 D{fix}/H180 DVS Depart fix heading 180 then descend via the STAR.
Efficiency Tips
✔ Use SHIFT+TAB to lock TGT GEN mode — no need to press TAB between each command.
✔ The last aircraft you commanded is remembered — just type the new command if working the same aircraft.
✔ Use the callsign suffix alone (last 2-3 digits) if it uniquely identifies the aircraft.
✔ Press ESCAPE to cancel any partially-typed command without issuing it.
✔ Use the ■ button to check approach codes BEFORE you start vectoring an arrival.
✔ Hover over a track while paused to see all current instructions assigned to that aircraft.
✔ When starting out, set low departure/arrival rates (15-20 ADR) and increase as you build confidence.
✔ Speed up time between busy periods using ■ Settings → Simulation Rate.
✔ Use the SHIFT+TAB lock during rush periods to maintain TGT GEN without re-pressing TAB each time.
✔ Push-to-talk key for speech mode is ; (semicolon) by default — change in Settings.
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 16
§15 QUICK REFERENCE CARD — ALL COMMANDS
KEYBOARD ACTIVATION
Key Action Notes
TAB Enter TGT GEN mode
SHIFT+TAB Lock TGT GEN mode
ESCAPE Exit TGT GEN mode
BACKSPACE Correct input error
ENTER Execute callsign+command string
P Toggle Pause/Unpause
; Push-to-talk (Speech mode)
LATERAL
Cmd Function Ex
H{hdg} Heading / present hdg H090
L{hdg} Turn left L270
R{hdg} Turn right R045
T{n}L Turn left n deg T20L
T{n}R Turn right n deg T10R
SH Say heading SH
D{FIX} Direct to fix DWAVEY
D{FIX}/H{hdg} Depart fix at hdg DLENDY/H180
H{FIX} Hold at fix (published) HJIMEE
H{FIX}/opts Hold (custom params) HJIMEE/L/R090
ALTITUDE
Cmd Function Ex
C{alt} Climb (hundreds ft) C170
TC{alt} Climb after speed chg TC80
D{alt} Descend D30
TD{alt} Descend after speed chg TD60
A{alt} Maintain altitude A120
EC Expedite climb EC
ED Expedite descent ED
CVS Climb via SID CVS
DVS Descend via STAR DVS
SA Say altitude SA
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 17
Cmd Function Ex
C{FIX}/A{alt} Cross fix at/above/below alt CCAMRN/A110+
SPEED
Cmd Function Ex
S{kts} Assign speed S250
S Cancel speed restrictions S
TS{kts} Speed after alt chg TS210
SMIN Slowest practical SMIN
SMAX Max forward speed SMAX
SPRES Present speed SPRES
M{mach} Mach restriction M78
SS Say airspeed/Mach SS
TRANSPONDER
Cmd Function Ex
SQ{code} Assign squawk SQ4521
SQS Squawk standby SQS
SQA Squawk altitude SQA
SQON Transponder on Mode-A SQON
ID Ident ID
APPROACH
Cmd Function Ex
E{appr} Expect approach EI2L
E Re-issue expect/standby E
C{appr} Clear approach CI2L
C Clear (prev assigned) C
A{FIX}/C Clear at fix AROSLY/C
A{FIX}/I LOC intercept at fix AROSLY/I
I Intercept LOC now I
CAC Cancel approach clearance CAC
CSI{appr} Clear straight-in CSII6
RADIO & VFR
Cmd Function Ex
FC Freq change to handed-off controller FC
TO Contact tower TO
CT{TCP} Contact specific controller CT2J
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 18
Cmd Function Ex
ATIS/{ltr} Advise ATIS letter ATIS/B
GA Go ahead (VFR request) GA
A Alt your discretion, maintain VFR A
RON Resume own navigation RON
RST Radar services terminated RST
MISC
Cmd Function Ex
X Delete aircraft from simulation X
P Pause / Unpause P
/{msg} Broadcast message to all controllers /CLOSING 10MIN
Reference source: [Link]/vice | VICE ATC Simulator by Matt Pharr | Tutorial compiled March 2026
VICE ATC Simulator — Complete Tutorial & Reference Guide Page 19