From FlightGear wiki
Revision as of 21:20, 5 October 2017 by Mickybadia (talk | contribs) (v1.4.0)
Jump to navigation Jump to search

This page is a collection of questions asked at least twice about ATC-pie. It is a good idea to search through it before repeating a question on the forum or anywhere.

Things "not working"

Why am I not seeing this aircraft on my radar?

Connected to FGMS: I know it is there: the pilot is sending chat messages and/or is visible on the online live map...

You only see an aircraft on your scopes if a radar contact is established, i.e. if it is visible to the primary radar or if the secondary radar (SSR) picks up a transponder signal from it.

The following cases will therefore prevent you from seeing a connected aircraft:

  • The radars are turned off. Primary radar can be switched from the Options menu; SSR capability adjusted from the General settings dialog.
  • The aircraft is out of radar range. It can be under the radar floor (minimum signal pick-up height) or too far out. In the general settings, check the horizontal range and set the floor to "SFC" to pick up all signals down to the ground. Note that both radars share the same range in ATC-pie.
  • Its onboard transponder is turned off (and primary is off); see ATC-pie video tutorial 1. You should tell the pilot to switch it on. NB for FlightGear games: if the player's aircraft model does not implement a transponder, ATC-pie will simulate one according to the fallback mode you have selected in the FlightGear system configuration tab. If that setting is "off", a non-equipped aircraft will be invisible like in real life.

Alternatively, you can activate the "radar cheat mode" if you want to go the radical way (tutorial 3).

Connected pilots do not receive my text messages.

This happens with pre-2017.2 clients if you are using the latest protocol to encode properties. Tick the FGMS system option to "use the legacy protocol" for property encoding. It will come at the expense of network throughput, but everybody should be able to read you. Tell those pilots to upgrade their client as well.

FGCom radio is not working.

If you are using external clients, i.e. FGCom instances running outside of ATC-pie, you must troubleshoot them there. This section assumes you are trying with internal radio boxes. If you do not understand this distinction, the latter case is yours and you should read on.

First, try an echo test:

  • check that your sound is on, your volume loud and your microphone working (e.g. system sound monitor picking up a signal);
  • close all open ATC-pie sessions and open a single instance;
  • start the echo test from the System menu.

If you hear yourself when you speak, you may skip directly to item 3 below. Otherwise start with 1.

  1. Bad FGCom version/path setting
    Verify the path to your FGCom executable in the system settings. It should point to the right executable file under resources/fgcom and suit your operating system (see Notice file there). All three Linux, Mac and Windows versions are initially packaged with the program.
  2. FGCom server down
    This can happen, unfortunately even for up to a few days. Check for responses from the server, e.g. with ping
  3. FGCom subprocess error
    If the server is up (responding to ping), check for errors in the logged FGCom output files in the output directory.
  4. Port mess-up on your side
    If you are running multiple instances of ATC-pie, make sure you have no more than one radio box on every port. To check what port a radio box is using, see its "on/off" button tooltip. You can change your FGCom settings from the system set-up dialog. In any case, you should only choose available ports, not reserved by your operating system. Typically, ports from 16661 and counting up work fine.

I cannot record an ATIS.

Assuming FGCom is working otherwise (confirm this with an echo test before reading on), but no beep is heard after pressing "record"...

Due to FGCom design, you may only record an ATIS if the requested frequency is enlisted as recordable on the distant server's "phone book" for the base airport (or the nearest one in CTR mode). The one for was compiled a while ago, based on the latest apt.dat at the time. It filtered the frequencies through the two following conditions:

  1. it is of the "recorded" type (row code 50);
  2. its name contains the uppercase string "ATIS".

Unless you have updated or edited the frequency data yourself, check against the airport .dat file sourced on your side, as it should still be similar. One of the two conditions is probably not met, or the frequency missing all together.

NB: the frequencies in the ATIS drop-down list of ATC-pie are matched against the condition (1), but not against the somewhat restrictive condition (2).

Tower view is not starting.

Ruling out that FlightGear is not installed at all, your system path settings are probably wrong. From a terminal or a file system navigator, find the right command to start FlightGear and enter it as FlightGear executable from the system settings. Do not add options of any kind; they will be taken care of internally. You may have to enter a FlightGear root directory as well, especially if you have the program files installed somewhere unexpected.

My tower is in the middle of the sea, and aircraft floating/landing on water!

You are missing the FlightGear scenery data for your location, or ATC-pie does not know where it is. If you have downloaded scenery and saved it somewhere, have you tried filling the scenery directory with that location in the system settings? Also check out the Tower viewing feature note in the user guide.

Simulated aircraft appear to dip underground or levitate over taxiways.

You must be missing a ground elevation map for the location. Quoting from resources/elev/Notice: "When no elevation map is found for an airport, the field elevation value is used everywhere on the ground. This should be OK for a rough approximation on flat terrain, but ground traffic will not follow any slopes, thus may appear as floating above the ground, or digging into it."

Read the full file for instructions on how to build your elevation map. Once you have or if you decide that your field is flat enough, a last possible altitude adjustment is available from the location options: "Altitude adjustment for FlightGear views". It applies the given offset to all traffic rendered by the views.

I cannot connect to my teacher as a student.

Using IPv4 addresses, this typically happens when the teacher is in a local area network behind a router. It is a common setup for home internet, in which the teacher's actual host address is not publicly accessible from outside his private network.

If you know what IPv6 is and that your network configuration will allow it, try using IPv6 addresses. Otherwise, the solution is either:

  • for the teacher to configure his router to forward TCP packets from his router's IP and chosen service port to his local host address;
  • or to create a virtual network, using a third-party VPN service.

What is ...? Why is ...? What value/setting for ...?

What is the FlightGear strip exchange server? Which one to use?

In FlightGear games, the strip exchange feature allows you to hand over strips to ATCs who are connected to the same server. The public server currently open for general multi-player use is To hand over a strip, drag it from its rack and drop it on the chosen callsign in the ATC handover list. Publicise your frequency so that ATCs around know what to tell pilots for them to contact you!

What nickname should I use for FlightGear multi-player?

Choose any name you would like to be recognised by on the network. In ATC-pie, it will appear in the tooltip over your callsign for connected ATCs who see you. In a sense, this feature is more social than technical, but makes sense as typical ATC callsigns (e.g. "VHHHtwr") remain mostly anonymous over MP. Use this field so that other players can identify you.

Are the vector headings true or magnetic?

Heading displays in ATC-pie are mostly magnetic so they can be read out to pilots. The only exceptions are for easier human identification, because true North is at the top of the map. For example, navigator and handover list tool tips are true radial headings from the radar position.

Also note: all directions are geodesic, i.e. initial headings to take on a great circle.

What is the purpose of the flat "strip shelf" button in the strip panes?

More than a button, the strip shelf is where you should drop the contacts you release without a handover, e.g. parked traffic shutting down, VFR traffic flying out of your airspace, etc. Clicking on the shelf allows to browse the previously shelved strips, and to recall one (or more), for example shelved inadvertently.

Why do I keep getting runway incursion alarms?

You are not using your runway boxes. The alarm sounds when the radar detects traffic stepping on a runway in either of the following situations:

  • the runway is active (marked in use) and no strip is boxed for it;
  • it is reserved but there is already traffic on the runway;
  • it is reserved for a different aircraft: the boxed strip is linked to a contact that is not the entering aircraft, or the aircraft is linked to a strip different to the one boxed.

If you are not interested in this feature, you can turn the runway occupation monitor off completely from the Options menu. This will deactivate all radar warnings regarding runways. Alternatively, if you are only bothered by the alarm but want to keep the visual runway highlighting system, you can mute the sound notification by unticking it in the notification dock pull-down menu.

Where is ...? Can I ...? How to ...?

Can I draw SID and STAR procedures on the radar?

Yes, and virtually anything else, using background images. To learn about those:

  • see the corresponding user guide section;
  • read the resources/bg-img/Notice file;
  • examine the (otherwise useless) packaged KSFO example.

If you have a sector file of the ".sct" format used in VATSIM/IVAO, you should try the included script. It will extract most of the contents, including SID/STAR procedures, and translate them into ATC-pie's native drawing format. Probably your best solution if you know your procedures are included. Here is how to use it:

  1. Run the script: sector_file centre:radius output_dir.
    In this command:
    • sector_file is the input sector file you wish to extract from;
    • centre (Earth coordinates) and radius (range in nautical miles) specify the wanted coverage of the input sector file;
    • output_dir is where you want the output files to be generated.
    In the output directory, the resulting files are:
    • geo-*, proc-*, boundaries-*, containing the extracted drawings translated for ATC-pie;
    • extract.lst, a list of the generated drawing files in the expected format;
    • extract.err, a log of the errors detected in your sector file (do not be alarmed as they often contain many).
  2. Import the results:
    • rename the .lst file to resources/bg-img/ICAO.lst, replacing ICAO with the location code of where to import the drawings;
    • move the drawing files under resources/bg-img, adjusting the paths in the .lst if you create subdirectories.
  3. Post-editing (cleaning)
    ATC-pie does its best to understand the objects in the sector file and to group things together depending on their type. But not everything can be guessed automatically, so you get a lot of files and useless things. This last step is where you merge, split, delete objects, rename points, change colours, etc. to your liking.
    Each generated drawing block (point list under a colour) is automatically given a label, ending with the line number it was sourced from in the sector file so you can easily trace it (@nnn). A tool like sed will help you get rid of all these unwanted suffixes once you have sorted and renamed your objects:
    sed -ri 's/ @[0-9]+$//' file_to_clean

How do I assign SIDs and STARs to aircraft?

This question is asked quite a lot more than it is relevant to a real controller's task...

What people seem to be after when asking this question is a way to organise inbound traffic on arrival, using STARs to manage multiple approach paths. The way to handle this is to stack your inbound strips on racks named after your STARs. Racks are indeed above all meant for efficient traffic sequencing. Every rack represents its own sequence of ordered aircraft, which is perfectly suited to control separate approach paths in parallel. With this technique, placing a strip on a STAR-named rack basically serves as the "assignment" itself. Similarly, runway-specific racks can keep track of separate landing sequences at large airports. Then you can set a colour to each rack for quick identification on the scope. Besides, turning on the approach spacing hints will help you optimise the separation times in the sequence all the way to touchdown.

If you otherwise meant to plan routes before they are flown, you are looking for something you should not be doing. Routes are lists of waypoints and instructions to follow between the two end airfields. Normally pulled straight from properly filed flight plans, routes are copied onto strips prior to departure, then modified as the flights progress and passed along with handovers. Standard departure and arrival procedures (SIDs and STARs) can be referred to in those routes, but only by their entry or exit navpoints. They should not contain full procedure names like FUBAR1A since those depend on the active runways and might change any time before flying the corresponding leg. For example, routes ending with a STAR should end with "FUBAR STAR", which means that waypoint FUBAR is an entry point from which a published STAR must be followed. The keyword "STAR" is in fact a mere specification for the last route leg. Similarly, routes of the form "SID DUMMY ..." specify their first leg as a standard departure to the first waypoint DUMMY. "SID" and "STAR" keywords are recognised by ATC-pie and accounted for in the second line of the radar tag when appropriate (see feature note on routes).

One meaningful wish regarding this question is for easy reference in text chat messages. Firstly, using racks in the way suggested above, you can use the $rack alias which is substituted by the name of the rack on which the current strip selection is stacked. Otherwise, if the selected strip's route is found to contain "SID"/"STAR" keywords placed in the first/last route leg specifications, text aliases $wpsid and $wpstar will respectively expand to the first/last en-route waypoints of that route. For example, assuming route "SID DUMMY more route spec FUBAR STAR" in the selection, $wpsid will be replaced with "DUMMY" and $wpstar with "FUBAR". Now if you specifically want to assign a full procedure name like FUBAR1A to a contact and refer to it in a generic text chat message, include a line "sid=FUBAR1A" in your strip comments. It will pop up with the strip mouse-over tooltip, and create a custom $sid alias that will automatically be expanded in your sent messages when that strip is selected.

How to set the transition level?

You do not. You can however set the transition altitude in the location settings.

The transition level displayed in the weather analysis is the lowest flight level that is still above the transition altitude. This does not mean the lowest to be expected in ATC clearances, which may be higher, e.g. for more vertical separation on either side of the transition layer or due to coordination with neighbouring zones and fields.

Can I look up ILS frequencies?

Yes, in the environment info dialog.

Besides, you can create aliases with the local notepad for a quick and integrated way of sending them through text chat, which will be saved when you close ATC-pie. For example, use the following format, one runway per line: ils05=111.11 MHz. See custom text aliases for more.

How do I customise the GUI and colours?

To change the radar or strip colours, edit the settings/colours.ini file. Each line holds the paint colour for the corresponding object type in a typical #RRGGBB (red-green-blue) format. While you are working on your colours, use the "reload colour configuration" menu option to avoid restarting after every change.

Besides, ATC-pie is a Qt application and therefore allows you to customise all pieces of the GUI with stylesheets. To change the general GUI looks, you may (either or both):

  • change your Qt platform defaults for system-wide effect on all Qt applications;
  • add a -stylesheet=... option with a Qt stylesheet file name on the command line to affect ATC-pie only.

Send us screenshots and share your settings if you find a setup looking really cool! :-)


What's with the funny name?

ATC-pie is written in Python, and I reckoned that the pyXXX naming habit was becoming a little dull, so I merely switched things around. You can surely do the rest of the math in terms of spelling, and later impact on the logo.

Why is the learning curve so steep? People would use your program more if you did/provided [...]

Often continued with: (you must understand that) this is not VATSIM!

We do have a wish list and will consider any feature or help request. However, though it has a few cheats, ATC-pie has always choosen realism as a criterion for implementation and design, over the mere incentive of converting otherwise happy users of other programs. It is a good thing that different philosophies and work flows are available out there, and there would be much less interest in having them all copy each other, fighting over users instead of understanding that not all of them wish for the same game experience. If serious simulation or learning new skills sound like threats to fun for you, you have a perfectly valid reason not to opt for ATC-pie.