Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Player Guide/SkyEye: Difference between revisions

From Victor Romeo Sierra Wiki
Player Guide import 2026-05-17 (VRSWiki repo, content/pages/)
Player Guide import 2026-05-17 (VRSWiki repo, content/pages/)
 
Line 1: Line 1:
« [[Player Guide]]
« [[Player Guide]]


'''SkyEye''' is an AI-powered Ground Controlled Intercept (GCI) bot that listens on SRS and talks back to you in plain English. It replaces the DCS in-game AWACS with a controller that understands proper [https://en.wikipedia.org/wiki/Brevity_code brevity] PICTURE, BOGEY DOPE, DECLARE, SPIKED, and friends and can monitor the battlespace for threats and announce them automatically.
'''SkyEye''' is an AI-powered Ground Controlled Intercept (GCI) bot that listens on SRS and talks back to you in plain English. It replaces the DCS in-game AWACS with a controller that understands proper [https://en.wikipedia.org/wiki/Brevity_code brevity] - PICTURE, BOGEY DOPE, DECLARE, SPIKED, and friends - and can monitor the battlespace for threats and announce them automatically.


On the VRS server the SkyEye GCI's callsign is '''Focus'''. You can also address it as '''Anyface''' that's the SkyEye-wide alias and is always accepted.
On the VRS server the SkyEye GCI's callsign is '''Focus'''. You can also address it as '''Anyface''' - that's the SkyEye-wide alias and is always accepted.


SkyEye is open source and maintained by [https://github.com/dharmab dharmab]. The upstream player guide lives at [https://github.com/dharmab/skyeye/blob/main/docs/PLAYER.md github.com/dharmab/skyeye/docs/PLAYER.md].
SkyEye is open source and maintained by [https://github.com/dharmab dharmab]. The upstream player guide lives at [https://github.com/dharmab/skyeye/blob/main/docs/PLAYER.md github.com/dharmab/skyeye/docs/PLAYER.md].
Line 11: Line 11:
== Quickstart ==
== Quickstart ==


# Set your in-game name to a callsign in the format <code>Callsign 1 | yourname</code> — a 2–3 syllable English word, 1–3 digits, a pipe (<code>|</code>), then your normal name. Example: <code>Mobius 1 | Reaper</code>.
# Set your in-game callsign in the DCS server browser. See [[Player Guide/SRS|SRS]] for the format and tips on picking a good one.
# Join the VRS server with [https://github.com/ciribob/DCS-SimpleRadioStandalone SRS] running. The SRS server is <code>server.victorromeosierra.com:10220</code>.
# Connect to the VRS [[Player Guide/SRS|SRS server]] with your SRS name matching your DCS name.
# Get airborne (you may not appear on the GCI scope while still on the ramp).
# Get airborne (you may not appear on the GCI scope while still on the ramp).
# Tune to a Focus SRS frequency in your aircraft (or in SRS directly). The current Focus frequencies on VRS are:
# Tune to a Focus SRS frequency in your aircraft (or in SRS directly). The current Focus frequencies on VRS are:
#* '''251.00 AM'''
#* '''251.00 AM'''
#* '''133.00 AM'''
#* '''133.00 AM'''
#* '''30.00 FM''' (helicopters)
# Key your radio and say: <code>"Focus, Callsign 1, radio check"</code>. If you hear back, you're in business.
# Key your radio and say: <code>"Focus, Callsign 1, radio check"</code>. If you hear back, you're in business.
# Try: <code>"Focus, Callsign 1, picture"</code> for the top threats, or <code>"Focus, Callsign 1, bogey"</code> for the nearest threat to you.
# Try: <code>"Focus, Callsign 1, picture"</code> for the top threats, or <code>"Focus, Callsign 1, bogey"</code> for the nearest threat to you.
Line 23: Line 22:
== Picking a callsign ==
== Picking a callsign ==


SkyEye recognises your callsign best when it follows the format above. A few rules of thumb:
Your callsign matters a lot for voice recognition. The short version: pick a 2-3 syllable English word followed by 1-3 digits, a pipe (<code>|</code>), then your normal name - <code>Mobius 1 | Reaper</code>, <code>Hitman 11 | Monarch</code>.


* Use a '''2–3 syllable English word''' followed by '''1–3 digits''', then <code>|</code>, then your name.
See [[Player Guide/SRS#Choosing your callsign|Choosing your callsign]] on the SRS page for the full set of do's, don'ts, and the reasoning.
* Each digit is worth 2–3 letters in error correction — '''do not skip the numbers'''.
* Numbers are pronounced individually: <code>Spare 15</code> is said <em>"Spare One Five"</em>, not <em>"Spare Fifteen"</em>.
* Content inside <code>[]</code> is ignored — <code>[VRS] Mobius 1</code> reads as <code>Mobius 1</code>.
* Callsigns are normalised — <code>WARDOG 14</code>, <code>Wardog 14</code>, <code>wardog14</code>, and <code>Wardog 1 4</code> are all the same.
 
Avoid:
 
* Names that sound like brevity words: <em>alpha, radio, comm, bogey, picture, declare, snaplock, spiked, bullseye</em> (e.g. "Spade" can be misheard as "SPIKE").
* Names that sound like numbers — "Knight" ≈ "Nine", "Fort" ≈ "Four".
* Hard-to-distinguish pairs — "Spare"/"Spear", "Jester"/"Gesture", "Witch"/"Which".
* Obscure or made-up words — "Razgriz", "Beskar" — the bot will try, but is less accurate.
* Very short callsigns (2–3 characters). A single misheard letter is uncorrectable.
 
If you fly with a regular wingman, both of you using '''strict callsigns''' — a word plus '''exactly two digits''' — lets SkyEye combine calls for the whole flight into one transmission. For example, <code>Marauder One flight, threat bullseye 070/20...</code> instead of naming every aircraft individually.


== How to talk to SkyEye ==
== How to talk to SkyEye ==
Line 47: Line 32:
   Focus  YOUR_CALLSIGN  (...)  REQUEST_TYPE  (...)  (ARGS...)  (...)
   Focus  YOUR_CALLSIGN  (...)  REQUEST_TYPE  (...)  (ARGS...)  (...)


The <code>(...)</code> bits are filler SkyEye ignores extra chatter around the keywords. <em>"Focus, Mobius One, good morning. Alpha check bullseye"</em> parses the same as <em>"Focus, Mobius One, alpha check"</em>.
The <code>(...)</code> bits are filler - SkyEye ignores extra chatter around the keywords. <em>"Focus, Mobius One, good morning. Alpha check bullseye"</em> parses the same as <em>"Focus, Mobius One, alpha check"</em>.


A few things to remember when speaking numbers:
A few things to remember when speaking numbers:


* '''Compass bearings''' say all three digits individually. <em>"Zero Six Five"</em>, not <em>"Six Five"</em> or <em>"Sixty-Five"</em>.
* '''Compass bearings''' - say all three digits individually. <em>"Zero Six Five"</em>, not <em>"Six Five"</em> or <em>"Sixty-Five"</em>.
* '''All other numbers''' say them normally. <em>"Seventeen"</em>, not <em>"One Seven"</em>.
* '''All other numbers''' - say them normally. <em>"Seventeen"</em>, not <em>"One Seven"</em>.
* '''Do not use ICAO pronunciation.''' Say <em>"Three", "Five", "Nine"</em>, '''not''' <em>"Tree", "Fife", "Niner"</em>.
* '''Do not use ICAO pronunciation.''' Say <em>"Three", "Five", "Nine"</em>, '''not''' <em>"Tree", "Fife", "Niner"</em>.
* '''Bullseye coordinates''' leave a slight pause between range and altitude. If the bot struggles, insert <em>"at"</em> or <em>"altitude"</em>: <em>"Bullseye Zero Six Five, Ninety-Nine, at Twelve Thousand"</em>.
* '''Bullseye coordinates''' - leave a slight pause between range and altitude. If the bot struggles, insert <em>"at"</em> or <em>"altitude"</em>: <em>"Bullseye Zero Six Five, Ninety-Nine, at Twelve Thousand"</em>.


General tips:
General tips:


* Think about what you want to say before you key the mic.
* Think about what you want to say before you key the mic.
* Speak at a measured, conversational pace too fast or too slow degrades recognition.
* Speak at a measured, conversational pace - too fast or too slow degrades recognition.
* If you misspeak, release PTT and start over rather than trying to correct yourself mid-transmission.
* If you misspeak, release PTT and start over rather than trying to correct yourself mid-transmission.
* Avoid chatter on SkyEye frequencies it delays responses for everyone.
* Avoid chatter on SkyEye frequencies - it delays responses for everyone.


== Requests you can make ==
== Requests you can make ==
Line 78: Line 63:
| <code>DECLARE</code> || '''IFF a contact you can see on your scope.''' Provide bullseye or BR, optionally altitude and track. Focus replies hostile / friendly / furball / clean.
| <code>DECLARE</code> || '''IFF a contact you can see on your scope.''' Provide bullseye or BR, optionally altitude and track. Focus replies hostile / friendly / furball / clean.
|-
|-
| <code>PICTURE</code> || '''Top three threats to the coalition.''' Long response (~20–30 s of channel time) use sparingly.
| <code>PICTURE</code> || '''Top three threats to the coalition.''' Long response (~20-30 s of channel time) - use sparingly.
|-
|-
| <code>SNAPLOCK</code> || '''Fast IFF during a BVR timeline.''' Provide BRA (bearing, range, altitude) of a contact on your radar Focus confirms what's there.
| <code>SNAPLOCK</code> || '''Fast IFF during a BVR timeline.''' Provide BRA (bearing, range, altitude) of a contact on your radar - Focus confirms what's there.
|-
|-
| <code>SPIKED</code> / <code>STROBE</code> || '''Find the source of a radar spike.''' Provide bearing only; Focus looks in a 30° cone and reports the nearest likely source.
| <code>SPIKED</code> / <code>STROBE</code> || '''Find the source of a radar spike.''' Provide bearing only; Focus looks in a 30° cone and reports the nearest likely source.
Line 97: Line 82:
Example: <em>"Focus, Eagle One One, vector to Home Plate"</em>.
Example: <em>"Focus, Eagle One One, vector to Home Plate"</em>.


The carrier group is deliberately not in the list its position moves, and a static lat/lon would lie. The reserved names <em>Bullseye</em> and <em>Tanker</em> are always available as well.
The carrier group is deliberately not in the list - its position moves, and a static lat/lon would lie. The reserved names <em>Bullseye</em> and <em>Tanker</em> are always available as well.


== Things SkyEye says on its own ==
== Things SkyEye says on its own ==
Line 103: Line 88:
Some calls come from Focus without you asking:
Some calls come from Focus without you asking:


* '''SUNRISE''' broadcast when the controller comes online. Mid-mission SUNRISE usually means the bot crashed and restarted.
* '''SUNRISE''' - broadcast when the controller comes online. Mid-mission SUNRISE usually means the bot crashed and restarted.
* '''PICTURE''' the server may be configured to broadcast a PICTURE on a timer. Requesting one resets the timer.
* '''PICTURE''' - the server may be configured to broadcast a PICTURE on a timer. Requesting one resets the timer.
* '''THREAT''' broadcast when a hostile aircraft is near or approaching a friendly. BRAA format if it's relevant to one aircraft, bullseye if it's relevant to several. Helicopter THREATs only go to other rotary-wing aircraft.
* '''THREAT''' - broadcast when a hostile aircraft is near or approaching a friendly. BRAA format if it's relevant to one aircraft, bullseye if it's relevant to several. Helicopter THREATs only go to other rotary-wing aircraft.
* '''MERGED''' broadcast when a fixed-wing hostile closes within 3 NM of you. Fixed-wing only; one MERGED per 30 seconds.
* '''MERGED''' - broadcast when a fixed-wing hostile closes within 3 NM of you. Fixed-wing only; one MERGED per 30 seconds.
* '''FADED''' broadcast when a hostile within weapons range disappears from the scope for at least 30 seconds. '''This is not a kill confirmation''' DCS sometimes marks live aircraft as dead.
* '''FADED''' - broadcast when a hostile within weapons range disappears from the scope for at least 30 seconds. '''This is not a kill confirmation''' - DCS sometimes marks live aircraft as dead.


To receive THREAT and MERGED calls, your aircraft '''must''' be tuned to a SkyEye SRS frequency '''and''' your SRS name must match your DCS in-game name.
To receive THREAT and MERGED calls, your aircraft '''must''' be tuned to a SkyEye SRS frequency '''and''' your SRS name must match your DCS in-game name.
Line 113: Line 98:
== Troubleshooting ==
== Troubleshooting ==


'''Focus doesn't respond at all.''' Check that you said "Focus" (or "Anyface") at the start of your transmission this is the most common mistake. Ask another player for a radio check to confirm you're audible.
'''Focus doesn't respond at all.''' Check that you said "Focus" (or "Anyface") at the start of your transmission - this is the most common mistake. Ask another player for a radio check to confirm you're audible.


'''Focus responds but says it can't see you.'''
'''Focus responds but says it can't see you.'''


* Confirm your in-game name matches the callsign you're giving.
* Confirm your in-game name matches the callsign you're giving.
* If you joined right after mission start, return to spectators, re-slot, or fully reconnect joining too early can leave you invisible to Tacview.
* If you joined right after mission start, return to spectators, re-slot, or fully reconnect - joining too early can leave you invisible to Tacview.
* If you've been stationary for several minutes, move slightly. Tacview throttles position updates for non-moving objects.
* If you've been stationary for several minutes, move slightly. Tacview throttles position updates for non-moving objects.
* If your aircraft took even minor damage, re-slot the game can mark it as destroyed even when it's flyable.
* If your aircraft took even minor damage, re-slot - the game can mark it as destroyed even when it's flyable.


== Mindset ==
== Mindset ==


Focus is good at counting contacts and computing angles. It is '''not''' good at understanding tactics or strategy that's still on you. Treat it as one source among many alongside your own radar, RWR, eyeballs, and human flight-mates. And remember: DCS sometimes marks live aircraft as dead, so a "FADED" or "clean" call is never a guarantee.
Focus is good at counting contacts and computing angles. It is '''not''' good at understanding tactics or strategy - that's still on you. Treat it as one source among many alongside your own radar, RWR, eyeballs, and human flight-mates. And remember: DCS sometimes marks live aircraft as dead, so a "FADED" or "clean" call is never a guarantee.


== See also ==
== See also ==


* [[Player Guide/Air Support|Air Support]] F10 map-mark commands, including the AWACS marks (<code>awacs</code>, <code>focus</code>, <code>skyeye</code>, <code>overlord</code>) that spawn in-mission AWACS aircraft.
* [[Player Guide/SRS|SRS]] - install, server connect, callsign format.
* [[FOCUS]] earlier, longer FOCUS page (tagged XSAF-era) with more verbose examples for each request.
* [[Player Guide/Air Support|Air Support]] - F10 map-mark commands, including the AWACS marks (<code>awacs</code>, <code>focus</code>, <code>skyeye</code>, <code>overlord</code>) that spawn in-mission AWACS aircraft.
* [https://github.com/dharmab/skyeye dharmab/skyeye on GitHub] source, releases, admin guide.
* [[FOCUS]] - earlier, longer FOCUS page (tagged XSAF-era) with more verbose examples for each request.
* [https://github.com/dharmab/skyeye/blob/main/docs/PLAYER.md Upstream player guide] full request reference and examples.
* [https://github.com/dharmab/skyeye dharmab/skyeye on GitHub] - source, releases, admin guide.
* [https://github.com/dharmab/skyeye/blob/main/docs/PRIVACY.md Privacy statement] how SkyEye uses voice and gameplay data.
* [https://github.com/dharmab/skyeye/blob/main/docs/PLAYER.md Upstream player guide] - full request reference and examples.
* [https://github.com/dharmab/skyeye/blob/main/docs/PRIVACY.md Privacy statement] - how SkyEye uses voice and gameplay data.

Latest revision as of 00:12, 21 May 2026

« Player Guide

SkyEye is an AI-powered Ground Controlled Intercept (GCI) bot that listens on SRS and talks back to you in plain English. It replaces the DCS in-game AWACS with a controller that understands proper brevity - PICTURE, BOGEY DOPE, DECLARE, SPIKED, and friends - and can monitor the battlespace for threats and announce them automatically.

On the VRS server the SkyEye GCI's callsign is Focus. You can also address it as Anyface - that's the SkyEye-wide alias and is always accepted.

SkyEye is open source and maintained by dharmab. The upstream player guide lives at github.com/dharmab/skyeye/docs/PLAYER.md.

  1. Set your in-game callsign in the DCS server browser. See SRS for the format and tips on picking a good one.
  2. Connect to the VRS SRS server with your SRS name matching your DCS name.
  3. Get airborne (you may not appear on the GCI scope while still on the ramp).
  4. Tune to a Focus SRS frequency in your aircraft (or in SRS directly). The current Focus frequencies on VRS are:
    • 251.00 AM
    • 133.00 AM
  5. Key your radio and say: "Focus, Callsign 1, radio check". If you hear back, you're in business.
  6. Try: "Focus, Callsign 1, picture" for the top threats, or "Focus, Callsign 1, bogey" for the nearest threat to you.

Picking a callsign

edit edit source

Your callsign matters a lot for voice recognition. The short version: pick a 2-3 syllable English word followed by 1-3 digits, a pipe (|), then your normal name - Mobius 1 | Reaper, Hitman 11 | Monarch.

See Choosing your callsign on the SRS page for the full set of do's, don'ts, and the reasoning.

How to talk to SkyEye

edit edit source

The request format is:

 Focus  YOUR_CALLSIGN  (...)  REQUEST_TYPE  (...)  (ARGS...)  (...)

The (...) bits are filler - SkyEye ignores extra chatter around the keywords. "Focus, Mobius One, good morning. Alpha check bullseye" parses the same as "Focus, Mobius One, alpha check".

A few things to remember when speaking numbers:

  • Compass bearings - say all three digits individually. "Zero Six Five", not "Six Five" or "Sixty-Five".
  • All other numbers - say them normally. "Seventeen", not "One Seven".
  • Do not use ICAO pronunciation. Say "Three", "Five", "Nine", not "Tree", "Fife", "Niner".
  • Bullseye coordinates - leave a slight pause between range and altitude. If the bot struggles, insert "at" or "altitude": "Bullseye Zero Six Five, Ninety-Nine, at Twelve Thousand".

General tips:

  • Think about what you want to say before you key the mic.
  • Speak at a measured, conversational pace - too fast or too slow degrades recognition.
  • If you misspeak, release PTT and start over rather than trying to correct yourself mid-transmission.
  • Avoid chatter on SkyEye frequencies - it delays responses for everyone.

Requests you can make

edit edit source
Keyword What it does
RADIO / COMM Radio check. Focus replies if it heard you, and tells you if you're not visible on scope.
ALPHA Alpha check. Focus reports your current position in bullseye format. Useful for coarse INS verification in non-GPS aircraft.
VECTOR Vector to a point. Defaults to bullseye; you can also ask for a vector to tanker (nearest compatible) or to a named location like Home Plate.
BOGEY Bogey dope. Bearing, range, altitude, aspect to the nearest air-to-air threat. Optional filter: airplanes or helicopters.
DECLARE IFF a contact you can see on your scope. Provide bullseye or BR, optionally altitude and track. Focus replies hostile / friendly / furball / clean.
PICTURE Top three threats to the coalition. Long response (~20-30 s of channel time) - use sparingly.
SNAPLOCK Fast IFF during a BVR timeline. Provide BRA (bearing, range, altitude) of a contact on your radar - Focus confirms what's there.
SPIKED / STROBE Find the source of a radar spike. Provide bearing only; Focus looks in a 30° cone and reports the nearest likely source.

For full examples of each request, see the upstream player guide.

Named locations

edit edit source

For VECTOR-TO requests, VRS has a small set of named locations you can use instead of coordinates. As of this writing the list covers blue-coalition start bases on Syria:

  • Home Plate (also "Incirlik" / "Incirlik Air Base")
  • Adana (also "Adana Sakirpasa")
  • Akrotiri (also "RAF Akrotiri")

Example: "Focus, Eagle One One, vector to Home Plate".

The carrier group is deliberately not in the list - its position moves, and a static lat/lon would lie. The reserved names Bullseye and Tanker are always available as well.

Things SkyEye says on its own

edit edit source

Some calls come from Focus without you asking:

  • SUNRISE - broadcast when the controller comes online. Mid-mission SUNRISE usually means the bot crashed and restarted.
  • PICTURE - the server may be configured to broadcast a PICTURE on a timer. Requesting one resets the timer.
  • THREAT - broadcast when a hostile aircraft is near or approaching a friendly. BRAA format if it's relevant to one aircraft, bullseye if it's relevant to several. Helicopter THREATs only go to other rotary-wing aircraft.
  • MERGED - broadcast when a fixed-wing hostile closes within 3 NM of you. Fixed-wing only; one MERGED per 30 seconds.
  • FADED - broadcast when a hostile within weapons range disappears from the scope for at least 30 seconds. This is not a kill confirmation - DCS sometimes marks live aircraft as dead.

To receive THREAT and MERGED calls, your aircraft must be tuned to a SkyEye SRS frequency and your SRS name must match your DCS in-game name.

Troubleshooting

edit edit source

Focus doesn't respond at all. Check that you said "Focus" (or "Anyface") at the start of your transmission - this is the most common mistake. Ask another player for a radio check to confirm you're audible.

Focus responds but says it can't see you.

  • Confirm your in-game name matches the callsign you're giving.
  • If you joined right after mission start, return to spectators, re-slot, or fully reconnect - joining too early can leave you invisible to Tacview.
  • If you've been stationary for several minutes, move slightly. Tacview throttles position updates for non-moving objects.
  • If your aircraft took even minor damage, re-slot - the game can mark it as destroyed even when it's flyable.

Focus is good at counting contacts and computing angles. It is not good at understanding tactics or strategy - that's still on you. Treat it as one source among many alongside your own radar, RWR, eyeballs, and human flight-mates. And remember: DCS sometimes marks live aircraft as dead, so a "FADED" or "clean" call is never a guarantee.

  • SRS - install, server connect, callsign format.
  • Air Support - F10 map-mark commands, including the AWACS marks (awacs, focus, skyeye, overlord) that spawn in-mission AWACS aircraft.
  • FOCUS - earlier, longer FOCUS page (tagged XSAF-era) with more verbose examples for each request.
  • dharmab/skyeye on GitHub - source, releases, admin guide.
  • Upstream player guide - full request reference and examples.
  • Privacy statement - how SkyEye uses voice and gameplay data.