<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fgf5</id>
	<title>FlightGear wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fgf5"/>
	<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/Special:Contributions/Fgf5"/>
	<updated>2026-07-27T19:39:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=User:Fgf5&amp;diff=146336</id>
		<title>User:Fgf5</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=User:Fgf5&amp;diff=146336"/>
		<updated>2026-07-20T14:13:59Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: expand&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Primarily plays FlightGear 2024.1 on PC, also the free version of X-Plane on mobile.&lt;br /&gt;
&lt;br /&gt;
* 2026-2: Downloaded FG&lt;br /&gt;
* 2026-4: Started contributing to the wiki&lt;br /&gt;
* 2026-5: Started contributing to the source code repository&lt;br /&gt;
&lt;br /&gt;
My favorite aircraft:&lt;br /&gt;
* [[Airbus A320 family]]&lt;br /&gt;
* [[Boeing 737-800YV]]&lt;br /&gt;
* [[Boeing 777]]&lt;br /&gt;
* [[Cessna 172P]] and [[Cessna 182S|182S]]&lt;br /&gt;
* [[EC130]]&lt;br /&gt;
* [[F-16]]&lt;br /&gt;
* [[Follow me e-tron]]&lt;br /&gt;
* [[Space Shuttle]]&lt;br /&gt;
* [[UFO]]&lt;br /&gt;
&lt;br /&gt;
Favorite add-ons:&lt;br /&gt;
* [[Logbook Add-on]]&lt;br /&gt;
* [[Which Runway Add-on]]&lt;br /&gt;
* [[Nasal Namespace Browser]]&lt;br /&gt;
* [[Aerotow Everywhere Add-on]]&lt;br /&gt;
* [https://github.com/PlayeRom/flightgear-addon-menu-aggregator Add-ons Menu Aggregator]&lt;br /&gt;
* [[AutoEarthView]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=File:2024.2_HDR_PBR_rendering.png&amp;diff=146280</id>
		<title>File:2024.2 HDR PBR rendering.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=File:2024.2_HDR_PBR_rendering.png&amp;diff=146280"/>
		<updated>2026-07-16T21:22:30Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: Fgf5 uploaded a new version of File:2024.2 HDR PBR rendering.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{int:filedesc}}==&lt;br /&gt;
{{Information&lt;br /&gt;
|description={{en|1=HDR and PBR rendering in 2024.2}}&lt;br /&gt;
|date=2026-05-25&lt;br /&gt;
|source={{own}}&lt;br /&gt;
|author=[[User:Fgf5|Fgf5]]&lt;br /&gt;
|permission=&lt;br /&gt;
|other versions=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=={{int:license-header}}==&lt;br /&gt;
{{self|cc-by-sa-4.0}}&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Nasal_scripting_language&amp;diff=146205</id>
		<title>Nasal scripting language</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Nasal_scripting_language&amp;diff=146205"/>
		<updated>2026-07-15T08:24:38Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Fibonacci */ semicolon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Nasal Navigation}}&lt;br /&gt;
'''Nasal''' is [[FlightGear]]'s built-in scripting language, standing for &amp;quot;not another scripting language&amp;quot;. Originally written and developed by Andy Ross for a personal project, it was integrated into FlightGear in November 2003, and has been continuously developed, improved, and refined since then. Over time, it has become probably FlightGear's most powerful, and has been used to create a huge variety of systems, ranging from [[wildfire simulation|wildfires]] to [[Control Display Unit]]s.&lt;br /&gt;
&lt;br /&gt;
Nasal uses some of the concepts of ECMA/JavaScript, Python and Perl and implements a simple but complete way of Object Oriented Programming (OOP). It supports the reading and writing of internal [[Property Tree|properties]], accessing internal data via extension functions, creating GUI dialogs and much more within FlightGear. &lt;br /&gt;
&lt;br /&gt;
Please see the '''right navigation bar''' &amp;quot;Nasal scripting&amp;quot; to get more information and tutorials about Nasal itself.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
=== Design ===&lt;br /&gt;
* Designed as an extension language, well suited for embedded applications&lt;br /&gt;
* Small Interpreter, written in ANSI C, even smaller than lua&lt;br /&gt;
* Nasal's VM uses internally a stack machine model and is stackless for interpreted code&lt;br /&gt;
* Nasal provides optional bindings for libraries such as gtk, cairo, regex, readline, sqlite or unix, and does not depend on any third party libraries other than the standard C library&lt;br /&gt;
* Nasal is threadsafe and does not use a global interpreter lock (i.e. GIL/GVL in Python or Ruby)&lt;br /&gt;
* Metaprogramming and Unicode support&lt;br /&gt;
* Support for multiple execution contexts and subcontexts&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
=== Hello world ===&lt;br /&gt;
A [[Nasal Hello World|Hello World]] example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
# to be saved in $FG_ROOT/Nasal/hello.nas&lt;br /&gt;
print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fibonacci ===&lt;br /&gt;
An example of calculating &amp;lt;code&amp;gt;fib(10000000) % 16777216&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
var fibonacci = func(n) {&lt;br /&gt;
    if (n == 0) return 0;&lt;br /&gt;
    if (n == 1) return 1;&lt;br /&gt;
    &lt;br /&gt;
    var a = 0;&lt;br /&gt;
    var b = 1;&lt;br /&gt;
    for (var i = 2; i &amp;lt;= n; i += 1) {&lt;br /&gt;
        (a, b) = (b, (a + b) &amp;amp; 16777215);&lt;br /&gt;
    }&lt;br /&gt;
    return b;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var n = 10000000;&lt;br /&gt;
var start = systime();&lt;br /&gt;
var result = fibonacci(n);&lt;br /&gt;
var end = systime();&lt;br /&gt;
var elapsed = end - start;&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Fibonacci(&amp;quot;, n, &amp;quot;) mod 16777216 = &amp;quot;, result);&lt;br /&gt;
print(&amp;quot;Time elapsed: &amp;quot;, elapsed, &amp;quot; seconds&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
=== Variables and operators ===&lt;br /&gt;
See [[Nasal Variables]] and [[Nasal Operators]] for more info.&lt;br /&gt;
&lt;br /&gt;
=== Conditionals and loops ===&lt;br /&gt;
See [[Nasal Conditionals]] and [[Nasal Loops]].&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
{{Main article|Using Nasal functions}}&lt;br /&gt;
&lt;br /&gt;
=== Objects ===&lt;br /&gt;
{{Main article|Object oriented programming in Nasal}}&lt;br /&gt;
&lt;br /&gt;
=== Namespaces ===&lt;br /&gt;
{{Main article|Howto:Understand Namespaces and Methods}}&lt;br /&gt;
&lt;br /&gt;
=== Libraries (and more) ===&lt;br /&gt;
See the navigation bar &amp;quot;Nasal scripting&amp;quot; for more info.&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
Vim-nasal-syntax-highlighting.png|Syntax highlighting in vim&lt;br /&gt;
Highlight parse.png|Nasal support in Notepad++&lt;br /&gt;
Nasal syntax hightlighting VSCode.png|Nasal support in VSCode&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
== Related content ==&lt;br /&gt;
=== Wiki ===&lt;br /&gt;
* [[Nasal Browser|Nasal namespace browser addon]]&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
* [https://github.com/andyross/nasal Original implementation andyross/nasal]&lt;br /&gt;
* [https://gitlab.com/flightgear/simgear/-/tree/next/simgear/nasal Official source of Nasal]&lt;br /&gt;
* [https://github.com/ValKmjolnir/Nasal-Interpreter Another implementation of Nasal using C++17] ([https://nasal.fgprc.org.cn/ online interpreter])&lt;br /&gt;
&lt;br /&gt;
[[Category:Nasal]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=HDR_Pipeline&amp;diff=145854</id>
		<title>HDR Pipeline</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=HDR_Pipeline&amp;diff=145854"/>
		<updated>2026-07-10T14:20:10Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{forum|47|Effects &amp;amp; Shaders}}&lt;br /&gt;
&lt;br /&gt;
{{infobox subsystem&lt;br /&gt;
|image       = HDR pipeline c172p over TFFF.png&lt;br /&gt;
|name        = HDR Pipeline&lt;br /&gt;
|started     = 04/2021&lt;br /&gt;
|description = A modern rendering pipeline that targets relatively powerful systems&lt;br /&gt;
|status      = In development&lt;br /&gt;
|developers  = Fernando García Liñán &amp;lt;ref&amp;gt;https://sourceforge.net/u/fgarlin/profile/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|changelog = https://sourceforge.net/u/fgarlin/profile/feed.rss&lt;br /&gt;
|folders = &lt;br /&gt;
* {{fgdata file|Compositor/HDR}}&lt;br /&gt;
* {{fgdata file|Effects/HDR}}&lt;br /&gt;
* {{fgdata file|Shaders/HDR}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Rendering}}&lt;br /&gt;
&lt;br /&gt;
The '''HDR Pipeline''' is a [[Compositor]]-based rendering pipeline that attempts to bring modern rendering techniques to FlightGear, namely {{wikipedia|High dynamic range|high dynamic range (HDR)}} and {{wikipedia|Physically based rendering|physically based rendering (PBR)}}. It is implemented entirely in [[$FG_ROOT]] using XML for the Compositor pipeline definition and [[Effects]], and GLSL for shaders and is only available on 'next' branch or nightly builds (2024.2). The pipeline can be enabled with the command line argument &amp;lt;code&amp;gt;--compositor=Compositor/HDR/hdr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
The [[Classic Pipeline]] relies on legacy [[OpenGL]] features, so rather than improving or reworking it, the idea of creating an entirely separate rendering pipeline from scratch started taking shape. The [[Compositor]] played the biggest role in enabling this effort as it allows the creation of new rendering pipelines entirely in FGData space without any C++ changes whatsoever, greatly reducing the amount of work that had to be done and making the iterative process of testing and debugging much faster.&lt;br /&gt;
&lt;br /&gt;
== Notes for aircraft developers ==&lt;br /&gt;
&lt;br /&gt;
The HDR pipeline handles lighting in a completely different manner compared to [[Atmospheric light scattering|ALS]]. The pipeline will attempt to &amp;quot;translate&amp;quot; classic Effects so they display correctly by making some assumptions. These assumptions are not always correct, so your aircraft might not display correctly under the HDR pipeline. In this section we describe some steps you can follow to leverage all the power of the HDR pipeline.&lt;br /&gt;
&lt;br /&gt;
=== PBR and glTF ===&lt;br /&gt;
&lt;br /&gt;
Physically-based rendering (PBR) refers to the concept of using realistic shading/lighting models along with measured surface values to accurately represent real-world materials. See this [https://marmoset.co/posts/physically-based-rendering-and-you-can-too/ webpage] for an extensive introduction to PBR and how you can create physically-based assets for your aircraft.&lt;br /&gt;
&lt;br /&gt;
This pipeline introduces a PBR Effect ({{fgdata file|Effects/model-pbr.eff}}). However, you don't need to assign this Effect manually. You can export your model from Blender to the [[glTF]] format and use it directly. The Blender exporter will take care of exporting the necessary textures and the FlightGear parser will automatically assign the PBR Effect to your model. Your model XML file would contain something like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;my-aircraft.gltf&amp;lt;/path&amp;gt;&lt;br /&gt;
    [...]&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Although '''not recommended''', the PBR effect can be assigned as usual by adding an &amp;lt;tt&amp;gt;&amp;lt;effect&amp;gt;&amp;lt;/tt&amp;gt; tag in the model XML and configuring it like you would configure [[Model-combined effect|model-combined]].&lt;br /&gt;
&lt;br /&gt;
=== Lights ===&lt;br /&gt;
&lt;br /&gt;
Lights are defined using the [[Compositor#Lights|Compositor syntax]]. However, since we are dealing with physically-based values, the ambient/diffuse/specular values are ignored and the &amp;lt;tt&amp;gt;color&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;intensity&amp;lt;/tt&amp;gt; parameters are used instead. The &amp;lt;tt&amp;gt;attenuation&amp;lt;/tt&amp;gt; parameter is also ignored.&lt;br /&gt;
&lt;br /&gt;
It is possible to have a light definition that is compatible with both ALS and HDR by defining all parameters at the same time. This might be troublesome though because the same values might yield different results under each pipeline.&lt;br /&gt;
&lt;br /&gt;
An example light definition is shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;light&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;my-spotlight&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;spot&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;position&amp;gt;&lt;br /&gt;
    &amp;lt;x-m&amp;gt;-7.7476&amp;lt;/x-m&amp;gt;&lt;br /&gt;
    &amp;lt;y-m&amp;gt;0&amp;lt;/y-m&amp;gt;&lt;br /&gt;
    &amp;lt;z-m&amp;gt;-1.7990&amp;lt;/z-m&amp;gt;&lt;br /&gt;
  &amp;lt;/position&amp;gt;&lt;br /&gt;
  &amp;lt;direction&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;-1.0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;z&amp;gt;-0.013&amp;lt;/z&amp;gt;&lt;br /&gt;
  &amp;lt;/direction&amp;gt;&lt;br /&gt;
  &amp;lt;color&amp;gt;&lt;br /&gt;
    &amp;lt;r&amp;gt;1.0&amp;lt;/r&amp;gt;&lt;br /&gt;
    &amp;lt;g&amp;gt;0.0&amp;lt;/g&amp;gt;&lt;br /&gt;
    &amp;lt;b&amp;gt;0.0&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;/color&amp;gt;&lt;br /&gt;
  &amp;lt;intensity&amp;gt;10&amp;lt;/intensity&amp;gt;&lt;br /&gt;
  &amp;lt;spot-exponent&amp;gt;5&amp;lt;/spot-exponent&amp;gt;&lt;br /&gt;
  &amp;lt;spot-cutoff&amp;gt;40&amp;lt;/spot-cutoff&amp;gt;&lt;br /&gt;
  &amp;lt;range-m&amp;gt;50&amp;lt;/range-m&amp;gt;&lt;br /&gt;
&amp;lt;/light&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Appendix}}&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Compositor]]&lt;br /&gt;
* [[glTF]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Compositor Pipelines]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Menubar&amp;diff=145853</id>
		<title>Menubar</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Menubar&amp;diff=145853"/>
		<updated>2026-07-10T14:13:08Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* How to Change the Default Menubar Font Size */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|The existing menubar is a hard-coded feature implemented using PLIB/PUI which we are hoping to get rid of eventually to help us [[Unifying the 2D rendering backend via canvas]] for better portability and performance.&lt;br /&gt;
This feature will be ported to [[Canvas]] in version 2024.2.}}&lt;br /&gt;
&lt;br /&gt;
The in-game '''menubar''' of [[FlightGear]] is located at the top of the screen.&lt;br /&gt;
&lt;br /&gt;
== Menu items ==&lt;br /&gt;
''For the list of default menubar items, see [[Menu]].''&lt;br /&gt;
&lt;br /&gt;
=== Add items ===&lt;br /&gt;
To add a menu for a specific plane only you have to enhance the planes &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file. Add the follow lines (example for the [[Livery over MP|livery selection dialog]] in a [[Boeing 787]]), or any item that you want to show, above the &amp;lt;/sim&amp;gt; tag. You can add as many items and menus as you like, but keep the menubar as small as possible, the larger the outside view will be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;menubar&amp;gt;&lt;br /&gt;
  &amp;lt;default&amp;gt;&lt;br /&gt;
   &amp;lt;menu n=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;label&amp;gt;Boeing 787&amp;lt;/label&amp;gt;&lt;br /&gt;
   &amp;lt;enabled type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
     &amp;lt;label&amp;gt;Select Livery&amp;lt;/label&amp;gt;&lt;br /&gt;
     &amp;lt;binding&amp;gt;&lt;br /&gt;
      &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt;&lt;br /&gt;
      &amp;lt;script&amp;gt;aircraft.livery.dialog.open()&amp;lt;/script&amp;gt;&lt;br /&gt;
     &amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;/menu&amp;gt;&lt;br /&gt;
  &amp;lt;/default&amp;gt;&lt;br /&gt;
 &amp;lt;/menubar&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''menu n=&amp;quot;100&amp;quot;:''' creates an extra menu item, at the end of the menubar, needs to be start in 100.&lt;br /&gt;
* '''aircraft.livery.dialog.open():''' the prefix 'aircraft' is coming from the tagname you choose inside the &amp;lt;nasal&amp;gt; section, eg:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nasal&amp;gt;&lt;br /&gt;
        &amp;lt;aircraft&amp;gt;&lt;br /&gt;
            &amp;lt;file&amp;gt;Aircraft/MyAircraft/Nasal/script.nas&amp;lt;/file&amp;gt;&lt;br /&gt;
        &amp;lt;/aircraft&amp;gt;&lt;br /&gt;
    &amp;lt;/nasal&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Use only characters that could be used to name and call a nasal function (eg: the '-' character is not valid).&lt;br /&gt;
&lt;br /&gt;
== Styles ==&lt;br /&gt;
The menubar is available in various styles. Currently there are two styles (both are shown below) packaged with FlightGear. The lower one is standard. You can switch between styles by pressing Shift-F10. &lt;br /&gt;
&lt;br /&gt;
[[File:menubar1.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
[[File:menubar2.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
=== Creating your own ===&lt;br /&gt;
{{main article|Howto:Create a custom GUI style}}&lt;br /&gt;
&lt;br /&gt;
== How to Change the Default Menubar Font Size ==&lt;br /&gt;
&lt;br /&gt;
For those using bigger monitors or higher resolutions it may be necessary to increase the font size of the menubar. The change below can be applied and should be made before launching.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
--- flightgear-data/fgdata/gui/styles/anthrax.xml.orig&lt;br /&gt;
+++ flightgear-data/fgdata/gui/styles/anthrax.xml&lt;br /&gt;
@@ -11,7 +11,7 @@&lt;br /&gt;
        &amp;lt;fonts&amp;gt;&lt;br /&gt;
                &amp;lt;gui&amp;gt;&lt;br /&gt;
-                       &amp;lt;name type=&amp;quot;string&amp;quot;&amp;gt;HELVETICA_12&amp;lt;/name&amp;gt;&lt;br /&gt;
+                       &amp;lt;name type=&amp;quot;string&amp;quot;&amp;gt;HELVETICA_18&amp;lt;/name&amp;gt;&lt;br /&gt;
                        &amp;lt;baseline-height type=&amp;quot;float&amp;quot;&amp;gt;21&amp;lt;/baseline-height&amp;gt;&lt;br /&gt;
                &amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible font names are &lt;br /&gt;
		&amp;quot;default&amp;quot;, &amp;quot;FIXED_8x13&amp;quot;, &amp;quot;FIXED_9x15&amp;quot;, &amp;quot;TIMES_10&amp;quot;, &amp;quot;TIMES_24&amp;quot;,&lt;br /&gt;
		&amp;quot;HELVETICA_10&amp;quot;, &amp;quot;HELVETICA_12&amp;quot;, &amp;quot;HELVETICA_14&amp;quot;, &amp;quot;HELVETICA_18&amp;quot;,&lt;br /&gt;
		&amp;quot;SANS_12B&amp;quot;,&lt;br /&gt;
and all font file names from [[$FG_ROOT|$FG_ROOT]]/Fonts/, such as &amp;quot;helvetica_bold.txf&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
[[Category:Menubar]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Menubar&amp;diff=145852</id>
		<title>Menubar</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Menubar&amp;diff=145852"/>
		<updated>2026-07-10T14:10:36Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Styles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|The existing menubar is a hard-coded feature implemented using PLIB/PUI which we are hoping to get rid of eventually to help us [[Unifying the 2D rendering backend via canvas]] for better portability and performance.&lt;br /&gt;
This feature will be ported to [[Canvas]] in version 2024.2.}}&lt;br /&gt;
&lt;br /&gt;
The in-game '''menubar''' of [[FlightGear]] is located at the top of the screen.&lt;br /&gt;
&lt;br /&gt;
== Menu items ==&lt;br /&gt;
''For the list of default menubar items, see [[Menu]].''&lt;br /&gt;
&lt;br /&gt;
=== Add items ===&lt;br /&gt;
To add a menu for a specific plane only you have to enhance the planes &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file. Add the follow lines (example for the [[Livery over MP|livery selection dialog]] in a [[Boeing 787]]), or any item that you want to show, above the &amp;lt;/sim&amp;gt; tag. You can add as many items and menus as you like, but keep the menubar as small as possible, the larger the outside view will be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;menubar&amp;gt;&lt;br /&gt;
  &amp;lt;default&amp;gt;&lt;br /&gt;
   &amp;lt;menu n=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;label&amp;gt;Boeing 787&amp;lt;/label&amp;gt;&lt;br /&gt;
   &amp;lt;enabled type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
     &amp;lt;label&amp;gt;Select Livery&amp;lt;/label&amp;gt;&lt;br /&gt;
     &amp;lt;binding&amp;gt;&lt;br /&gt;
      &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt;&lt;br /&gt;
      &amp;lt;script&amp;gt;aircraft.livery.dialog.open()&amp;lt;/script&amp;gt;&lt;br /&gt;
     &amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;/menu&amp;gt;&lt;br /&gt;
  &amp;lt;/default&amp;gt;&lt;br /&gt;
 &amp;lt;/menubar&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''menu n=&amp;quot;100&amp;quot;:''' creates an extra menu item, at the end of the menubar, needs to be start in 100.&lt;br /&gt;
* '''aircraft.livery.dialog.open():''' the prefix 'aircraft' is coming from the tagname you choose inside the &amp;lt;nasal&amp;gt; section, eg:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nasal&amp;gt;&lt;br /&gt;
        &amp;lt;aircraft&amp;gt;&lt;br /&gt;
            &amp;lt;file&amp;gt;Aircraft/MyAircraft/Nasal/script.nas&amp;lt;/file&amp;gt;&lt;br /&gt;
        &amp;lt;/aircraft&amp;gt;&lt;br /&gt;
    &amp;lt;/nasal&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Use only characters that could be used to name and call a nasal function (eg: the '-' character is not valid).&lt;br /&gt;
&lt;br /&gt;
== Styles ==&lt;br /&gt;
The menubar is available in various styles. Currently there are two styles (both are shown below) packaged with FlightGear. The lower one is standard. You can switch between styles by pressing Shift-F10. &lt;br /&gt;
&lt;br /&gt;
[[File:menubar1.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
[[File:menubar2.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
=== Creating your own ===&lt;br /&gt;
{{main article|Howto:Create a custom GUI style}}&lt;br /&gt;
&lt;br /&gt;
== How to Change the Default Menubar Font Size ==&lt;br /&gt;
&lt;br /&gt;
For those using bigger monitors or higher resolutions it may be necessary to increase the font size of the menubar. The change below can be applied and should be made before launching.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
--- flightgear-data/fgdata/gui/styles/anthrax.xml.orig       2014-04-24 19:52:04.353028047 -0800&lt;br /&gt;
+++ flightgear-data/fgdata/gui/styles/anthrax.xml            2014-04-24 19:57:12.548002672 -0800&lt;br /&gt;
@@ -11,7 +11,7 @@&lt;br /&gt;
        &amp;lt;fonts&amp;gt;&lt;br /&gt;
                &amp;lt;gui&amp;gt;&lt;br /&gt;
-                       &amp;lt;name type=&amp;quot;string&amp;quot;&amp;gt;HELVETICA_12&amp;lt;/name&amp;gt;&lt;br /&gt;
+                       &amp;lt;name type=&amp;quot;string&amp;quot;&amp;gt;HELVETICA_18&amp;lt;/name&amp;gt;&lt;br /&gt;
                        &amp;lt;baseline-height type=&amp;quot;float&amp;quot;&amp;gt;21&amp;lt;/baseline-height&amp;gt;&lt;br /&gt;
                &amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible font names are &lt;br /&gt;
		&amp;quot;default&amp;quot;, &amp;quot;FIXED_8x13&amp;quot;, &amp;quot;FIXED_9x15&amp;quot;, &amp;quot;TIMES_10&amp;quot;, &amp;quot;TIMES_24&amp;quot;,&lt;br /&gt;
		&amp;quot;HELVETICA_10&amp;quot;, &amp;quot;HELVETICA_12&amp;quot;, &amp;quot;HELVETICA_14&amp;quot;, &amp;quot;HELVETICA_18&amp;quot;,&lt;br /&gt;
		&amp;quot;SANS_12B&amp;quot;,&lt;br /&gt;
and all font file names from [[$FG_ROOT|$FG_ROOT]]/Fonts/, such as &amp;quot;helvetica_bold.txf&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
[[Category:Menubar]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Menubar&amp;diff=145851</id>
		<title>Menubar</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Menubar&amp;diff=145851"/>
		<updated>2026-07-10T14:09:13Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|The existing menubar is a hard-coded feature implemented using PLIB/PUI which we are hoping to get rid of eventually to help us [[Unifying the 2D rendering backend via canvas]] for better portability and performance.&lt;br /&gt;
This feature will be ported to [[Canvas]] in version 2024.2.}}&lt;br /&gt;
&lt;br /&gt;
The in-game '''menubar''' of [[FlightGear]] is located at the top of the screen.&lt;br /&gt;
&lt;br /&gt;
== Menu items ==&lt;br /&gt;
''For the list of default menubar items, see [[Menu]].''&lt;br /&gt;
&lt;br /&gt;
=== Add items ===&lt;br /&gt;
To add a menu for a specific plane only you have to enhance the planes &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file. Add the follow lines (example for the [[Livery over MP|livery selection dialog]] in a [[Boeing 787]]), or any item that you want to show, above the &amp;lt;/sim&amp;gt; tag. You can add as many items and menus as you like, but keep the menubar as small as possible, the larger the outside view will be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;menubar&amp;gt;&lt;br /&gt;
  &amp;lt;default&amp;gt;&lt;br /&gt;
   &amp;lt;menu n=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;label&amp;gt;Boeing 787&amp;lt;/label&amp;gt;&lt;br /&gt;
   &amp;lt;enabled type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
     &amp;lt;label&amp;gt;Select Livery&amp;lt;/label&amp;gt;&lt;br /&gt;
     &amp;lt;binding&amp;gt;&lt;br /&gt;
      &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt;&lt;br /&gt;
      &amp;lt;script&amp;gt;aircraft.livery.dialog.open()&amp;lt;/script&amp;gt;&lt;br /&gt;
     &amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;/menu&amp;gt;&lt;br /&gt;
  &amp;lt;/default&amp;gt;&lt;br /&gt;
 &amp;lt;/menubar&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''menu n=&amp;quot;100&amp;quot;:''' creates an extra menu item, at the end of the menubar, needs to be start in 100.&lt;br /&gt;
* '''aircraft.livery.dialog.open():''' the prefix 'aircraft' is coming from the tagname you choose inside the &amp;lt;nasal&amp;gt; section, eg:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nasal&amp;gt;&lt;br /&gt;
        &amp;lt;aircraft&amp;gt;&lt;br /&gt;
            &amp;lt;file&amp;gt;Aircraft/MyAircraft/Nasal/script.nas&amp;lt;/file&amp;gt;&lt;br /&gt;
        &amp;lt;/aircraft&amp;gt;&lt;br /&gt;
    &amp;lt;/nasal&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Use only characters that could be used to name and call a nasal function (eg: the '-' character is not valid).&lt;br /&gt;
&lt;br /&gt;
== Styles ==&lt;br /&gt;
The menubar is available in various styles. Currently there are two styles (both are shown below) packaged with FlightGear. The lower one is standard, since FlightGear 1.0.0. You can switch between styles by pressing Shift-F10. &lt;br /&gt;
&lt;br /&gt;
[[File:menubar1.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
[[File:menubar2.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
=== Creating your own ===&lt;br /&gt;
{{main article|Howto:Create a custom GUI style}}&lt;br /&gt;
&lt;br /&gt;
== How to Change the Default Menubar Font Size ==&lt;br /&gt;
&lt;br /&gt;
For those using bigger monitors or higher resolutions it may be necessary to increase the font size of the menubar. The change below can be applied and should be made before launching.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
--- flightgear-data/fgdata/gui/styles/anthrax.xml.orig       2014-04-24 19:52:04.353028047 -0800&lt;br /&gt;
+++ flightgear-data/fgdata/gui/styles/anthrax.xml            2014-04-24 19:57:12.548002672 -0800&lt;br /&gt;
@@ -11,7 +11,7 @@&lt;br /&gt;
        &amp;lt;fonts&amp;gt;&lt;br /&gt;
                &amp;lt;gui&amp;gt;&lt;br /&gt;
-                       &amp;lt;name type=&amp;quot;string&amp;quot;&amp;gt;HELVETICA_12&amp;lt;/name&amp;gt;&lt;br /&gt;
+                       &amp;lt;name type=&amp;quot;string&amp;quot;&amp;gt;HELVETICA_18&amp;lt;/name&amp;gt;&lt;br /&gt;
                        &amp;lt;baseline-height type=&amp;quot;float&amp;quot;&amp;gt;21&amp;lt;/baseline-height&amp;gt;&lt;br /&gt;
                &amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible font names are &lt;br /&gt;
		&amp;quot;default&amp;quot;, &amp;quot;FIXED_8x13&amp;quot;, &amp;quot;FIXED_9x15&amp;quot;, &amp;quot;TIMES_10&amp;quot;, &amp;quot;TIMES_24&amp;quot;,&lt;br /&gt;
		&amp;quot;HELVETICA_10&amp;quot;, &amp;quot;HELVETICA_12&amp;quot;, &amp;quot;HELVETICA_14&amp;quot;, &amp;quot;HELVETICA_18&amp;quot;,&lt;br /&gt;
		&amp;quot;SANS_12B&amp;quot;,&lt;br /&gt;
and all font file names from [[$FG_ROOT|$FG_ROOT]]/Fonts/, such as &amp;quot;helvetica_bold.txf&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
[[Category:Menubar]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Menubar&amp;diff=145850</id>
		<title>Menubar</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Menubar&amp;diff=145850"/>
		<updated>2026-07-10T14:08:31Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|The existing menubar is a hard-coded feature implemented using PLIB/PUI which we are hoping to get rid of eventually to help us [[Unifying the 2D rendering backend via canvas]] for better portability and performance. The PUI menubar can be partially customized by editing PropertyList/XML files for adding entries and styling purposes, but is otherwise fairly inflexible and doesn't support modern widgets like checkboxes, or even just sub-menus. &lt;br /&gt;
This feature will be ported to [[Canvas]] in version 2024.2.}}&lt;br /&gt;
&lt;br /&gt;
The in-game '''menubar''' of [[FlightGear]] is located at the top of the screen.&lt;br /&gt;
&lt;br /&gt;
== Menu items ==&lt;br /&gt;
''For the list of default menubar items, see [[Menu]].''&lt;br /&gt;
&lt;br /&gt;
=== Add items ===&lt;br /&gt;
To add a menu for a specific plane only you have to enhance the planes &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file. Add the follow lines (example for the [[Livery over MP|livery selection dialog]] in a [[Boeing 787]]), or any item that you want to show, above the &amp;lt;/sim&amp;gt; tag. You can add as many items and menus as you like, but keep the menubar as small as possible, the larger the outside view will be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;menubar&amp;gt;&lt;br /&gt;
  &amp;lt;default&amp;gt;&lt;br /&gt;
   &amp;lt;menu n=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;label&amp;gt;Boeing 787&amp;lt;/label&amp;gt;&lt;br /&gt;
   &amp;lt;enabled type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
     &amp;lt;label&amp;gt;Select Livery&amp;lt;/label&amp;gt;&lt;br /&gt;
     &amp;lt;binding&amp;gt;&lt;br /&gt;
      &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt;&lt;br /&gt;
      &amp;lt;script&amp;gt;aircraft.livery.dialog.open()&amp;lt;/script&amp;gt;&lt;br /&gt;
     &amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;/menu&amp;gt;&lt;br /&gt;
  &amp;lt;/default&amp;gt;&lt;br /&gt;
 &amp;lt;/menubar&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''menu n=&amp;quot;100&amp;quot;:''' creates an extra menu item, at the end of the menubar, needs to be start in 100.&lt;br /&gt;
* '''aircraft.livery.dialog.open():''' the prefix 'aircraft' is coming from the tagname you choose inside the &amp;lt;nasal&amp;gt; section, eg:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nasal&amp;gt;&lt;br /&gt;
        &amp;lt;aircraft&amp;gt;&lt;br /&gt;
            &amp;lt;file&amp;gt;Aircraft/MyAircraft/Nasal/script.nas&amp;lt;/file&amp;gt;&lt;br /&gt;
        &amp;lt;/aircraft&amp;gt;&lt;br /&gt;
    &amp;lt;/nasal&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Use only characters that could be used to name and call a nasal function (eg: the '-' character is not valid).&lt;br /&gt;
&lt;br /&gt;
== Styles ==&lt;br /&gt;
The menubar is available in various styles. Currently there are two styles (both are shown below) packaged with FlightGear. The lower one is standard, since FlightGear 1.0.0. You can switch between styles by pressing Shift-F10. &lt;br /&gt;
&lt;br /&gt;
[[File:menubar1.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
[[File:menubar2.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
=== Creating your own ===&lt;br /&gt;
{{main article|Howto:Create a custom GUI style}}&lt;br /&gt;
&lt;br /&gt;
== Flickering Menubar text under Rembrandt / ALS ==&lt;br /&gt;
&lt;br /&gt;
Due to problems that appear to be related to the internal bitmapped font not being rendering correctly on certain graphics card (e.g. AMD R9 290) it may be necessary to change the GUI style to use the TXF format[http://forum.flightgear.org/viewtopic.php?f=4&amp;amp;t=17536#p166346] fonts. &lt;br /&gt;
&lt;br /&gt;
If there is an option on the Debug menu called *cycle gui* use this, ensure that you are using GUI style 1, i.e. in the preferences, or autosave the gui section should be as followed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;gui&amp;gt;&lt;br /&gt;
      &amp;lt;current-style type=&amp;quot;int&amp;quot;&amp;gt;1&amp;lt;/current-style&amp;gt;&lt;br /&gt;
      &amp;lt;devel-widgets type=&amp;quot;bool&amp;quot;&amp;gt;false&amp;lt;/devel-widgets&amp;gt;&lt;br /&gt;
    &amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to Change the Default Menubar Font Size ==&lt;br /&gt;
&lt;br /&gt;
For those using bigger monitors or higher resolutions it may be necessary to increase the font size of the menubar. The change below can be applied and should be made before launching.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
--- flightgear-data/fgdata/gui/styles/anthrax.xml.orig       2014-04-24 19:52:04.353028047 -0800&lt;br /&gt;
+++ flightgear-data/fgdata/gui/styles/anthrax.xml            2014-04-24 19:57:12.548002672 -0800&lt;br /&gt;
@@ -11,7 +11,7 @@&lt;br /&gt;
        &amp;lt;fonts&amp;gt;&lt;br /&gt;
                &amp;lt;gui&amp;gt;&lt;br /&gt;
-                       &amp;lt;name type=&amp;quot;string&amp;quot;&amp;gt;HELVETICA_12&amp;lt;/name&amp;gt;&lt;br /&gt;
+                       &amp;lt;name type=&amp;quot;string&amp;quot;&amp;gt;HELVETICA_18&amp;lt;/name&amp;gt;&lt;br /&gt;
                        &amp;lt;baseline-height type=&amp;quot;float&amp;quot;&amp;gt;21&amp;lt;/baseline-height&amp;gt;&lt;br /&gt;
                &amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible font names are &lt;br /&gt;
		&amp;quot;default&amp;quot;, &amp;quot;FIXED_8x13&amp;quot;, &amp;quot;FIXED_9x15&amp;quot;, &amp;quot;TIMES_10&amp;quot;, &amp;quot;TIMES_24&amp;quot;,&lt;br /&gt;
		&amp;quot;HELVETICA_10&amp;quot;, &amp;quot;HELVETICA_12&amp;quot;, &amp;quot;HELVETICA_14&amp;quot;, &amp;quot;HELVETICA_18&amp;quot;,&lt;br /&gt;
		&amp;quot;SANS_12B&amp;quot;,&lt;br /&gt;
and all font file names from [[$FG_ROOT|$FG_ROOT]]/Fonts/, such as &amp;quot;helvetica_bold.txf&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
[[Category:Menubar]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Menubar&amp;diff=145849</id>
		<title>Menubar</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Menubar&amp;diff=145849"/>
		<updated>2026-07-10T14:05:20Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: 2024.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|The existing menubar is a hard-coded feature implemented using PLIB/PUI which we are hoping to get rid of eventually to help us [[Unifying the 2D rendering backend via canvas]] for better portability and performance. The PUI menubar can be partially customized by editing PropertyList/XML files for adding entries and styling purposes, but is otherwise fairly inflexible and doesn't support modern widgets like checkboxes, or even just sub-menus. &lt;br /&gt;
This feature will be ported to [[Canvas]] in version 2024.2, for details please check out [[Howto:Making a Canvas Menubar]].}}&lt;br /&gt;
&lt;br /&gt;
The in-game '''menubar''' of [[FlightGear]] is located at the top of the screen.&lt;br /&gt;
&lt;br /&gt;
== Menu items ==&lt;br /&gt;
''For the list of default menubar items, see [[Menu]].''&lt;br /&gt;
&lt;br /&gt;
=== Add items ===&lt;br /&gt;
To add a menu for a specific plane only you have to enhance the planes &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file. Add the follow lines (example for the [[Livery over MP|livery selection dialog]] in a [[Boeing 787]]), or any item that you want to show, above the &amp;lt;/sim&amp;gt; tag. You can add as many items and menus as you like, but keep the menubar as small as possible, the larger the outside view will be.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;menubar&amp;gt;&lt;br /&gt;
  &amp;lt;default&amp;gt;&lt;br /&gt;
   &amp;lt;menu n=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;label&amp;gt;Boeing 787&amp;lt;/label&amp;gt;&lt;br /&gt;
   &amp;lt;enabled type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
     &amp;lt;label&amp;gt;Select Livery&amp;lt;/label&amp;gt;&lt;br /&gt;
     &amp;lt;binding&amp;gt;&lt;br /&gt;
      &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt;&lt;br /&gt;
      &amp;lt;script&amp;gt;aircraft.livery.dialog.open()&amp;lt;/script&amp;gt;&lt;br /&gt;
     &amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;/menu&amp;gt;&lt;br /&gt;
  &amp;lt;/default&amp;gt;&lt;br /&gt;
 &amp;lt;/menubar&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''menu n=&amp;quot;100&amp;quot;:''' creates an extra menu item, at the end of the menubar, needs to be start in 100.&lt;br /&gt;
* '''aircraft.livery.dialog.open():''' the prefix 'aircraft' is coming from the tagname you choose inside the &amp;lt;nasal&amp;gt; section, eg:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;nasal&amp;gt;&lt;br /&gt;
        &amp;lt;aircraft&amp;gt;&lt;br /&gt;
            &amp;lt;file&amp;gt;Aircraft/MyAircraft/Nasal/script.nas&amp;lt;/file&amp;gt;&lt;br /&gt;
        &amp;lt;/aircraft&amp;gt;&lt;br /&gt;
    &amp;lt;/nasal&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Use only characters that could be used to name and call a nasal function (eg: the '-' character is not valid).&lt;br /&gt;
&lt;br /&gt;
== Styles ==&lt;br /&gt;
The menubar is available in various styles. Currently there are two styles (both are shown below) packaged with FlightGear. The lower one is standard, since FlightGear 1.0.0. You can switch between styles by pressing Shift-F10. &lt;br /&gt;
&lt;br /&gt;
[[File:menubar1.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
[[File:menubar2.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
=== Creating your own ===&lt;br /&gt;
{{main article|Howto:Create a custom GUI style}}&lt;br /&gt;
&lt;br /&gt;
== Flickering Menubar text under Rembrandt / ALS ==&lt;br /&gt;
&lt;br /&gt;
Due to problems that appear to be related to the internal bitmapped font not being rendering correctly on certain graphics card (e.g. AMD R9 290) it may be necessary to change the GUI style to use the TXF format[http://forum.flightgear.org/viewtopic.php?f=4&amp;amp;t=17536#p166346] fonts. &lt;br /&gt;
&lt;br /&gt;
If there is an option on the Debug menu called *cycle gui* use this, ensure that you are using GUI style 1, i.e. in the preferences, or autosave the gui section should be as followed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;gui&amp;gt;&lt;br /&gt;
      &amp;lt;current-style type=&amp;quot;int&amp;quot;&amp;gt;1&amp;lt;/current-style&amp;gt;&lt;br /&gt;
      &amp;lt;devel-widgets type=&amp;quot;bool&amp;quot;&amp;gt;false&amp;lt;/devel-widgets&amp;gt;&lt;br /&gt;
    &amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to Change the Default Menubar Font Size ==&lt;br /&gt;
&lt;br /&gt;
For those using bigger monitors or higher resolutions it may be necessary to increase the font size of the menubar. The change below can be applied and should be made before launching.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
--- flightgear-data/fgdata/gui/styles/anthrax.xml.orig       2014-04-24 19:52:04.353028047 -0800&lt;br /&gt;
+++ flightgear-data/fgdata/gui/styles/anthrax.xml            2014-04-24 19:57:12.548002672 -0800&lt;br /&gt;
@@ -11,7 +11,7 @@&lt;br /&gt;
        &amp;lt;fonts&amp;gt;&lt;br /&gt;
                &amp;lt;gui&amp;gt;&lt;br /&gt;
-                       &amp;lt;name type=&amp;quot;string&amp;quot;&amp;gt;HELVETICA_12&amp;lt;/name&amp;gt;&lt;br /&gt;
+                       &amp;lt;name type=&amp;quot;string&amp;quot;&amp;gt;HELVETICA_18&amp;lt;/name&amp;gt;&lt;br /&gt;
                        &amp;lt;baseline-height type=&amp;quot;float&amp;quot;&amp;gt;21&amp;lt;/baseline-height&amp;gt;&lt;br /&gt;
                &amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible font names are &lt;br /&gt;
		&amp;quot;default&amp;quot;, &amp;quot;FIXED_8x13&amp;quot;, &amp;quot;FIXED_9x15&amp;quot;, &amp;quot;TIMES_10&amp;quot;, &amp;quot;TIMES_24&amp;quot;,&lt;br /&gt;
		&amp;quot;HELVETICA_10&amp;quot;, &amp;quot;HELVETICA_12&amp;quot;, &amp;quot;HELVETICA_14&amp;quot;, &amp;quot;HELVETICA_18&amp;quot;,&lt;br /&gt;
		&amp;quot;SANS_12B&amp;quot;,&lt;br /&gt;
and all font file names from [[$FG_ROOT|$FG_ROOT]]/Fonts/, such as &amp;quot;helvetica_bold.txf&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
[[Category:Menubar]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145672</id>
		<title>TerraSync</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145672"/>
		<updated>2026-07-07T06:18:39Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding-left:20px;&amp;quot;&amp;gt;''Not to be confused with [[TerraGear]], a toolset to generate scenery.''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''TerraSync''' is a utility that automatically downloads the newest version of the needed [[FlightGear]] scenery while the simulator is running. It runs in the background (optionally as a separate process), monitors your position, and downloads (or updates) the latest scenery from the main scenery server just in time.&lt;br /&gt;
TerraSync has been integrated into the core FlightGear process, so there is no need to deal with TerraSync for the typical user.&lt;br /&gt;
&lt;br /&gt;
The master repository for TerraSync, i.e. the online resource from which TerraSync downloads its files, is synchronized with the [http://scenemodels.flightgear.org/ FlightGear Scenery Database] once a day. So when using TerraSync, you will always have &lt;br /&gt;
# the latest [[File Formats#.2A.stg|.stg-files]], which tell FlightGear where to place an object &lt;br /&gt;
# the latest '''static''' models for objects. (Static models define unique objects that exist in one place only, such as famous buildings or landmarks.) &lt;br /&gt;
# the latest '''shared''' models for objects. (Generic models used more than once in different places, each can represent many different objects, like generic houses or ships)&lt;br /&gt;
&lt;br /&gt;
== Enabling TerraSync ==&lt;br /&gt;
&lt;br /&gt;
=== In the launcher ===&lt;br /&gt;
[[File:Terrasync option.png|400px|thumb|The scenery download options in the settings panel.]]&lt;br /&gt;
In the launcher, click &amp;lt;tt&amp;gt;Settings &amp;gt; Download scenery automatically&amp;lt;/tt&amp;gt;. If you meet errors related to DNS after starting FG, you may click the &amp;quot;Show more&amp;quot; button on the right and choose a DNS server.&lt;br /&gt;
&lt;br /&gt;
=== Inside FlightGear ===&lt;br /&gt;
In the FlightGear [[menu]], click &amp;lt;tt&amp;gt;File &amp;gt; Scenery Download&amp;lt;/tt&amp;gt; and then check the &amp;quot;Enable automatic scenery download&amp;quot; option. &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
By default, when enabled with &amp;lt;code&amp;gt;--enable-terrasync&amp;lt;/code&amp;gt;, TerraSync now downloads to &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt;/TerraSync, where &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt; is FlightGear's download directory.&lt;br /&gt;
&lt;br /&gt;
FlightGear's download directory may be explicitly set using FlightGear's &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; [[Command line options|command line option]], otherwise it defaults to:&lt;br /&gt;
*[[$FG_HOME]] on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads&amp;lt;/tt&amp;gt; on Windows (which may be located under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt;, however there are likely several possibilities depending on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
If you neither pass &amp;lt;code&amp;gt;--terrasync-dir&amp;lt;/code&amp;gt; nor &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; to FlightGear, then the '''default TerraSync directory''' is:&lt;br /&gt;
*&amp;lt;tt&amp;gt;[[$FG_HOME]]/TerraSync&amp;lt;/tt&amp;gt; on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads\TerraSync&amp;lt;/tt&amp;gt; on Windows (which is ''possibly'' under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt; but probably depends on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
==== POSIX compliant [[command line]] shell ====&lt;br /&gt;
&lt;br /&gt;
Start TerraSync:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% nice terrasync -p 5500 -S -d &amp;quot;$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The -S option tells terrasync to use the SVN protocol to fetch data. If you omit it terrasync will use the rsync program instead (which has to be installed on your system).&lt;br /&gt;
&lt;br /&gt;
Start FlightGear:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% fgfs --atlas=socket,out,1,localhost,5500,udp --fg-scenery=&amp;quot;[[$FG_ROOT]]/Scenery/:$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The full documentation and source for TerraSync is located in the FlightGear source distribution (in &amp;lt;code&amp;gt;utils/TerraSync/&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Network or DNS error ===&lt;br /&gt;
{{See also|DNS#TerraSync}}&lt;br /&gt;
&lt;br /&gt;
If network/DNS errors are encountered, you can click the &amp;quot;Show more&amp;quot; button on the right and select a DNS server. If this does not work, enter &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server= your server&amp;lt;/code&amp;gt; in the launcher under Settings &amp;gt; Additional Settings (e.g., &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://flightgear.sourceforge.net/scenery&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://terrasync.eti.pg.gda.pl/o2c/&amp;lt;/code&amp;gt;). Note that hardcoding the TerraSync server is inflexible. Remove it once the network returns to normal.&lt;br /&gt;
&lt;br /&gt;
There are the forum posts: [https://forum.flightgear.org/viewtopic.php?p=438783 Network errors occurred] and [https://forum.flightgear.org/viewtopic.php?f=17&amp;amp;t=44466 Terrasync issue]&lt;br /&gt;
&lt;br /&gt;
In addition, you can manually download .txz scenery files from terrasync.eti.pg.gda.pl ([https://terrasync.eti.pg.gda.pl/o2c/ osm2city], [https://terrasync.eti.pg.gda.pl/ws2/ ws2], and [https://terrasync.eti.pg.gda.pl/ws3/ ws3], organized by type) and unpack them into your &amp;lt;code&amp;gt;TerraSync&amp;lt;/code&amp;gt; folder correctly.&lt;br /&gt;
&lt;br /&gt;
=== Some scenery objects/buildings do not appear ===&lt;br /&gt;
If you've already enabled them in the [[Rendering Options]] dialog, click File &amp;gt; Scenery Download and check whether the status is ready.&lt;br /&gt;
&lt;br /&gt;
=== Locked airport directories ===&lt;br /&gt;
You get an error indicating locked airport directories while TerraSync is running.&lt;br /&gt;
&lt;br /&gt;
 Working copy '...\FlightGear\terrasync\Airports\K' locked&lt;br /&gt;
&lt;br /&gt;
While those directories often actually ''are'' updated, the error is annoying.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Search the TerraSync directory for files named &amp;lt;tt&amp;gt;lock&amp;lt;/tt&amp;gt; and delete them. They are supposed to be removed automatically when a TerraSync update is completed, but sometimes that fails.&lt;br /&gt;
&lt;br /&gt;
== Internals ==&lt;br /&gt;
The TerraSync client first queries NAPTR records for the [[DNS]] name terrasync.flightgear.org, then compares the local SHA1 hash with the remote file and downloads tiles from the server.&lt;br /&gt;
&lt;br /&gt;
The SHA1 hashes are what is stored in the &amp;lt;code&amp;gt;.dirindex&amp;lt;/code&amp;gt; files, both on the server and in the local tree. Time-stamps are not synchronised with the server copies because doing so complicates mirroring on the server side and makes it much less efficient. Hash clashes are not considered an issue (following the same assumption made by the Git developers). No custom or particular HTTP headers are relied upon. The &amp;lt;code&amp;gt;.dirindex&amp;lt;/code&amp;gt; files use a text-based structure, and they are generated on the server side by scripts written by Torsten.&lt;br /&gt;
&lt;br /&gt;
The code uses logic nearly identical to Git to avoid recalculating SHA hashes for the entire repository. If any of various &amp;lt;code&amp;gt;stat()&amp;lt;/code&amp;gt; fields change (most notably size or modification time), the hash for that file on disk is recomputed. Whenever a file's hash on disk differs from what the &amp;lt;code&amp;gt;.dirindex&amp;lt;/code&amp;gt; file specifies, the file is downloaded. This provides a complete description of the synchronisation model.&lt;br /&gt;
&lt;br /&gt;
Thus, it is safe to copy or modify files in the tree using any tool; doing so will change the &amp;lt;code&amp;gt;stat()&amp;lt;/code&amp;gt; data, causing the SHA hash to be recomputed. If the hash no longer matches the server-side copy, a re-download will be triggered.&lt;br /&gt;
&lt;br /&gt;
== terrasync.py ==&lt;br /&gt;
First of all, the script is now part of the {{fgmeta-python source | text = fgmeta-python}} repository&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://gitlab.com/flightgear/flightgear/-/merge_requests/340&lt;br /&gt;
  |title  =  FlightGear merge request 340&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 14th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/59260673/&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt;[Flightgear-devel] terrasync.py moved to fgmeta-python&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 17th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; (this was necessary to share .dirindex processing code with other infrastructure tools, in particular for producing the ''base package''). Installation instructions can be found below the list of files, or more directly in {{fgmeta-python source | path = README.md | text = README.md}}.&lt;br /&gt;
&lt;br /&gt;
The script can provide a complete mirror of the scenery data, also known as TerraSync scenery or just TerraScenery.&lt;br /&gt;
&lt;br /&gt;
{{Caution|If you fully run this script for the first time, it will download more than 90 GB of data and more than 1,800,000 files in 40,000 folders to your hard disk. It will run for hours, probably days (depending on your Internet connection). Since someone has to pay for the bandwidth, please don't let it download large amounts of data unless you have a good reason to do so (like, you maintain a public scenery mirror); otherwise, the service could be discontinued. That being said, if you just want to see the script in action, you can run it for a few seconds and stop it with {{key press|Ctrl|C}}.}}&lt;br /&gt;
&lt;br /&gt;
If you already have at least a partial set of scenery data from the FlightGear built-in TerraSync or even a full TerraScenery, existing and up-to-date files will be reused and won't be downloaded a second time. &lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
{{Note|The following is not completely up-to-date. In particular, current terrasync.py has a &amp;lt;code&amp;gt;check&amp;lt;/code&amp;gt; mode in addition to the default &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; mode. Run &amp;lt;code&amp;gt;terrasync.py --help&amp;lt;/code&amp;gt; for up-to-date usage information.}}&lt;br /&gt;
&lt;br /&gt;
The HTTP TerraScenery server holds all the well-know files required for scenery, organized in the also well-known directory structure (/Models, /Objects, /Terrain and /Airports) with all their subdirectories. The content of the /Models folder for example is here: http://flightgear.sourceforge.net/scenery/Models/ Each folder contains a (hidden) file called .dirindex (e.g. http://flightgear.sourceforge.net/scenery/Models/.dirindex) that describes the content of that folder by listing its files, subdirectories and checksums of the files and their subdirectories' .dirindex files. The terrasync.py script does the following (simplified): &lt;br /&gt;
* a) download the file at the root of the scenery-url (http://flightgear.sourceforge.net/scenery/.dirindex) &lt;br /&gt;
* b) walks into any subdirectory listed within the .dirindex &lt;br /&gt;
* c) compares the sha1sum of listed files with the local copy and downloads them on mismatch &lt;br /&gt;
* d) for listed subdirectories, calls recursively step b) &lt;br /&gt;
&lt;br /&gt;
Even if all scenery files exist on the server, there are initially still approx. 40,000 .dirindex files missing on your drive and downloading will take hours. To speed up the procedure once you have all .dirindex files locally, try running terrasync.py with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option. This will tell terrasync.py to compare the computed sha1sum of every .dirindex file on your disk with that published in the entry in the parent directory's .dirindex. If you have an up-to-date mirror, this will be ''very'' quick as only the root .dirindex needs to be downloaded. Subsequent updates with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option will also be very fast as only the updated files will be downloaded and also the .dirindex files of the parent folders up to the root directory. &lt;br /&gt;
&lt;br /&gt;
So far, we have just added files to your disk, what about files that have been removed on the server? The script usually does not touch them unless you add &amp;lt;code&amp;gt;--remove-orphan&amp;lt;/code&amp;gt; to the command-line. By doing so, you ask terrasync.py to remove all files (not directories) that exist in a subdirectory but are not listed in the corresponding .dirindex file. &lt;br /&gt;
&lt;br /&gt;
If you don't want to download everything into your current working directory, add &amp;lt;code&amp;gt;--target=/some/folder&amp;lt;/code&amp;gt; to your command line. This describes pretty much everything terrasync.py does. Here are some examples how to use it: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# fetch everything from the master repository server into /home/joe/fg/scenery, keep orphan files, (re-)download every .dirindex file &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery &lt;br /&gt;
&lt;br /&gt;
# just pull in changes, quick and lean for subsequent updates &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick &lt;br /&gt;
&lt;br /&gt;
# run a mirror, only keep those files listed on the server &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick --remove-orphan &lt;br /&gt;
&lt;br /&gt;
# use another server to pull the data, not the sourceforge master &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --url=http://someserver.org/otherscenery &lt;br /&gt;
&lt;br /&gt;
# restrict the area (must be integers, not decimals)&lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --top 50 --left 18 --bottom 49 --right 19&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Howto: Install scenery]]&lt;br /&gt;
* [[TerraMaster]]&lt;br /&gt;
* [[TerraGear]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery software]]&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
&lt;br /&gt;
[[de:TerraSync]]&lt;br /&gt;
[[es:TerraSync]]&lt;br /&gt;
[[fr:TerraSync]]&lt;br /&gt;
[[nl:Terrasync]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145644</id>
		<title>TerraSync</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145644"/>
		<updated>2026-07-03T21:33:17Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding-left:20px;&amp;quot;&amp;gt;''Not to be confused with [[TerraGear]], a toolset to generate scenery.''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''TerraSync''' is a utility that automatically downloads the newest version of the needed [[FlightGear]] scenery while the simulator is running. It runs in the background (optionally as a separate process), monitors your position, and downloads (or updates) the latest scenery from the main scenery server just in time.&lt;br /&gt;
TerraSync has been integrated into the core FlightGear process, so there is no need to deal with TerraSync for the typical user.&lt;br /&gt;
&lt;br /&gt;
The master repository for TerraSync, i.e. the online resource from which TerraSync downloads its files, is synchronized with the [http://scenemodels.flightgear.org/ FlightGear Scenery Database] once a day. So when using TerraSync, you will always have &lt;br /&gt;
# the latest [[File Formats#.2A.stg|.stg-files]], which tell FlightGear where to place an object &lt;br /&gt;
# the latest '''static''' models for objects. (Static models define unique objects that exist in one place only, such as famous buildings or landmarks.) &lt;br /&gt;
# the latest '''shared''' models for objects. (Generic models used more than once in different places, each can represent many different objects, like generic houses or ships)&lt;br /&gt;
&lt;br /&gt;
== Enabling TerraSync ==&lt;br /&gt;
&lt;br /&gt;
=== In the launcher ===&lt;br /&gt;
[[File:Terrasync option.png|400px|thumb|The scenery download options in the settings panel.]]&lt;br /&gt;
In the launcher, click &amp;lt;tt&amp;gt;Settings &amp;gt; Download scenery automatically&amp;lt;/tt&amp;gt;. If you meet errors related to DNS after starting FG, you may click the &amp;quot;Show more&amp;quot; button on the right and choose a DNS server.&lt;br /&gt;
&lt;br /&gt;
=== Inside FlightGear ===&lt;br /&gt;
In the FlightGear [[menu]], click &amp;lt;tt&amp;gt;File &amp;gt; Scenery Download&amp;lt;/tt&amp;gt; and then check the &amp;quot;Enable automatic scenery download&amp;quot; option. &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
By default, when enabled with &amp;lt;code&amp;gt;--enable-terrasync&amp;lt;/code&amp;gt;, TerraSync now downloads to &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt;/TerraSync, where &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt; is FlightGear's download directory.&lt;br /&gt;
&lt;br /&gt;
FlightGear's download directory may be explicitly set using FlightGear's &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; [[Command line options|command line option]], otherwise it defaults to:&lt;br /&gt;
*[[$FG_HOME]] on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads&amp;lt;/tt&amp;gt; on Windows (which may be located under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt;, however there are likely several possibilities depending on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
If you neither pass &amp;lt;code&amp;gt;--terrasync-dir&amp;lt;/code&amp;gt; nor &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; to FlightGear, then the '''default TerraSync directory''' is:&lt;br /&gt;
*&amp;lt;tt&amp;gt;[[$FG_HOME]]/TerraSync&amp;lt;/tt&amp;gt; on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads\TerraSync&amp;lt;/tt&amp;gt; on Windows (which is ''possibly'' under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt; but probably depends on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
==== POSIX compliant [[command line]] shell ====&lt;br /&gt;
&lt;br /&gt;
Start TerraSync:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% nice terrasync -p 5500 -S -d &amp;quot;$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The -S option tells terrasync to use the SVN protocol to fetch data. If you omit it terrasync will use the rsync program instead (which has to be installed on your system).&lt;br /&gt;
&lt;br /&gt;
Start FlightGear:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% fgfs --atlas=socket,out,1,localhost,5500,udp --fg-scenery=&amp;quot;[[$FG_ROOT]]/Scenery/:$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The full documentation and source for TerraSync is located in the FlightGear source distribution (in &amp;lt;code&amp;gt;utils/TerraSync/&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Network or DNS error ===&lt;br /&gt;
{{See also|DNS#TerraSync}}&lt;br /&gt;
&lt;br /&gt;
If network/DNS errors are encountered, you can click the &amp;quot;Show more&amp;quot; button on the right and select a DNS server. If this does not work, enter &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server= your server&amp;lt;/code&amp;gt; in the launcher under Settings &amp;gt; Additional Settings (e.g., &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://flightgear.sourceforge.net/scenery&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://terrasync.b-cdn.net/osm2city/&amp;lt;/code&amp;gt;). Note that hardcoding the TerraSync server is inflexible. Remove it once the network returns to normal.&lt;br /&gt;
&lt;br /&gt;
There is a forum post: [https://forum.flightgear.org/viewtopic.php?p=438783 Network errors occurred]&lt;br /&gt;
&lt;br /&gt;
In addition, you can manually download .txz scenery files from [https://terrasync.b-cdn.net/ terrasync.b-cdn.net] and unpack them into your &amp;lt;code&amp;gt;TerraSync&amp;lt;/code&amp;gt; folder correctly.&lt;br /&gt;
&lt;br /&gt;
=== Some scenery objects/buildings do not appear ===&lt;br /&gt;
If you've already enabled them in the [[Rendering Options]] dialog, click File &amp;gt; Scenery Download and check whether the status is ready.&lt;br /&gt;
&lt;br /&gt;
=== Locked airport directories ===&lt;br /&gt;
You get an error indicating locked airport directories while TerraSync is running.&lt;br /&gt;
&lt;br /&gt;
 Working copy '...\FlightGear\terrasync\Airports\K' locked&lt;br /&gt;
&lt;br /&gt;
While those directories often actually ''are'' updated, the error is annoying.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Search the TerraSync directory for files named &amp;lt;tt&amp;gt;lock&amp;lt;/tt&amp;gt; and delete them. They are supposed to be removed automatically when a TerraSync update is completed, but sometimes that fails.&lt;br /&gt;
&lt;br /&gt;
== Internals ==&lt;br /&gt;
The TerraSync client first queries NAPTR records for the [[DNS]] name terrasync.flightgear.org, then compares the local SHA1 hash with the remote file and downloads tiles from the server.&lt;br /&gt;
&lt;br /&gt;
The SHA1 hashes are what is stored in the &amp;lt;code&amp;gt;.dirindex&amp;lt;/code&amp;gt; files, both on the server and in the local tree. Time-stamps are not synchronised with the server copies because doing so complicates mirroring on the server side and makes it much less efficient. Hash clashes are not considered an issue (following the same assumption made by the Git developers). No custom or particular HTTP headers are relied upon. The &amp;lt;code&amp;gt;.dirindex&amp;lt;/code&amp;gt; files use a text-based structure, and they are generated on the server side by scripts written by Torsten.&lt;br /&gt;
&lt;br /&gt;
The code uses logic nearly identical to Git to avoid recalculating SHA hashes for the entire repository. If any of various &amp;lt;code&amp;gt;stat()&amp;lt;/code&amp;gt; fields change (most notably size or modification time), the hash for that file on disk is recomputed. Whenever a file's hash on disk differs from what the &amp;lt;code&amp;gt;.dirindex&amp;lt;/code&amp;gt; file specifies, the file is downloaded. This provides a complete description of the synchronisation model.&lt;br /&gt;
&lt;br /&gt;
Thus, it is safe to copy or modify files in the tree using any tool; doing so will change the &amp;lt;code&amp;gt;stat()&amp;lt;/code&amp;gt; data, causing the SHA hash to be recomputed. If the hash no longer matches the server-side copy, a re-download will be triggered.&lt;br /&gt;
&lt;br /&gt;
== terrasync.py ==&lt;br /&gt;
First of all, the script is now part of the {{fgmeta-python source | text = fgmeta-python}} repository&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://gitlab.com/flightgear/flightgear/-/merge_requests/340&lt;br /&gt;
  |title  =  FlightGear merge request 340&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 14th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/59260673/&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt;[Flightgear-devel] terrasync.py moved to fgmeta-python&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 17th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; (this was necessary to share .dirindex processing code with other infrastructure tools, in particular for producing the ''base package''). Installation instructions can be found below the list of files, or more directly in {{fgmeta-python source | path = README.md | text = README.md}}.&lt;br /&gt;
&lt;br /&gt;
The script can provide a complete mirror of the scenery data, also known as TerraSync scenery or just TerraScenery.&lt;br /&gt;
&lt;br /&gt;
{{Caution|If you fully run this script for the first time, it will download more than 90 GB of data and more than 1,800,000 files in 40,000 folders to your hard disk. It will run for hours, probably days (depending on your Internet connection). Since someone has to pay for the bandwidth, please don't let it download large amounts of data unless you have a good reason to do so (like, you maintain a public scenery mirror); otherwise, the service could be discontinued. That being said, if you just want to see the script in action, you can run it for a few seconds and stop it with {{key press|Ctrl|C}}.}}&lt;br /&gt;
&lt;br /&gt;
If you already have at least a partial set of scenery data from the FlightGear built-in TerraSync or even a full TerraScenery, existing and up-to-date files will be reused and won't be downloaded a second time. &lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
{{Note|The following is not completely up-to-date. In particular, current terrasync.py has a &amp;lt;code&amp;gt;check&amp;lt;/code&amp;gt; mode in addition to the default &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; mode. Run &amp;lt;code&amp;gt;terrasync.py --help&amp;lt;/code&amp;gt; for up-to-date usage information.}}&lt;br /&gt;
&lt;br /&gt;
The HTTP TerraScenery server holds all the well-know files required for scenery, organized in the also well-known directory structure (/Models, /Objects, /Terrain and /Airports) with all their subdirectories. The content of the /Models folder for example is here: http://flightgear.sourceforge.net/scenery/Models/ Each folder contains a (hidden) file called .dirindex (e.g. http://flightgear.sourceforge.net/scenery/Models/.dirindex) that describes the content of that folder by listing its files, subdirectories and checksums of the files and their subdirectories' .dirindex files. The terrasync.py script does the following (simplified): &lt;br /&gt;
* a) download the file at the root of the scenery-url (http://flightgear.sourceforge.net/scenery/.dirindex) &lt;br /&gt;
* b) walks into any subdirectory listed within the .dirindex &lt;br /&gt;
* c) compares the sha1sum of listed files with the local copy and downloads them on mismatch &lt;br /&gt;
* d) for listed subdirectories, calls recursively step b) &lt;br /&gt;
&lt;br /&gt;
Even if all scenery files exist on the server, there are initially still approx. 40,000 .dirindex files missing on your drive and downloading will take hours. To speed up the procedure once you have all .dirindex files locally, try running terrasync.py with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option. This will tell terrasync.py to compare the computed sha1sum of every .dirindex file on your disk with that published in the entry in the parent directory's .dirindex. If you have an up-to-date mirror, this will be ''very'' quick as only the root .dirindex needs to be downloaded. Subsequent updates with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option will also be very fast as only the updated files will be downloaded and also the .dirindex files of the parent folders up to the root directory. &lt;br /&gt;
&lt;br /&gt;
So far, we have just added files to your disk, what about files that have been removed on the server? The script usually does not touch them unless you add &amp;lt;code&amp;gt;--remove-orphan&amp;lt;/code&amp;gt; to the command-line. By doing so, you ask terrasync.py to remove all files (not directories) that exist in a subdirectory but are not listed in the corresponding .dirindex file. &lt;br /&gt;
&lt;br /&gt;
If you don't want to download everything into your current working directory, add &amp;lt;code&amp;gt;--target=/some/folder&amp;lt;/code&amp;gt; to your command line. This describes pretty much everything terrasync.py does. Here are some examples how to use it: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# fetch everything from the master repository server into /home/joe/fg/scenery, keep orphan files, (re-)download every .dirindex file &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery &lt;br /&gt;
&lt;br /&gt;
# just pull in changes, quick and lean for subsequent updates &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick &lt;br /&gt;
&lt;br /&gt;
# run a mirror, only keep those files listed on the server &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick --remove-orphan &lt;br /&gt;
&lt;br /&gt;
# use another server to pull the data, not the sourceforge master &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --url=http://someserver.org/otherscenery &lt;br /&gt;
&lt;br /&gt;
# restrict the area (must be integers, not decimals)&lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --top 50 --left 18 --bottom 49 --right 19&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Howto: Install scenery]]&lt;br /&gt;
* [[TerraMaster]]&lt;br /&gt;
* [[TerraGear]]&lt;br /&gt;
&lt;br /&gt;
== Footnotes ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery software]]&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
&lt;br /&gt;
[[de:TerraSync]]&lt;br /&gt;
[[es:TerraSync]]&lt;br /&gt;
[[fr:TerraSync]]&lt;br /&gt;
[[nl:Terrasync]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=DNS&amp;diff=145643</id>
		<title>DNS</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=DNS&amp;diff=145643"/>
		<updated>2026-07-03T21:30:52Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{wikipedia|Domain Name System}} (DNS) is being used within FlightGear to look up resources providing several services. Its use started with version 2016.2 to resolve the location of the [[TerraSync]] servers. This page documents the used services in detail.&lt;br /&gt;
&lt;br /&gt;
== FlightGear systems using DNS ==&lt;br /&gt;
These systems in FlightGear use DNS for service discovery:&lt;br /&gt;
* The TerraSync client to find a TerraSync server&lt;br /&gt;
* The [[Multiplayer|multiplayer]] client to list [[Howto:Set up a multiplayer server|multiplayer servers]] and retrieve information about each server&lt;br /&gt;
&lt;br /&gt;
=== TerraSync ===&lt;br /&gt;
The [[TerraSync]] client queries {{Wikipedia|NAPTR record|NAPTR records}} for the DNS name &amp;lt;code&amp;gt;terrasync.flightgear.org&amp;lt;/code&amp;gt;. From the command line &amp;lt;code&amp;gt;dig terrasync.flightgear.org ANY&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As of version 2024.1, the configured entries are:&lt;br /&gt;
* https://terrasync.eti.pg.gda.pl/ts&lt;br /&gt;
* https://terrasync.b-cdn.net/osm2city/&lt;br /&gt;
* https://terrasync.eti.pg.gda.pl/o2c&lt;br /&gt;
* http://mirrors.ibiblio.org/flightgear/ftp/&lt;br /&gt;
* https://download.flightgear.org/&lt;br /&gt;
* https://us1mirror.flightgear.org/terrasync/ws2/&lt;br /&gt;
&lt;br /&gt;
(There are also scenery servers not listed above, e.g., https://flightgear.sourceforge.net/scenery/.)&lt;br /&gt;
&lt;br /&gt;
At start, FlightGear sends a query for the DNS name &amp;lt;code&amp;gt;terrasync.flightgear.org&amp;lt;/code&amp;gt;. The URL for scenery download is encoded in the regex field between the last two exclamation marks. This string MUST start with &amp;lt;code&amp;gt;!^.*$!&amp;lt;/code&amp;gt; and must end with &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;, the regex itself is not interpreted by the TerraSync client, only the fixed string is taken.&lt;br /&gt;
The DNS to query is currently not configurable at system start by setting a property. The version number can be changed by setting property /sim/terrasync/scenery-version to a value other than the default &amp;quot;ws20&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Algorithm to pick a Server ====&lt;br /&gt;
* At startup, if TerraSync is enabled and if the property /sim/terrasync/http-server is set to &amp;quot;automatic&amp;quot; (the default), a DNS query for terrasync.flightgear.org is sent and the response filtered for entries with the flag field set to &amp;quot;U&amp;quot;. &lt;br /&gt;
* All entries that have a &amp;quot;order&amp;quot; value higher than the lowest order are discarded. (the terrasync.b-cdn.net entry as of version 2024.1)&lt;br /&gt;
* The remaining entries are filtered for those with the lowest preference. (both other entries survive this filter)&lt;br /&gt;
* a random entry from the remaining list is picked for the entire session of FlightGear.&lt;br /&gt;
This is implemented in &amp;lt;code&amp;gt;SGTerraSync::WorkerThread::run()&amp;lt;/code&amp;gt; {{simgear source|simgear/scene/tsync/terrasync.cxx|l=441|t=here}}.&lt;br /&gt;
&lt;br /&gt;
The property /sim/terrasync/http-server can be set to user defined URL pointing to the location of a custom TerraSync server e.g. &amp;lt;code&amp;gt;http://myterrasync.org/custom-scenery&amp;lt;/code&amp;gt;.&lt;br /&gt;
This will disable the above algorithm.&lt;br /&gt;
&lt;br /&gt;
=== Multiplayer ===&lt;br /&gt;
The multiplayer client queries {{Wikipedia|SRV record|SRV records}} for a list of multiplayer servers and {{Wikipedia|TXT record|TXT records}} on each server for detailed information about the server.&lt;br /&gt;
&lt;br /&gt;
The SRV record for a multiplayer server looks like this:&lt;br /&gt;
 _fgms._udp IN SRV 10 20 5001 mpserver01&lt;br /&gt;
All entries currently use the same values for priority and weight. The port numbers for active servers are set to the port number of the running fgms instance (usually 5001). The port number is 0 (zero) for inactive servers.&lt;br /&gt;
&lt;br /&gt;
The TXT record for each referenced multiplayer server looks like this if you enter &amp;lt;code&amp;gt;dig mpserver01.flightgear.org TXT&amp;lt;/code&amp;gt;:&lt;br /&gt;
 mpserver01 IN TXT &amp;quot;flightgear-mpserver=eyJuYW1lIjoibXBzZXJ2ZXIwMSIsImxvY2F0aW9uIjoiRnJhbmtmdXJ0LEdlcm1hbnkifQo=&amp;quot;&lt;br /&gt;
with the text data used as in [https://tools.ietf.org/html/rfc1464 RFC 1464 - Using the Domain Name System To Store Arbitrary String Attributes]. The attribute name flightgear-mpserver marks this entry as &amp;quot;ours&amp;quot; while it's attribute value is a base64 encoded json string containing additional attributes for the server not available within the SRV record.&lt;br /&gt;
For the given example, the base64 string of &lt;br /&gt;
 eyJuYW1lIjoibXBzZXJ2ZXIwMSIsImxvY2F0aW9uIjoiRnJhbmtmdXJ0LEdlcm1hbnkifQo= &lt;br /&gt;
decodes to&lt;br /&gt;
 {&amp;quot;name&amp;quot;:&amp;quot;mpserver01&amp;quot;,&amp;quot;location&amp;quot;:&amp;quot;Frankfurt,Germany&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
[[Category:Core development projects]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145642</id>
		<title>TerraSync</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145642"/>
		<updated>2026-07-03T21:29:38Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Internals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding-left:20px;&amp;quot;&amp;gt;''Not to be confused with [[TerraGear]], a toolset to generate scenery.''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have a steady and reasonably fast internet connection, you can use the built-in '''TerraSync''' instead of manually [[Howto: Install scenery|installing sceneries]]. TerraSync is a utility that automatically downloads the newest version of the needed [[FlightGear]] scenery while the simulator is running. It runs in the background (optionally as a separate process), monitors your position, and downloads (or updates) the latest scenery from the master scenery server &amp;quot;just in time&amp;quot;.&lt;br /&gt;
For some time now TerraSync has been integrated into the core FlightGear process, so there is no need to deal with TerraSync for the typical user.&lt;br /&gt;
&lt;br /&gt;
The master repository for TerraSync, i.e. the online resource from which TerraSync downloads its files, is synchronized with the [http://scenemodels.flightgear.org/ FlightGear Scenery Database] once a day. So when using TerraSync, you will always have &lt;br /&gt;
# the latest [[File Formats#.2A.stg|.stg-files]], which tell FlightGear where to place an object &lt;br /&gt;
# the latest '''static''' models for objects. (Static models define unique objects that exist in one place only, such as famous buildings or landmarks.) &lt;br /&gt;
# the latest '''shared''' models for objects. (Generic models used more than once in different places, each can represent many different objects, like generic houses or ships)&lt;br /&gt;
&lt;br /&gt;
== Enabling TerraSync ==&lt;br /&gt;
&lt;br /&gt;
=== In the launcher ===&lt;br /&gt;
[[File:Terrasync option.png|400px|thumb|The scenery download options in the settings panel.]]&lt;br /&gt;
In the launcher, click &amp;lt;tt&amp;gt;Settings &amp;gt; Download scenery automatically&amp;lt;/tt&amp;gt;. If you meet errors related to DNS after starting FG, you may click the &amp;quot;Show more&amp;quot; button on the right and choose a DNS server.&lt;br /&gt;
&lt;br /&gt;
=== Inside FlightGear ===&lt;br /&gt;
In the FlightGear [[menu]], click &amp;lt;tt&amp;gt;File &amp;gt; Scenery Download&amp;lt;/tt&amp;gt; and then check the &amp;quot;Enable automatic scenery download&amp;quot; option. &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
By default, when enabled with &amp;lt;code&amp;gt;--enable-terrasync&amp;lt;/code&amp;gt;, TerraSync now downloads to &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt;/TerraSync, where &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt; is FlightGear's download directory.&lt;br /&gt;
&lt;br /&gt;
FlightGear's download directory may be explicitly set using FlightGear's &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; [[Command line options|command line option]], otherwise it defaults to:&lt;br /&gt;
*[[$FG_HOME]] on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads&amp;lt;/tt&amp;gt; on Windows (which may be located under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt;, however there are likely several possibilities depending on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
If you neither pass &amp;lt;code&amp;gt;--terrasync-dir&amp;lt;/code&amp;gt; nor &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; to FlightGear, then the '''default TerraSync directory''' is:&lt;br /&gt;
*&amp;lt;tt&amp;gt;[[$FG_HOME]]/TerraSync&amp;lt;/tt&amp;gt; on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads\TerraSync&amp;lt;/tt&amp;gt; on Windows (which is ''possibly'' under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt; but probably depends on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
==== POSIX compliant [[command line]] shell ====&lt;br /&gt;
&lt;br /&gt;
Start TerraSync:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% nice terrasync -p 5500 -S -d &amp;quot;$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The -S option tells terrasync to use the SVN protocol to fetch data. If you omit it terrasync will use the rsync program instead (which has to be installed on your system).&lt;br /&gt;
&lt;br /&gt;
Start FlightGear:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% fgfs --atlas=socket,out,1,localhost,5500,udp --fg-scenery=&amp;quot;[[$FG_ROOT]]/Scenery/:$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The full documentation and source for TerraSync is located in the FlightGear source distribution (in &amp;lt;code&amp;gt;utils/TerraSync/&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Network or DNS error ===&lt;br /&gt;
{{See also|DNS#TerraSync}}&lt;br /&gt;
&lt;br /&gt;
If network/DNS errors are encountered, you can click the &amp;quot;Show more&amp;quot; button on the right and select a DNS server. If this does not work, enter &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server= your server&amp;lt;/code&amp;gt; in the launcher under Settings &amp;gt; Additional Settings (e.g., &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://flightgear.sourceforge.net/scenery&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://terrasync.b-cdn.net/osm2city/&amp;lt;/code&amp;gt;). Note that hardcoding the TerraSync server is inflexible. Remove it once the network returns to normal.&lt;br /&gt;
&lt;br /&gt;
There is a forum post: [https://forum.flightgear.org/viewtopic.php?p=438783 Network errors occurred]&lt;br /&gt;
&lt;br /&gt;
In addition, you can manually download .txz scenery files from [https://terrasync.b-cdn.net/ terrasync.b-cdn.net] and unpack them into your &amp;lt;code&amp;gt;TerraSync&amp;lt;/code&amp;gt; folder correctly.&lt;br /&gt;
&lt;br /&gt;
=== Some scenery objects/buildings do not appear ===&lt;br /&gt;
If you've already enabled them in the [[Rendering Options]] dialog, click File &amp;gt; Scenery Download and check whether the status is ready.&lt;br /&gt;
&lt;br /&gt;
=== Locked airport directories ===&lt;br /&gt;
You get an error indicating locked airport directories while TerraSync is running.&lt;br /&gt;
&lt;br /&gt;
 Working copy '...\FlightGear\terrasync\Airports\K' locked&lt;br /&gt;
&lt;br /&gt;
While those directories often actually ''are'' updated, the error is annoying.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Search the TerraSync directory for files named &amp;lt;tt&amp;gt;lock&amp;lt;/tt&amp;gt; and delete them. They are supposed to be removed automatically when a TerraSync update is completed, but sometimes that fails.&lt;br /&gt;
&lt;br /&gt;
== Internals ==&lt;br /&gt;
The TerraSync client first queries NAPTR records for the [[DNS]] name terrasync.flightgear.org, then compares the local SHA1 hash with the remote file and downloads tiles from the server.&lt;br /&gt;
&lt;br /&gt;
The SHA1 hashes are what is stored in the &amp;lt;code&amp;gt;.dirindex&amp;lt;/code&amp;gt; files, both on the server and in the local tree. Time-stamps are not synchronised with the server copies because doing so complicates mirroring on the server side and makes it much less efficient. Hash clashes are not considered an issue (following the same assumption made by the Git developers). No custom or particular HTTP headers are relied upon. The &amp;lt;code&amp;gt;.dirindex&amp;lt;/code&amp;gt; files use a text-based structure, and they are generated on the server side by scripts written by Torsten.&lt;br /&gt;
&lt;br /&gt;
The code uses logic nearly identical to Git to avoid recalculating SHA hashes for the entire repository. If any of various &amp;lt;code&amp;gt;stat()&amp;lt;/code&amp;gt; fields change (most notably size or modification time), the hash for that file on disk is recomputed. Whenever a file's hash on disk differs from what the &amp;lt;code&amp;gt;.dirindex&amp;lt;/code&amp;gt; file specifies, the file is downloaded. This provides a complete description of the synchronisation model.&lt;br /&gt;
&lt;br /&gt;
Thus, it is safe to copy or modify files in the tree using any tool; doing so will change the &amp;lt;code&amp;gt;stat()&amp;lt;/code&amp;gt; data, causing the SHA hash to be recomputed. If the hash no longer matches the server-side copy, a re-download will be triggered.&lt;br /&gt;
&lt;br /&gt;
== terrasync.py ==&lt;br /&gt;
First of all, the script is now part of the {{fgmeta-python source | text = fgmeta-python}} repository&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://gitlab.com/flightgear/flightgear/-/merge_requests/340&lt;br /&gt;
  |title  =  FlightGear merge request 340&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 14th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/59260673/&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt;[Flightgear-devel] terrasync.py moved to fgmeta-python&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 17th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; (this was necessary to share .dirindex processing code with other infrastructure tools, in particular for producing the ''base package''). Installation instructions can be found below the list of files, or more directly in {{fgmeta-python source | path = README.md | text = README.md}}.&lt;br /&gt;
&lt;br /&gt;
The script can provide a complete mirror of the scenery data, also known as TerraSync scenery or just TerraScenery.&lt;br /&gt;
&lt;br /&gt;
{{Caution|If you fully run this script for the first time, it will download more than 90 GB of data and more than 1,800,000 files in 40,000 folders to your hard disk. It will run for hours, probably days (depending on your Internet connection). Since someone has to pay for the bandwidth, please don't let it download large amounts of data unless you have a good reason to do so (like, you maintain a public scenery mirror); otherwise, the service could be discontinued. That being said, if you just want to see the script in action, you can run it for a few seconds and stop it with {{key press|Ctrl|C}}.}}&lt;br /&gt;
&lt;br /&gt;
If you already have at least a partial set of scenery data from the FlightGear built-in TerraSync or even a full TerraScenery, existing and up-to-date files will be reused and won't be downloaded a second time. &lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
{{Note|The following is not completely up-to-date. In particular, current terrasync.py has a &amp;lt;code&amp;gt;check&amp;lt;/code&amp;gt; mode in addition to the default &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; mode. Run &amp;lt;code&amp;gt;terrasync.py --help&amp;lt;/code&amp;gt; for up-to-date usage information.}}&lt;br /&gt;
&lt;br /&gt;
The HTTP TerraScenery server holds all the well-know files required for scenery, organized in the also well-known directory structure (/Models, /Objects, /Terrain and /Airports) with all their subdirectories. The content of the /Models folder for example is here: http://flightgear.sourceforge.net/scenery/Models/ Each folder contains a (hidden) file called .dirindex (e.g. http://flightgear.sourceforge.net/scenery/Models/.dirindex) that describes the content of that folder by listing its files, subdirectories and checksums of the files and their subdirectories' .dirindex files. The terrasync.py script does the following (simplified): &lt;br /&gt;
* a) download the file at the root of the scenery-url (http://flightgear.sourceforge.net/scenery/.dirindex) &lt;br /&gt;
* b) walks into any subdirectory listed within the .dirindex &lt;br /&gt;
* c) compares the sha1sum of listed files with the local copy and downloads them on mismatch &lt;br /&gt;
* d) for listed subdirectories, calls recursively step b) &lt;br /&gt;
&lt;br /&gt;
Even if all scenery files exist on the server, there are initially still approx. 40,000 .dirindex files missing on your drive and downloading will take hours. To speed up the procedure once you have all .dirindex files locally, try running terrasync.py with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option. This will tell terrasync.py to compare the computed sha1sum of every .dirindex file on your disk with that published in the entry in the parent directory's .dirindex. If you have an up-to-date mirror, this will be ''very'' quick as only the root .dirindex needs to be downloaded. Subsequent updates with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option will also be very fast as only the updated files will be downloaded and also the .dirindex files of the parent folders up to the root directory. &lt;br /&gt;
&lt;br /&gt;
So far, we have just added files to your disk, what about files that have been removed on the server? The script usually does not touch them unless you add &amp;lt;code&amp;gt;--remove-orphan&amp;lt;/code&amp;gt; to the command-line. By doing so, you ask terrasync.py to remove all files (not directories) that exist in a subdirectory but are not listed in the corresponding .dirindex file. &lt;br /&gt;
&lt;br /&gt;
If you don't want to download everything into your current working directory, add &amp;lt;code&amp;gt;--target=/some/folder&amp;lt;/code&amp;gt; to your command line. This describes pretty much everything terrasync.py does. Here are some examples how to use it: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# fetch everything from the master repository server into /home/joe/fg/scenery, keep orphan files, (re-)download every .dirindex file &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery &lt;br /&gt;
&lt;br /&gt;
# just pull in changes, quick and lean for subsequent updates &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick &lt;br /&gt;
&lt;br /&gt;
# run a mirror, only keep those files listed on the server &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick --remove-orphan &lt;br /&gt;
&lt;br /&gt;
# use another server to pull the data, not the sourceforge master &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --url=http://someserver.org/otherscenery &lt;br /&gt;
&lt;br /&gt;
# restrict the area (must be integers, not decimals)&lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --top 50 --left 18 --bottom 49 --right 19&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Howto: Install scenery]]&lt;br /&gt;
* [[TerraMaster]]&lt;br /&gt;
* [[TerraGear]]&lt;br /&gt;
&lt;br /&gt;
== Footnotes ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery software]]&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
&lt;br /&gt;
[[de:TerraSync]]&lt;br /&gt;
[[es:TerraSync]]&lt;br /&gt;
[[fr:TerraSync]]&lt;br /&gt;
[[nl:Terrasync]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145641</id>
		<title>TerraSync</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145641"/>
		<updated>2026-07-03T21:29:21Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Internals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding-left:20px;&amp;quot;&amp;gt;''Not to be confused with [[TerraGear]], a toolset to generate scenery.''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have a steady and reasonably fast internet connection, you can use the built-in '''TerraSync''' instead of manually [[Howto: Install scenery|installing sceneries]]. TerraSync is a utility that automatically downloads the newest version of the needed [[FlightGear]] scenery while the simulator is running. It runs in the background (optionally as a separate process), monitors your position, and downloads (or updates) the latest scenery from the master scenery server &amp;quot;just in time&amp;quot;.&lt;br /&gt;
For some time now TerraSync has been integrated into the core FlightGear process, so there is no need to deal with TerraSync for the typical user.&lt;br /&gt;
&lt;br /&gt;
The master repository for TerraSync, i.e. the online resource from which TerraSync downloads its files, is synchronized with the [http://scenemodels.flightgear.org/ FlightGear Scenery Database] once a day. So when using TerraSync, you will always have &lt;br /&gt;
# the latest [[File Formats#.2A.stg|.stg-files]], which tell FlightGear where to place an object &lt;br /&gt;
# the latest '''static''' models for objects. (Static models define unique objects that exist in one place only, such as famous buildings or landmarks.) &lt;br /&gt;
# the latest '''shared''' models for objects. (Generic models used more than once in different places, each can represent many different objects, like generic houses or ships)&lt;br /&gt;
&lt;br /&gt;
== Enabling TerraSync ==&lt;br /&gt;
&lt;br /&gt;
=== In the launcher ===&lt;br /&gt;
[[File:Terrasync option.png|400px|thumb|The scenery download options in the settings panel.]]&lt;br /&gt;
In the launcher, click &amp;lt;tt&amp;gt;Settings &amp;gt; Download scenery automatically&amp;lt;/tt&amp;gt;. If you meet errors related to DNS after starting FG, you may click the &amp;quot;Show more&amp;quot; button on the right and choose a DNS server.&lt;br /&gt;
&lt;br /&gt;
=== Inside FlightGear ===&lt;br /&gt;
In the FlightGear [[menu]], click &amp;lt;tt&amp;gt;File &amp;gt; Scenery Download&amp;lt;/tt&amp;gt; and then check the &amp;quot;Enable automatic scenery download&amp;quot; option. &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
By default, when enabled with &amp;lt;code&amp;gt;--enable-terrasync&amp;lt;/code&amp;gt;, TerraSync now downloads to &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt;/TerraSync, where &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt; is FlightGear's download directory.&lt;br /&gt;
&lt;br /&gt;
FlightGear's download directory may be explicitly set using FlightGear's &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; [[Command line options|command line option]], otherwise it defaults to:&lt;br /&gt;
*[[$FG_HOME]] on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads&amp;lt;/tt&amp;gt; on Windows (which may be located under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt;, however there are likely several possibilities depending on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
If you neither pass &amp;lt;code&amp;gt;--terrasync-dir&amp;lt;/code&amp;gt; nor &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; to FlightGear, then the '''default TerraSync directory''' is:&lt;br /&gt;
*&amp;lt;tt&amp;gt;[[$FG_HOME]]/TerraSync&amp;lt;/tt&amp;gt; on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads\TerraSync&amp;lt;/tt&amp;gt; on Windows (which is ''possibly'' under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt; but probably depends on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
==== POSIX compliant [[command line]] shell ====&lt;br /&gt;
&lt;br /&gt;
Start TerraSync:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% nice terrasync -p 5500 -S -d &amp;quot;$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The -S option tells terrasync to use the SVN protocol to fetch data. If you omit it terrasync will use the rsync program instead (which has to be installed on your system).&lt;br /&gt;
&lt;br /&gt;
Start FlightGear:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% fgfs --atlas=socket,out,1,localhost,5500,udp --fg-scenery=&amp;quot;[[$FG_ROOT]]/Scenery/:$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The full documentation and source for TerraSync is located in the FlightGear source distribution (in &amp;lt;code&amp;gt;utils/TerraSync/&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Network or DNS error ===&lt;br /&gt;
{{See also|DNS#TerraSync}}&lt;br /&gt;
&lt;br /&gt;
If network/DNS errors are encountered, you can click the &amp;quot;Show more&amp;quot; button on the right and select a DNS server. If this does not work, enter &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server= your server&amp;lt;/code&amp;gt; in the launcher under Settings &amp;gt; Additional Settings (e.g., &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://flightgear.sourceforge.net/scenery&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://terrasync.b-cdn.net/osm2city/&amp;lt;/code&amp;gt;). Note that hardcoding the TerraSync server is inflexible. Remove it once the network returns to normal.&lt;br /&gt;
&lt;br /&gt;
There is a forum post: [https://forum.flightgear.org/viewtopic.php?p=438783 Network errors occurred]&lt;br /&gt;
&lt;br /&gt;
In addition, you can manually download .txz scenery files from [https://terrasync.b-cdn.net/ terrasync.b-cdn.net] and unpack them into your &amp;lt;code&amp;gt;TerraSync&amp;lt;/code&amp;gt; folder correctly.&lt;br /&gt;
&lt;br /&gt;
=== Some scenery objects/buildings do not appear ===&lt;br /&gt;
If you've already enabled them in the [[Rendering Options]] dialog, click File &amp;gt; Scenery Download and check whether the status is ready.&lt;br /&gt;
&lt;br /&gt;
=== Locked airport directories ===&lt;br /&gt;
You get an error indicating locked airport directories while TerraSync is running.&lt;br /&gt;
&lt;br /&gt;
 Working copy '...\FlightGear\terrasync\Airports\K' locked&lt;br /&gt;
&lt;br /&gt;
While those directories often actually ''are'' updated, the error is annoying.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Search the TerraSync directory for files named &amp;lt;tt&amp;gt;lock&amp;lt;/tt&amp;gt; and delete them. They are supposed to be removed automatically when a TerraSync update is completed, but sometimes that fails.&lt;br /&gt;
&lt;br /&gt;
== Internals ==&lt;br /&gt;
The TerraSync client first queries NAPTR records for the DNS name terrasync.flightgear.org, then compares the local SHA1 hash with the remote file and downloads tiles from the server.&lt;br /&gt;
&lt;br /&gt;
The SHA1 hashes are what is stored in the &amp;lt;code&amp;gt;.dirindex&amp;lt;/code&amp;gt; files, both on the server and in the local tree. Time-stamps are not synchronised with the server copies because doing so complicates mirroring on the server side and makes it much less efficient. Hash clashes are not considered an issue (following the same assumption made by the Git developers). No custom or particular HTTP headers are relied upon. The &amp;lt;code&amp;gt;.dirindex&amp;lt;/code&amp;gt; files use a text-based structure, and they are generated on the server side by scripts written by Torsten.&lt;br /&gt;
&lt;br /&gt;
The code uses logic nearly identical to Git to avoid recalculating SHA hashes for the entire repository. If any of various &amp;lt;code&amp;gt;stat()&amp;lt;/code&amp;gt; fields change (most notably size or modification time), the hash for that file on disk is recomputed. Whenever a file's hash on disk differs from what the &amp;lt;code&amp;gt;.dirindex&amp;lt;/code&amp;gt; file specifies, the file is downloaded. This provides a complete description of the synchronisation model.&lt;br /&gt;
&lt;br /&gt;
Thus, it is safe to copy or modify files in the tree using any tool; doing so will change the &amp;lt;code&amp;gt;stat()&amp;lt;/code&amp;gt; data, causing the SHA hash to be recomputed. If the hash no longer matches the server-side copy, a re-download will be triggered.&lt;br /&gt;
&lt;br /&gt;
== terrasync.py ==&lt;br /&gt;
First of all, the script is now part of the {{fgmeta-python source | text = fgmeta-python}} repository&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://gitlab.com/flightgear/flightgear/-/merge_requests/340&lt;br /&gt;
  |title  =  FlightGear merge request 340&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 14th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/59260673/&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt;[Flightgear-devel] terrasync.py moved to fgmeta-python&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 17th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; (this was necessary to share .dirindex processing code with other infrastructure tools, in particular for producing the ''base package''). Installation instructions can be found below the list of files, or more directly in {{fgmeta-python source | path = README.md | text = README.md}}.&lt;br /&gt;
&lt;br /&gt;
The script can provide a complete mirror of the scenery data, also known as TerraSync scenery or just TerraScenery.&lt;br /&gt;
&lt;br /&gt;
{{Caution|If you fully run this script for the first time, it will download more than 90 GB of data and more than 1,800,000 files in 40,000 folders to your hard disk. It will run for hours, probably days (depending on your Internet connection). Since someone has to pay for the bandwidth, please don't let it download large amounts of data unless you have a good reason to do so (like, you maintain a public scenery mirror); otherwise, the service could be discontinued. That being said, if you just want to see the script in action, you can run it for a few seconds and stop it with {{key press|Ctrl|C}}.}}&lt;br /&gt;
&lt;br /&gt;
If you already have at least a partial set of scenery data from the FlightGear built-in TerraSync or even a full TerraScenery, existing and up-to-date files will be reused and won't be downloaded a second time. &lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
{{Note|The following is not completely up-to-date. In particular, current terrasync.py has a &amp;lt;code&amp;gt;check&amp;lt;/code&amp;gt; mode in addition to the default &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; mode. Run &amp;lt;code&amp;gt;terrasync.py --help&amp;lt;/code&amp;gt; for up-to-date usage information.}}&lt;br /&gt;
&lt;br /&gt;
The HTTP TerraScenery server holds all the well-know files required for scenery, organized in the also well-known directory structure (/Models, /Objects, /Terrain and /Airports) with all their subdirectories. The content of the /Models folder for example is here: http://flightgear.sourceforge.net/scenery/Models/ Each folder contains a (hidden) file called .dirindex (e.g. http://flightgear.sourceforge.net/scenery/Models/.dirindex) that describes the content of that folder by listing its files, subdirectories and checksums of the files and their subdirectories' .dirindex files. The terrasync.py script does the following (simplified): &lt;br /&gt;
* a) download the file at the root of the scenery-url (http://flightgear.sourceforge.net/scenery/.dirindex) &lt;br /&gt;
* b) walks into any subdirectory listed within the .dirindex &lt;br /&gt;
* c) compares the sha1sum of listed files with the local copy and downloads them on mismatch &lt;br /&gt;
* d) for listed subdirectories, calls recursively step b) &lt;br /&gt;
&lt;br /&gt;
Even if all scenery files exist on the server, there are initially still approx. 40,000 .dirindex files missing on your drive and downloading will take hours. To speed up the procedure once you have all .dirindex files locally, try running terrasync.py with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option. This will tell terrasync.py to compare the computed sha1sum of every .dirindex file on your disk with that published in the entry in the parent directory's .dirindex. If you have an up-to-date mirror, this will be ''very'' quick as only the root .dirindex needs to be downloaded. Subsequent updates with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option will also be very fast as only the updated files will be downloaded and also the .dirindex files of the parent folders up to the root directory. &lt;br /&gt;
&lt;br /&gt;
So far, we have just added files to your disk, what about files that have been removed on the server? The script usually does not touch them unless you add &amp;lt;code&amp;gt;--remove-orphan&amp;lt;/code&amp;gt; to the command-line. By doing so, you ask terrasync.py to remove all files (not directories) that exist in a subdirectory but are not listed in the corresponding .dirindex file. &lt;br /&gt;
&lt;br /&gt;
If you don't want to download everything into your current working directory, add &amp;lt;code&amp;gt;--target=/some/folder&amp;lt;/code&amp;gt; to your command line. This describes pretty much everything terrasync.py does. Here are some examples how to use it: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# fetch everything from the master repository server into /home/joe/fg/scenery, keep orphan files, (re-)download every .dirindex file &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery &lt;br /&gt;
&lt;br /&gt;
# just pull in changes, quick and lean for subsequent updates &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick &lt;br /&gt;
&lt;br /&gt;
# run a mirror, only keep those files listed on the server &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick --remove-orphan &lt;br /&gt;
&lt;br /&gt;
# use another server to pull the data, not the sourceforge master &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --url=http://someserver.org/otherscenery &lt;br /&gt;
&lt;br /&gt;
# restrict the area (must be integers, not decimals)&lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --top 50 --left 18 --bottom 49 --right 19&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Howto: Install scenery]]&lt;br /&gt;
* [[TerraMaster]]&lt;br /&gt;
* [[TerraGear]]&lt;br /&gt;
&lt;br /&gt;
== Footnotes ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery software]]&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
&lt;br /&gt;
[[de:TerraSync]]&lt;br /&gt;
[[es:TerraSync]]&lt;br /&gt;
[[fr:TerraSync]]&lt;br /&gt;
[[nl:Terrasync]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Install_scenery&amp;diff=145640</id>
		<title>Howto:Install scenery</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Install_scenery&amp;diff=145640"/>
		<updated>2026-07-03T21:16:51Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Scenery types */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{installing}}&lt;br /&gt;
 &lt;br /&gt;
A default installation of [[FlightGear]] comes with a limited set of [[scenery]] to keep initial download sizes small. It includes the region around the featured airport for each release (Iceland since FlightGear 2020.1), and the area containing the airport used by the [[Cessna 172P]] tutorials (Hawaii, including PHTO). When [[TerraSync]] is enabled by default, additional scenery is automatically downloaded, installed and updated for whichever location around the globe a user visits. &lt;br /&gt;
&lt;br /&gt;
This article explains '''how to manually install scenery''' for people with limited internet access, and how to install [[Howto:Install scenery#Custom scenery|custom sceneries]] that are not available through TerraSync. If you locate yourself at an airport and see nothing but water, you probably did not install that scenery area (correctly).&lt;br /&gt;
&lt;br /&gt;
== Scenery types ==&lt;br /&gt;
There are four scenery types, in increasing level of detail:&lt;br /&gt;
&lt;br /&gt;
; TerraSync scenery&lt;br /&gt;
: World scenery 2 terrain with constantly updated scenery objects added by fellow FlightGear users to the [[Scenery Objects Database|scenery objects database]], and worldwide [[OSM2City 1st Worldbuild|OpenStreetMap-based buildings]].&lt;br /&gt;
; World scenery 2 (old)&lt;br /&gt;
: Reasonable level of detail global scenery, with objects such as landmarks and airport buildings. It has not been updated since 2013.&lt;br /&gt;
; [[World Scenery 3.0|World scenery 3]]&lt;br /&gt;
: Experimental scenery with updated terrain, airports and objects.&lt;br /&gt;
; Custom scenery&lt;br /&gt;
: Non-official scenery covering all the way from small areas to very large areas, often with a high level of detail and up-to-date terrain and airports.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery  mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:SOTM-Sept17.jpg|Hawaii scenery - &amp;quot;weeping wall&amp;quot; waterfalls at Mount Waialeale on the island of Kauai, near PHLI&lt;br /&gt;
File:SOTM_2019-06_Ice_and_fire_by_vnts.jpg|Sicily scenery - the [[volcanos|volcano]] Etna snowcapped in winter with a low level eruption, near LICC&lt;br /&gt;
File:Bell_412_in_Iceland_(Flightgear_2019.x).jpg|Iceland scenery - having [[:Category:Screenshots_of_overlays|overlays]] enabled shows extremely high 3d detail like small rocks, plants, or individual grass blades&lt;br /&gt;
File:SOTM-Mar19.jpg|Madrid scenery with [[Areas_populated_with_osm2city_scenery|OSM2City output]] for Spain&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtaining scenery ==&lt;br /&gt;
=== TerraSync scenery ===&lt;br /&gt;
{{Main article|TerraSync}}&lt;br /&gt;
&lt;br /&gt;
The [[TerraSync]] scenery is automatically downloaded and synchronized as needed while FlightGear is running when the built in TerraSync utility is enabled. As an alternative, especially suited for users with limited internet speeds, scenery can be prefetched before starting a flight via the [[TerraMaster]] tool.&lt;br /&gt;
&lt;br /&gt;
==== Downloading with TerraMaster ====&lt;br /&gt;
{{Main article|TerraMaster}}&lt;br /&gt;
&lt;br /&gt;
[[File:TerraMaster r32 - Global view.png|thumb|TerraSync scenery in TerraMaster]]&lt;br /&gt;
&lt;br /&gt;
TerraMaster is a stand alone scenery manager that can download and synchronize TerraSync scenery.  It also makes it easier to maintain and get a good overview of downloaded TerraSync scenery. It is a cross platform graphical application written in Java.&lt;br /&gt;
&lt;br /&gt;
TerraMaster allows the FlightGear user to manage scenery tiles easily, selecting which tiles to download, synchronize or delete, and viewing the downloaded/not yet downloaded tiles at a glance. TerraMaster is highly recommended not only for managing scenery tiles easily especially if you are downloading and managing scenery from a computer that does not have FlightGear installed. The downloaded tiles are put into a folder which can then be loaded by FlightGear.&lt;br /&gt;
&lt;br /&gt;
=== World scenery 2 ===&lt;br /&gt;
[[File:Worldscenery-text.jpg|thumb|World scenery tiles]]&lt;br /&gt;
&lt;br /&gt;
World scenery 2 is available in tiles of 1 by 1 degree. To find an airport's coordinates and corresponding tile:&lt;br /&gt;
&lt;br /&gt;
# Go to the Wikipedia page for the airport in question (e.g., {{wikipedia|Honolulu International Airport}}, PHNL).&lt;br /&gt;
# Find the co-ordinates (often at the top or right and side, marked with a small globe). For PHNL these are 21 N 157 W.&lt;br /&gt;
# Round the coordinates to their nearest multiple of 10. Round up for Southern and Western hemisphere coordinates, and round down for Northern and Eastern coordinates, as illustrated by the image. PHNL yields w160n20, while 21 N 157 E would yield e150n20. clarifies this rule.&lt;br /&gt;
&lt;br /&gt;
Terrain tiles can be downloaded from [https://www.flightgear.org/download/mirror/ these mirrors]. You can manually download them from the &amp;lt;tt&amp;gt;Scenery-v2.12&amp;lt;/tt&amp;gt; folder and unpack it to your local directory (e.g., TerraSync/Terrain/).&lt;br /&gt;
&lt;br /&gt;
=== World scenery 3 ===&lt;br /&gt;
{{Main article|World Scenery 3.0}}&lt;br /&gt;
&lt;br /&gt;
=== Custom scenery ===&lt;br /&gt;
Custom scenery is available for certain specific areas. They are distributed separately either due to being only part of a single landmass that has not been re-built completely, being work-in-progress, waiting to be integrated to Terrasync, their license, or because their level of detail is not suitable for low-end machines.&lt;br /&gt;
&lt;br /&gt;
* [[Suggested Airports/Scenery]] for a list of custom scenery projects and an update on state of well developed areas.&lt;br /&gt;
* [[Earthview#Installing_and_using_customized_textures|Earthview high resolution]] texture packs. Earthview is FlightGear's orbital renderer. You can select the texture pack that your GPU can handle - [[Earthview#Requirements|depends]] mainly on GPU memory (VRAM).&lt;br /&gt;
* [[World Scenery 3.0#Currently Available Scenery|World Scenery 3.0]] for a list of custom scenery for WS3.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Asia.jpg|[[Earthview]] orbital renderer at high sun - with high resolution texture packs installed.&lt;br /&gt;
File:SOTM_2019-04_Space_Sauna_by_GinGin.jpg|Earthview orbital renderer at low sun showing light from cities. The [[Space_Shuttle|Space Shuttle]] shows the glow from the heat of hypersonic re-entry.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing world and custom scenery ==&lt;br /&gt;
&lt;br /&gt;
Always install scenery outside the &amp;lt;code&amp;gt;[[$FG_ROOT]]&amp;lt;/code&amp;gt; directory. See [[#Technical details]] below for an explanation.&lt;br /&gt;
&lt;br /&gt;
{{caution|'''Do not mix scenery''' types in the '''same directory'''. It may cause problems like custom scenery being overwritten by the TerraSync or TerraMaster utilities, TerraMaster getting locked etc.}}&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
If you are under a Linux operation system and you are not using a graphical interface to extract the tar archive, you can use one of the two following set of commands in a shell terminal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
 cd SceneryDirectory&lt;br /&gt;
 tar -xvzf input_file.tgz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
 tar -xvzf 'input_file.tgz' -C SceneryDirectory&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;input_file.tgz&amp;lt;/code&amp;gt; should be substituted with the filename of the archive to be extracted (the filename should be completed with the full pathname or any other valid method so that the shell could find the correct archive).&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
Simply unpack the downloaded scenery into a directory of choice, using software like [http://www.winzip.com/ Winzip] or [http://www.7-zip.org 7-zip]. Once done, append this directory to &amp;lt;code&amp;gt;[[$FG_SCENERY]]&amp;lt;/code&amp;gt; (in the launcher, this can be done under Add-ons &amp;gt; Additional scenery folders).&lt;br /&gt;
&lt;br /&gt;
=== macOS ===&lt;br /&gt;
&lt;br /&gt;
Unpack the .tgz file either by double-clicking it and moving the resulting &amp;lt;code&amp;gt;wXXXnXX&amp;lt;/code&amp;gt; folder to the Scenery folder described in the next line, or on the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
 tar -xvzf 'input_file.tgz' -C /Applications/FlightGear.app/Contents/Resources/data/Scenery&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Technical details ==&lt;br /&gt;
=== Scenery lookup and $FG_SCENERY ===&lt;br /&gt;
&lt;br /&gt;
FlightGear determines what scenery to use by looking at the [[Environment variables|environment variable]] (setting) &amp;lt;code&amp;gt;[[$FG SCENERY]]&amp;lt;/code&amp;gt;. There can be more than one scenery path in the variable, for example one path to to TerraSync scenery and one path to custom scenery. Scenery can be overlapping and a tile will be loaded from the first path in &amp;lt;code&amp;gt;$FG SCENERY&amp;lt;/code&amp;gt; from which it is available.&lt;br /&gt;
&lt;br /&gt;
Should the paths in &amp;lt;code&amp;gt;$FG_SCENERY&amp;lt;/code&amp;gt; not be valid, FlightGear falls back to &amp;lt;code&amp;gt;[[$FG ROOT]]/Scenery&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Directories and configuring $FG_SCENERY ===&lt;br /&gt;
&lt;br /&gt;
Mixing scenery types is almost universally a bad idea, and is unsupported. Also note that the scenery packaged with the base package/windows installer may not be the latest scenery.&lt;br /&gt;
&lt;br /&gt;
For this reason it is better to extract downloaded scenery files into a new folder, which we for the sake of this exercise will call &amp;lt;code&amp;gt;$FOOBAR/Scenery&amp;lt;/code&amp;gt;.&lt;br /&gt;
In this directory, create two subdirectories: &amp;lt;code&amp;gt;/Objects&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/Terrain&amp;lt;/code&amp;gt;. You should untar individual files into the &amp;lt;code&amp;gt;/Terrain&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
Then you should set up $FG_SCENERY to use the new path:&lt;br /&gt;
&lt;br /&gt;
* In the [[Qt launcher]]:&lt;br /&gt;
*: Add the $FOOBAR/Scenery folder to Add-ons &amp;gt; Additional scenery folders.&lt;br /&gt;
* On POSIX Clients&lt;br /&gt;
*: &amp;lt;code&amp;gt;set FG_SCENERY=&amp;quot;$FOOBAR/Scenery&amp;quot; + FG_SCENERY&amp;lt;/code&amp;gt;&lt;br /&gt;
* Via a command line option&lt;br /&gt;
*: &amp;lt;code&amp;gt;--fg-scenery=&amp;quot;$FOOBAR/Scenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Directory structure ===&lt;br /&gt;
==== Terrain ====&lt;br /&gt;
&lt;br /&gt;
The Scenery directory will show the following (scenery is shown for completeness and for easy reference to above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Terrain/&lt;br /&gt;
*** w130n30/&lt;br /&gt;
** Objects/&lt;br /&gt;
*** w130n30/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you download a scenery module called &amp;lt;code&amp;gt;w90n40.tgz&amp;lt;/code&amp;gt; and extract it in &amp;lt;code&amp;gt;Scenery&amp;lt;/code&amp;gt;, the result will resemble something like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Terrain/&lt;br /&gt;
*** w09n40/&lt;br /&gt;
*** w130n30/&lt;br /&gt;
** Objects/&lt;br /&gt;
*** w09n40/&lt;br /&gt;
*** w130n30/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the directory structure is already present in the tar archive, starting from the Scenery directory. Note that you have to extract the tar archive in the Scenery directory, not in the &amp;lt;code&amp;gt;$FG_ROOT&amp;lt;/code&amp;gt; directory, because the Scenery directory is not present in the archive.&lt;br /&gt;
&lt;br /&gt;
==== Objects ====&lt;br /&gt;
&lt;br /&gt;
Objects and models can be found at the [[FlightGear Scenery Object Database]].&lt;br /&gt;
&lt;br /&gt;
These objects are included in each scenery release, but as the object database is more frequently updated than the terrain, one may want to occasionally update the &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt; subdirectory from the scenery objects database between scenery releases.&lt;br /&gt;
&lt;br /&gt;
Another option is to download or update the scenery on-demand by using the built in TerraSync utility described above.&lt;br /&gt;
&lt;br /&gt;
Objects are really part of the scenery and can be found in the &amp;lt;code&amp;gt;Scenery&amp;lt;/code&amp;gt; directory under &amp;lt;code&amp;gt;$FG ROOT&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Objects/&lt;br /&gt;
*** w130n30/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any objects should be installed under the &amp;lt;code&amp;gt;Scenery/Objects&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
&lt;br /&gt;
Replaces the former &amp;lt;code&amp;gt;$FG_ROOT/Models&amp;lt;/code&amp;gt;; stores all the shared objects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Models/&lt;br /&gt;
*** Airport/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Airports ====&lt;br /&gt;
&lt;br /&gt;
{{Main article|About Scenery/Airports}}&lt;br /&gt;
&lt;br /&gt;
This directory is used to extract airport data (like runway usage and parking spots) from.&lt;br /&gt;
&lt;br /&gt;
The directory tree might look somewhat overwhelming, but it simply follows the &amp;lt;code&amp;gt;Airports/[I]/[C]/[A]/&amp;lt;/code&amp;gt; style.&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Airports/&lt;br /&gt;
*** K/&lt;br /&gt;
**** S/&lt;br /&gt;
***** F/&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video tutorials (2020.x) ==&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|TNN_AZhaHPU|480px||Scenery installation for Flightgear 2020.x by Parnikkapore. Note this is recorded on a non-gaming laptop, and certain settings are not turned up very high.}}&lt;br /&gt;
{{#ev:youtube|YxWV4wk_dHw|480px||Terramaster tutorial for Flightgear by FGUK - 2017 but still valid in 2020.}} &lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Scenery FAQ]]&lt;br /&gt;
* [[Suggested custom scenery]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;br /&gt;
&lt;br /&gt;
[[ar:Howto:Install_scenery]]&lt;br /&gt;
[[de:Howto:Install_scenery]]&lt;br /&gt;
[[es:Instalación de escenarios]]&lt;br /&gt;
[[fr:Installer une scène]]&lt;br /&gt;
[[it:Come fare:Installare scenari]]&lt;br /&gt;
[[nl:Scenery installeren]]&lt;br /&gt;
[[PL:Instalowanie scenerii]]&lt;br /&gt;
[[pt:Instalando Cenário]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Install_scenery&amp;diff=145639</id>
		<title>Howto:Install scenery</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Install_scenery&amp;diff=145639"/>
		<updated>2026-07-03T21:14:28Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* World scenery 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{installing}}&lt;br /&gt;
 &lt;br /&gt;
A default installation of [[FlightGear]] comes with a limited set of [[scenery]] to keep initial download sizes small. It includes the region around the featured airport for each release (Iceland since FlightGear 2020.1), and the area containing the airport used by the [[Cessna 172P]] tutorials (Hawaii, including PHTO). When [[TerraSync]] is enabled by default, additional scenery is automatically downloaded, installed and updated for whichever location around the globe a user visits. &lt;br /&gt;
&lt;br /&gt;
This article explains '''how to manually install scenery''' for people with limited internet access, and how to install [[Howto:Install scenery#Custom scenery|custom sceneries]] that are not available through TerraSync. If you locate yourself at an airport and see nothing but water, you probably did not install that scenery area (correctly).&lt;br /&gt;
&lt;br /&gt;
== Scenery types ==&lt;br /&gt;
There are four scenery types, in increasing level of detail:&lt;br /&gt;
&lt;br /&gt;
; World scenery 2&lt;br /&gt;
: Reasonable level of detail global scenery, with objects such as landmarks and airport buildings. Has not been updated since 2013.&lt;br /&gt;
; TerraSync scenery&lt;br /&gt;
: World scenery 2 terrain with constantly updated scenery objects added by fellow FlightGear users to the [[Scenery Objects Database|scenery objects database]], and worldwide [[OSM2City 1st Worldbuild|OpenStreetMap-based buildings]]. Most of the terrain and airport layouts have not been updated since 2013.&lt;br /&gt;
; [[World Scenery 3.0|World scenery 3]]&lt;br /&gt;
: Experimental scenery with updated terrain, airports and objects.&lt;br /&gt;
; Custom scenery&lt;br /&gt;
: Non-official scenery covering all the way from small areas to very large areas, often with a high level of detail and up-to-date terrain and airports.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery  mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:SOTM-Sept17.jpg|Hawaii scenery - &amp;quot;weeping wall&amp;quot; waterfalls at Mount Waialeale on the island of Kauai, near PHLI&lt;br /&gt;
File:SOTM_2019-06_Ice_and_fire_by_vnts.jpg|Sicily scenery - the [[volcanos|volcano]] Etna snowcapped in winter with a low level eruption, near LICC&lt;br /&gt;
File:Bell_412_in_Iceland_(Flightgear_2019.x).jpg|Iceland scenery - having [[:Category:Screenshots_of_overlays|overlays]] enabled shows extremely high 3d detail like small rocks, plants, or individual grass blades&lt;br /&gt;
File:SOTM-Mar19.jpg|Madrid scenery with [[Areas_populated_with_osm2city_scenery|OSM2City output]] for Spain&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtaining scenery ==&lt;br /&gt;
=== TerraSync scenery ===&lt;br /&gt;
{{Main article|TerraSync}}&lt;br /&gt;
&lt;br /&gt;
The [[TerraSync]] scenery is automatically downloaded and synchronized as needed while FlightGear is running when the built in TerraSync utility is enabled. As an alternative, especially suited for users with limited internet speeds, scenery can be prefetched before starting a flight via the [[TerraMaster]] tool.&lt;br /&gt;
&lt;br /&gt;
==== Downloading with TerraMaster ====&lt;br /&gt;
{{Main article|TerraMaster}}&lt;br /&gt;
&lt;br /&gt;
[[File:TerraMaster r32 - Global view.png|thumb|TerraSync scenery in TerraMaster]]&lt;br /&gt;
&lt;br /&gt;
TerraMaster is a stand alone scenery manager that can download and synchronize TerraSync scenery.  It also makes it easier to maintain and get a good overview of downloaded TerraSync scenery. It is a cross platform graphical application written in Java.&lt;br /&gt;
&lt;br /&gt;
TerraMaster allows the FlightGear user to manage scenery tiles easily, selecting which tiles to download, synchronize or delete, and viewing the downloaded/not yet downloaded tiles at a glance. TerraMaster is highly recommended not only for managing scenery tiles easily especially if you are downloading and managing scenery from a computer that does not have FlightGear installed. The downloaded tiles are put into a folder which can then be loaded by FlightGear.&lt;br /&gt;
&lt;br /&gt;
=== World scenery 2 ===&lt;br /&gt;
[[File:Worldscenery-text.jpg|thumb|World scenery tiles]]&lt;br /&gt;
&lt;br /&gt;
World scenery 2 is available in tiles of 1 by 1 degree. To find an airport's coordinates and corresponding tile:&lt;br /&gt;
&lt;br /&gt;
# Go to the Wikipedia page for the airport in question (e.g., {{wikipedia|Honolulu International Airport}}, PHNL).&lt;br /&gt;
# Find the co-ordinates (often at the top or right and side, marked with a small globe). For PHNL these are 21 N 157 W.&lt;br /&gt;
# Round the coordinates to their nearest multiple of 10. Round up for Southern and Western hemisphere coordinates, and round down for Northern and Eastern coordinates, as illustrated by the image. PHNL yields w160n20, while 21 N 157 E would yield e150n20. clarifies this rule.&lt;br /&gt;
&lt;br /&gt;
Terrain tiles can be downloaded from [https://www.flightgear.org/download/mirror/ these mirrors]. You can manually download them from the &amp;lt;tt&amp;gt;Scenery-v2.12&amp;lt;/tt&amp;gt; folder and unpack it to your local directory (e.g., TerraSync/Terrain/).&lt;br /&gt;
&lt;br /&gt;
=== World scenery 3 ===&lt;br /&gt;
{{Main article|World Scenery 3.0}}&lt;br /&gt;
&lt;br /&gt;
=== Custom scenery ===&lt;br /&gt;
Custom scenery is available for certain specific areas. They are distributed separately either due to being only part of a single landmass that has not been re-built completely, being work-in-progress, waiting to be integrated to Terrasync, their license, or because their level of detail is not suitable for low-end machines.&lt;br /&gt;
&lt;br /&gt;
* [[Suggested Airports/Scenery]] for a list of custom scenery projects and an update on state of well developed areas.&lt;br /&gt;
* [[Earthview#Installing_and_using_customized_textures|Earthview high resolution]] texture packs. Earthview is FlightGear's orbital renderer. You can select the texture pack that your GPU can handle - [[Earthview#Requirements|depends]] mainly on GPU memory (VRAM).&lt;br /&gt;
* [[World Scenery 3.0#Currently Available Scenery|World Scenery 3.0]] for a list of custom scenery for WS3.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Asia.jpg|[[Earthview]] orbital renderer at high sun - with high resolution texture packs installed.&lt;br /&gt;
File:SOTM_2019-04_Space_Sauna_by_GinGin.jpg|Earthview orbital renderer at low sun showing light from cities. The [[Space_Shuttle|Space Shuttle]] shows the glow from the heat of hypersonic re-entry.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing world and custom scenery ==&lt;br /&gt;
&lt;br /&gt;
Always install scenery outside the &amp;lt;code&amp;gt;[[$FG_ROOT]]&amp;lt;/code&amp;gt; directory. See [[#Technical details]] below for an explanation.&lt;br /&gt;
&lt;br /&gt;
{{caution|'''Do not mix scenery''' types in the '''same directory'''. It may cause problems like custom scenery being overwritten by the TerraSync or TerraMaster utilities, TerraMaster getting locked etc.}}&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
If you are under a Linux operation system and you are not using a graphical interface to extract the tar archive, you can use one of the two following set of commands in a shell terminal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
 cd SceneryDirectory&lt;br /&gt;
 tar -xvzf input_file.tgz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
 tar -xvzf 'input_file.tgz' -C SceneryDirectory&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;input_file.tgz&amp;lt;/code&amp;gt; should be substituted with the filename of the archive to be extracted (the filename should be completed with the full pathname or any other valid method so that the shell could find the correct archive).&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
Simply unpack the downloaded scenery into a directory of choice, using software like [http://www.winzip.com/ Winzip] or [http://www.7-zip.org 7-zip]. Once done, append this directory to &amp;lt;code&amp;gt;[[$FG_SCENERY]]&amp;lt;/code&amp;gt; (in the launcher, this can be done under Add-ons &amp;gt; Additional scenery folders).&lt;br /&gt;
&lt;br /&gt;
=== macOS ===&lt;br /&gt;
&lt;br /&gt;
Unpack the .tgz file either by double-clicking it and moving the resulting &amp;lt;code&amp;gt;wXXXnXX&amp;lt;/code&amp;gt; folder to the Scenery folder described in the next line, or on the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
 tar -xvzf 'input_file.tgz' -C /Applications/FlightGear.app/Contents/Resources/data/Scenery&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Technical details ==&lt;br /&gt;
=== Scenery lookup and $FG_SCENERY ===&lt;br /&gt;
&lt;br /&gt;
FlightGear determines what scenery to use by looking at the [[Environment variables|environment variable]] (setting) &amp;lt;code&amp;gt;[[$FG SCENERY]]&amp;lt;/code&amp;gt;. There can be more than one scenery path in the variable, for example one path to to TerraSync scenery and one path to custom scenery. Scenery can be overlapping and a tile will be loaded from the first path in &amp;lt;code&amp;gt;$FG SCENERY&amp;lt;/code&amp;gt; from which it is available.&lt;br /&gt;
&lt;br /&gt;
Should the paths in &amp;lt;code&amp;gt;$FG_SCENERY&amp;lt;/code&amp;gt; not be valid, FlightGear falls back to &amp;lt;code&amp;gt;[[$FG ROOT]]/Scenery&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Directories and configuring $FG_SCENERY ===&lt;br /&gt;
&lt;br /&gt;
Mixing scenery types is almost universally a bad idea, and is unsupported. Also note that the scenery packaged with the base package/windows installer may not be the latest scenery.&lt;br /&gt;
&lt;br /&gt;
For this reason it is better to extract downloaded scenery files into a new folder, which we for the sake of this exercise will call &amp;lt;code&amp;gt;$FOOBAR/Scenery&amp;lt;/code&amp;gt;.&lt;br /&gt;
In this directory, create two subdirectories: &amp;lt;code&amp;gt;/Objects&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/Terrain&amp;lt;/code&amp;gt;. You should untar individual files into the &amp;lt;code&amp;gt;/Terrain&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
Then you should set up $FG_SCENERY to use the new path:&lt;br /&gt;
&lt;br /&gt;
* In the [[Qt launcher]]:&lt;br /&gt;
*: Add the $FOOBAR/Scenery folder to Add-ons &amp;gt; Additional scenery folders.&lt;br /&gt;
* On POSIX Clients&lt;br /&gt;
*: &amp;lt;code&amp;gt;set FG_SCENERY=&amp;quot;$FOOBAR/Scenery&amp;quot; + FG_SCENERY&amp;lt;/code&amp;gt;&lt;br /&gt;
* Via a command line option&lt;br /&gt;
*: &amp;lt;code&amp;gt;--fg-scenery=&amp;quot;$FOOBAR/Scenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Directory structure ===&lt;br /&gt;
==== Terrain ====&lt;br /&gt;
&lt;br /&gt;
The Scenery directory will show the following (scenery is shown for completeness and for easy reference to above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Terrain/&lt;br /&gt;
*** w130n30/&lt;br /&gt;
** Objects/&lt;br /&gt;
*** w130n30/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you download a scenery module called &amp;lt;code&amp;gt;w90n40.tgz&amp;lt;/code&amp;gt; and extract it in &amp;lt;code&amp;gt;Scenery&amp;lt;/code&amp;gt;, the result will resemble something like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Terrain/&lt;br /&gt;
*** w09n40/&lt;br /&gt;
*** w130n30/&lt;br /&gt;
** Objects/&lt;br /&gt;
*** w09n40/&lt;br /&gt;
*** w130n30/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the directory structure is already present in the tar archive, starting from the Scenery directory. Note that you have to extract the tar archive in the Scenery directory, not in the &amp;lt;code&amp;gt;$FG_ROOT&amp;lt;/code&amp;gt; directory, because the Scenery directory is not present in the archive.&lt;br /&gt;
&lt;br /&gt;
==== Objects ====&lt;br /&gt;
&lt;br /&gt;
Objects and models can be found at the [[FlightGear Scenery Object Database]].&lt;br /&gt;
&lt;br /&gt;
These objects are included in each scenery release, but as the object database is more frequently updated than the terrain, one may want to occasionally update the &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt; subdirectory from the scenery objects database between scenery releases.&lt;br /&gt;
&lt;br /&gt;
Another option is to download or update the scenery on-demand by using the built in TerraSync utility described above.&lt;br /&gt;
&lt;br /&gt;
Objects are really part of the scenery and can be found in the &amp;lt;code&amp;gt;Scenery&amp;lt;/code&amp;gt; directory under &amp;lt;code&amp;gt;$FG ROOT&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Objects/&lt;br /&gt;
*** w130n30/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any objects should be installed under the &amp;lt;code&amp;gt;Scenery/Objects&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
&lt;br /&gt;
Replaces the former &amp;lt;code&amp;gt;$FG_ROOT/Models&amp;lt;/code&amp;gt;; stores all the shared objects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Models/&lt;br /&gt;
*** Airport/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Airports ====&lt;br /&gt;
&lt;br /&gt;
{{Main article|About Scenery/Airports}}&lt;br /&gt;
&lt;br /&gt;
This directory is used to extract airport data (like runway usage and parking spots) from.&lt;br /&gt;
&lt;br /&gt;
The directory tree might look somewhat overwhelming, but it simply follows the &amp;lt;code&amp;gt;Airports/[I]/[C]/[A]/&amp;lt;/code&amp;gt; style.&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Airports/&lt;br /&gt;
*** K/&lt;br /&gt;
**** S/&lt;br /&gt;
***** F/&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video tutorials (2020.x) ==&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|TNN_AZhaHPU|480px||Scenery installation for Flightgear 2020.x by Parnikkapore. Note this is recorded on a non-gaming laptop, and certain settings are not turned up very high.}}&lt;br /&gt;
{{#ev:youtube|YxWV4wk_dHw|480px||Terramaster tutorial for Flightgear by FGUK - 2017 but still valid in 2020.}} &lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Scenery FAQ]]&lt;br /&gt;
* [[Suggested custom scenery]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;br /&gt;
&lt;br /&gt;
[[ar:Howto:Install_scenery]]&lt;br /&gt;
[[de:Howto:Install_scenery]]&lt;br /&gt;
[[es:Instalación de escenarios]]&lt;br /&gt;
[[fr:Installer une scène]]&lt;br /&gt;
[[it:Come fare:Installare scenari]]&lt;br /&gt;
[[nl:Scenery installeren]]&lt;br /&gt;
[[PL:Instalowanie scenerii]]&lt;br /&gt;
[[pt:Instalando Cenário]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Suggested_custom_scenery&amp;diff=145638</id>
		<title>Suggested custom scenery</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Suggested_custom_scenery&amp;diff=145638"/>
		<updated>2026-07-03T21:12:12Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Besides the official TerraSync scenery that is automatically synced while FlightGear is running, there are a number of custom sceneries available, created by users for beautifying some specific areas of the scenery. This page is a list of some '''suggested custom scenery''' for downloading and visiting. This list can not be complete as custom sceneries might come and go. It's worth to search the forum for additional custom sceneries. &lt;br /&gt;
&lt;br /&gt;
Since FlightGear 2020.3.7, buildings, roads, pylons, and other objects are ''automatically'' downloaded, based on Open Street Map (OSM) data - see [[OSM2City 1st Worldbuild|OSM2City 1st world build]]. You don't have to download OSM2City custom sceneries for these anymore. However, you need to enable them in the [[Rendering Options]] menu.&lt;br /&gt;
&lt;br /&gt;
* See '''[[Suggested_airports]]''' for a quick list of featured airports situated in well developed regions, with links to OSM2City scenery. It's suitable for newcomers to start at to explore surrounding regions. (March 2020)&lt;br /&gt;
&lt;br /&gt;
* '''OSM2City scenery''' buildings, roads, pylons, and other objects, for the whole planet is now on TerraSync, and ''automatically downloaded'' by FlightGear. The current OSM2City output on TerraSync is from the [[Osm2city_worldbuild|1st world build of OSM2City]] scenery ([https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=35581 forum thread]). Custom sceneries for countries and regions are available [[Areas_populated_with_osm2city_scenery|'''here''']]. Note: Old custom sceneries (before March 2021) will contain folders for OSM2City output like Buildings, Roads or Pylons with outdated and obsolete objects. These folders will override the new higher quality and faster rendering objects from TerraSync. Remember to remove these from your custom scenery folder list! If your custom scenery contains sub-folders that are not obsolete, like Terrain, you can leave these alone and only delete OSM2City sub-folders in your custom scenery folder. There are some OSM2City custom sceneries that are not obsolete - these have builds of OSM2City with different options from the 1st worldbuild - for example, custom scenery with auto-generation on in areas without good OSM coverage like the Hawaii custom scenery.&lt;br /&gt;
&lt;br /&gt;
* '''[[:Category:Scenery_enhancement_projects|Custom terrain &amp;amp; region definition projects]]''': There are ongoing scenery enhancement projects to update both regional definitions and terrain in large areas like the [[Australia_Custom_Scenery|Australia]] (regional definitions are planned to be added to FG core). This a partial list, search the '''[https://forum.flightgear.org/viewforum.php?f=5 scenery forum]''' for details. Some of the output of projects like Hawaii terrain has already been integrated into Terrasync.&lt;br /&gt;
&lt;br /&gt;
* Terrasync scenery which is automatically downloaded has high resolution terrain. All of Europe currently has high resolution terrain from CORINE data. A lot of old pre-world scenery 2 may be obsolete.&lt;br /&gt;
&lt;br /&gt;
* Status of terrain in custom sceneries: The page as it stands is missing almost all custom terrain. Some old island custom sceneries have been merged into the automatically downloaded sceneries terrasync. [[User:Wlbragg#Kansas_Custom_Scenery|Kansas/Midwest]] and [[US-Tennessee_Custom_Scenery|Tennessee]] are two examples of custom sceneries that aren't obsolete (March 2020).&lt;br /&gt;
&lt;br /&gt;
:: ''If you are the creator of an island scenery you can add it to [[TerraSync]] by contacting the flightgear-devel [[Mailing_lists|mailing list]]''.&lt;br /&gt;
&lt;br /&gt;
* [[Project3000]] adds a lot of clutter and buildings to airports which do not have models or details. It's a must have. It is planned to be integrated into the FG core eventually. [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=27688 Forum thread]. (March 2020)&lt;br /&gt;
&lt;br /&gt;
== New scenery for the Americas (January 2024) ==&lt;br /&gt;
&lt;br /&gt;
[[File:Cygd-c140-winter.jpg|thumb|New FlightGear Americas scenery, approaching Georgian Bay (Lake Huron) in winter. Note the detail for inland water.]]&lt;br /&gt;
New scenery is available for all of the Americas, including islands geographically or politically associated with them (such as Greenland, the Hawaiian Islands, Bermuda, and the Galapagos). This is intended to replace the current default TerraGear scenery as soon as we're ready to rebuild osm2city for it. The scenery includes many more airports (5-10x as many as the default scenery, most with correct taxiways and aprons), detailed inland water, and detailed 30m digital elevations. See [[FlightGear Americas Scenery (custom)]] for download details.&lt;br /&gt;
&lt;br /&gt;
This scenery is suitable for use as a default to fill in the gaps between some of the more-detailed custom-scenery areas listed below.&lt;br /&gt;
&lt;br /&gt;
== Custom scenery (May 2021) ==&lt;br /&gt;
&lt;br /&gt;
''This is only a fraction of available scenery (May 2021). Search the [https://forum.flightgear.org/viewforum.php?f=5 scenery forum] for more.''&lt;br /&gt;
&lt;br /&gt;
''See [[Howto:Install_scenery|How to install custom scenery packages]].''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''USA, Tennessee:''' custom scenery for Tennessee by [[User:Scttgs|Scott Giese]](xDraconianx). This is very high resolution scenery created to test potential resolution &amp;amp; performance for the next world scenery build. See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=35521 forum thread] for feedback and more info. See the [[US-Tennessee_Custom_Scenery|wiki page]] for downloads. (March 2020)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:US-Tennessee-EastCentral.jpg&lt;br /&gt;
File:US-Tennessee-West.jpg&lt;br /&gt;
File:US-Tennessee-East.jpg&lt;br /&gt;
File:US-Tennessee-WestCentral.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''USA, Kansas &amp;amp; Ohio:''' custom scenery for the entire states of Kansas and Ohio created by [[User:Wlbragg|Wlbragg]]. This high resolution scenery includes textures. See the [[User:Wlbragg#Kansas_Custom_Scenery|wiki page]] for downloads and info. (March 2020)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Kansas_Scenery_Two.jpg&lt;br /&gt;
File:KDAY_James_M._Cox_Dayton_International_Airport.jpg&lt;br /&gt;
File:Kansas_Scenery_One.jpg&lt;br /&gt;
File:Kansas_Scenery_Three.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Scandinavia''': custom scenery covering Scandinavian countries such as Norway, Sweden, and Finland by [[User:D-ECHO|D-ECHO]]. Norway and Sweden have some of the most detailed regional definitions using recent engine features. This custom scenery project further improves it by mainly adding more detailed land type classification, digital elevation data, as well as updated airports. As of March 2020 it updates parts of these countries. See the [[Scandinavia Custom Scenery]] page for download and details.&lt;br /&gt;
&lt;br /&gt;
* '''USA, Pennsylvania, New Jersey, and New York City''': custom scenery for these Eastern US states by montagdude. See [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=38041 forum thread]. Contains custom terrain, OSM2City, and custom materials. (September 2020)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Ec135-manhattan.jpg&lt;br /&gt;
File:Pa28-wilkes-barre.jpg&lt;br /&gt;
File:C182s-atlantic-city.jpg&lt;br /&gt;
File:Dr400-philadelphia.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''USA, Virginia, Maryland, Delaware, and the District of Columbia''': custom scenery for these Mid-Atlantic US states by montagdude. See [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37322 forum thread]. Contains custom terrain, OSM2City, and custom materials. (April 2020)&lt;br /&gt;
&lt;br /&gt;
* '''USA, Rhode Island and southeastern Massachusetts''': custom scenery for Rhode Island and southeastern parts of the state of Massachusetts by montagdude. See [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=36977 forum thread]. Contains OSM2City. (March 2020)&lt;br /&gt;
&lt;br /&gt;
* '''USA, Champaign, Chicago, Milwaukee and surrounding areas''': custom scenery for Champaign, Bloomington, Chicago, Milwaukee and northern Illinois by pb321. See [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=39209 forum thread] and to report issues. Contains OSM2City and (optional) color corrected USGS orthophotos. (May 2021)&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:KPWK-Chicago_Executive.jpg&lt;br /&gt;
File:ChicagoAM-OrthoCropped.jpg&lt;br /&gt;
File:Approaching KMKE.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''USA, Oshkosh, Green Bay, U.P. of Michigan and surrounding areas''': custom scenery for Oshkosh, Appleton, Green Bay and the central Upper Peninsula of Michigan by pb321. See [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=39264 forum thread] and to report issues. Contains OSM2City and (optional) color corrected USGS orthophotos. (May 2021)&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:GreenBayNorth.jpg&lt;br /&gt;
File:Near Houghton MIa.jpg&lt;br /&gt;
File:MarquetteA.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Venezuela: [[Project Venezuela]]:''' custom scenery for Venezuela by [[User:Legoboyvdlp|J. Redpath]], with improved airport layouts, and objects at several airports. Highly improved over TerraSync status. (March 2020)&lt;br /&gt;
&lt;br /&gt;
* '''Canary Islands:''' custom scenery for the Canary Islands by [[User:D-ECHO|D-ECHO]] with improved terrain, objects, vegetation, building, reworked airports, mostly with buildings and furniture.  Check out the [[Canary_Islands_Custom_Scenery|wiki page]]. (March 2020)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
GCLP-1.jpg&lt;br /&gt;
GCLP-2.jpg&lt;br /&gt;
GCLP-3.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Argentina''':  OSM-based custom scenery for Argentina and parts of Chile and Uruguay by Barta.&amp;lt;br/&amp;gt;Updated airports, landcover from OSM polygons, line data and objects using Osm2City. Updated frequently!&amp;lt;br/&amp;gt;Downloads:&lt;br /&gt;
:: All output: [http://scenery.bartatech.net/ http://scenery.bartatech.net/] . As of July 2020 these areas are available: Santiago (including Valparaiso), Mendoza, Buenos Aires, complete Rosario area. The other parts only have terrain (no roads, buildings etc). The server will eventually contain all of the sceneries in the southern cone of South America: Argentina, Chile, Uruguay.&lt;br /&gt;
::: It's possible to use the [http://scenery.bartatech.net/ scenery.bartatech.net] server directly as a Terrasync server. Just use the following in the [[FlightGear_Qt_launcher|launcher]] or .fgfsrc file: &lt;br /&gt;
::: ''--prop:/sim/terrasync/http-server=&amp;lt;nowiki&amp;gt;http://scenery.bartatech.net/&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
:: Buenos Aires province: https://github.com/bartacruz/scenery-6040 &lt;br /&gt;
:: Cuyo Area + Santiago: https://github.com/bartacruz/scenery-cuyo&lt;br /&gt;
&lt;br /&gt;
* '''USA, Florida''': custom scenery for Florida by [[User:Legoboyvdlp|J. Redpath]] with both terrain and OSM2City. It also covers the [[Space Shuttle]] landing site at [[Shuttle_Landing_Facility|KTTS]]. See the [https://github.com/legoboyvdlp/Florida-fg-CustomScenery repository] downloads section for the [https://github.com/legoboyvdlp/Florida-fg-CustomScenery/archive/master.zip zip-file].&lt;br /&gt;
&lt;br /&gt;
* '''London, England''': custom scenery by [[User:Legoboyvdlp|J. Redpath]] for the London area including an improved Gatwick Airport (ICAO: EGKK). See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37444 forum thread] and [https://github.com/legoboyvdlp/London-fg-CustomScenery repository] downloads section for the [https://github.com/legoboyvdlp/London-fg-CustomScenery/archive/master.zip zip-file].&lt;br /&gt;
&lt;br /&gt;
* '''Moscow area, Russia''': custom scenery by [[User:Legoboyvdlp|J. Redpath]] for the Moscow area covering 14 tiles. See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37887 forum thread] for the github [https://github.com/legoboyvdlp/Moscow-fg-CustomScenery/archive/master.zip download]. (August 2020)&lt;br /&gt;
&lt;br /&gt;
* '''Valdivostock area, Russia''': custom scenery by [[User:Legoboyvdlp|J. Redpath]] for the Vadivostock area. See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37887 forum thread] for the github [https://github.com/legoboyvdlp/Vladivostok-fg-CustomScenery/archive/master.zip download]. (August 2020)&lt;br /&gt;
&lt;br /&gt;
* '''Eastern China''': custom scenery by [[User:Legoboyvdlp|J. Redpath]] for the eastern portion of China covering the area around ZSAM and ZSNJ airports. See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37887 forum thread] for the github [https://github.com/legoboyvdlp/EastChina-fg-CustomScenery/archive/master.zip download]. (August 2020)&lt;br /&gt;
&lt;br /&gt;
* '''Beijing area, China''': custom scenery by [[User:Legoboyvdlp|J. Redpath]] for the area around Beijing covering 15 tiles. See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37887 forum thread] for the github [https://github.com/legoboyvdlp/Beijing-fg-CustomScenery/archive/master.zip download]. (August 2020)&lt;br /&gt;
&lt;br /&gt;
* '''Sri Lanka''': 2019 custom scenery by [[User:Legoboyvdlp|J. Redpath]] for the island of Sri Lanka in the Indian ocean including rebuilt terrain, OSM2City output, and improved airports. See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37887 forum thread] for github [https://codeload.github.com/legoboyvdlp/SriLanka-fg-CustomScenery/zip/master download].&lt;br /&gt;
* '''Dominican Republic:''' 2021 custom scenery by flc972 for [[Gregorio Luperon International Airport]] (MDPP) with detailed modeling of interiors, night lightmaps, ground net and animated jetways as well as some terrain. The airport is located on the Caribbean island of Hispaniola. See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=39179 forum thread] for bitbucket [https://bitbucket.org/fableb/flcs-mdpp_airport/downloads/ download] .&lt;br /&gt;
* '''Turkey:''' custom scenery including 12 airports. Can be downloaded from https://github.com/Klaudiae/FGCompanion-TurkeyEnhanced&lt;br /&gt;
* '''Turkey, Şanlıurfa:''' custom scenery by TheFGFSEagle. Can be downloaded from https://github.com/TheFGFSEagle/LTCS-scenery&lt;br /&gt;
* '''Poland:''' custom scenery including 14 airports. Can be downloaded from https://github.com/Klaudiae/FGCompanion-PolandEnhanced&lt;br /&gt;
&lt;br /&gt;
== Custom scenery set to be merged into TerraSync and FGData ==&lt;br /&gt;
&lt;br /&gt;
''These are now in the process of being merged. If you know of custom sceneries of islands or complete landmasses that have not been merged yet, contact the developers. (March 2021).''&lt;br /&gt;
* New Zealand scenery ([https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=36892 forum thread]). (March 2020)&lt;br /&gt;
* [[Australia_Custom_Scenery|Australian custom scenery project]] output - Regional definitions, and textures. See these forum threads for download and details: [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=36145 official thread], demo scenery [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=36956 install details (March 2020)]. A partially completed Sydney airport (YSSY) is also available for download. The terrain in the demo scenery release is likely to be merged when a re-build of Australia is done.&lt;br /&gt;
* All Channel Islands (Jersey, Guernsey, Alderney, Sark, etc) ([https://github.com/legoboyvdlp/Jersey-fg-CustomScenery github]). (March 2020).&lt;br /&gt;
* Sri Lanka, [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37887 forum thread] and [https://github.com/legoboyvdlp/SriLanka-fg-CustomScenery Github]&lt;br /&gt;
&lt;br /&gt;
== Custom scenery which has been merged into TerraSync and FGData ==&lt;br /&gt;
&lt;br /&gt;
''You can remove old scenery folders containing known merged sceneries from your [[Howto:Install_scenery|scenery folder list]].''&lt;br /&gt;
&lt;br /&gt;
* Islands merged recently (2018-2019): Hawaii, Iceland, Island of Jan Mayen (Norway)&lt;br /&gt;
&lt;br /&gt;
== Old and undetermined custom scenery ==&lt;br /&gt;
&lt;br /&gt;
''Some of these may have been obsoleted by the release of the [[FlightGear World Scenery 2.0|new world scenery in November 2013]].''&lt;br /&gt;
&lt;br /&gt;
''Please move sceneries that aren't obsolete into other categories.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''France''': Custom scenery for France with improved landcover information and more detailed elevation information (no improvements on the objects) is under development. See the [[Custom France Scenery|Custom France Scenery page]]. (Pre WS 2.0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:High_textures_transitions3.png|High detail France scenery&lt;br /&gt;
Image:High_textures_transitions4_1.png|High detail France scenery&lt;br /&gt;
Image:High_textures_transitions6_2.png|High detail France scenery&lt;br /&gt;
Image:High_textures_transitions10_1.png|Mont Blanc&lt;br /&gt;
Image:High_textures_transitions11_1.png|Aguille du midi?&lt;br /&gt;
Image:High_textures_transitions13_1.png|Matterhorn without landclass, just slope transitions&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Innsbruck (Austria) area''': The scenery currently covers a 1x1 degree area containing parts of Austria and Germany, and makes use of accurate data from the Corine Land Cover, and Open Street Map projects. See [http://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=5350 this forum post] and [[FlightGear Newsletter August 2009#Innsbruck Gets A Face Lift|the August 2009 newsletter]] for details. (Pre WS 2.0)&lt;br /&gt;
&lt;br /&gt;
* '''LOWI &amp;amp; Austria Scenery Preview''': This scenery includes the Innsbruck scenario and is much more complete than the previous. It is still experimental, but should try it as having been really good. Info and download can be found [[Innsbruck Airport|here]]. &lt;br /&gt;
&lt;br /&gt;
* '''Iberian Peninsula: Spain and Portugal''': custom scenery for Spain and Portugal with improved landcover and additional airports and objects. See the [[Custom Spain and Portugal Scenery|custom Spain and Portugal scenery page]].&lt;br /&gt;
&lt;br /&gt;
* '''EDDK''': Custom scenery for the Cologne/Bonn airport in Germany with very nice and realistic terminal buildings. Available from https://github.com/mherweg/EDDK-fg-CustomScenery.&lt;br /&gt;
&lt;br /&gt;
* '''Argentina''':  OSM-based custom scenery for Argentina and parts of Chile and Uruguay.&amp;lt;br/&amp;gt;Updated airports, landcover from OSM polygons, line data and objects using Osm2City. Updated frequently!&amp;lt;br/&amp;gt;Downloads:&lt;br /&gt;
** Buenos Aires province: https://github.com/bartacruz/scenery-6040 &lt;br /&gt;
** Cuyo Area + Santiago: https://github.com/bartacruz/scenery-cuyo&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Howto:Improve scenery in your area, or area of interest]]&lt;br /&gt;
&lt;br /&gt;
{{suggested}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Custom scenery]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Install_scenery&amp;diff=145637</id>
		<title>Howto:Install scenery</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Install_scenery&amp;diff=145637"/>
		<updated>2026-07-03T21:11:22Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Airports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{installing}}&lt;br /&gt;
 &lt;br /&gt;
A default installation of [[FlightGear]] comes with a limited set of [[scenery]] to keep initial download sizes small. It includes the region around the featured airport for each release (Iceland since FlightGear 2020.1), and the area containing the airport used by the [[Cessna 172P]] tutorials (Hawaii, including PHTO). When [[TerraSync]] is enabled by default, additional scenery is automatically downloaded, installed and updated for whichever location around the globe a user visits. &lt;br /&gt;
&lt;br /&gt;
This article explains '''how to manually install scenery''' for people with limited internet access, and how to install [[Howto:Install scenery#Custom scenery|custom sceneries]] that are not available through TerraSync. If you locate yourself at an airport and see nothing but water, you probably did not install that scenery area (correctly).&lt;br /&gt;
&lt;br /&gt;
== Scenery types ==&lt;br /&gt;
There are four scenery types, in increasing level of detail:&lt;br /&gt;
&lt;br /&gt;
; World scenery 2&lt;br /&gt;
: Reasonable level of detail global scenery, with objects such as landmarks and airport buildings. Has not been updated since 2013.&lt;br /&gt;
; TerraSync scenery&lt;br /&gt;
: World scenery 2 terrain with constantly updated scenery objects added by fellow FlightGear users to the [[Scenery Objects Database|scenery objects database]], and worldwide [[OSM2City 1st Worldbuild|OpenStreetMap-based buildings]]. Most of the terrain and airport layouts have not been updated since 2013.&lt;br /&gt;
; [[World Scenery 3.0|World scenery 3]]&lt;br /&gt;
: Experimental scenery with updated terrain, airports and objects.&lt;br /&gt;
; Custom scenery&lt;br /&gt;
: Non-official scenery covering all the way from small areas to very large areas, often with a high level of detail and up-to-date terrain and airports.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery  mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:SOTM-Sept17.jpg|Hawaii scenery - &amp;quot;weeping wall&amp;quot; waterfalls at Mount Waialeale on the island of Kauai, near PHLI&lt;br /&gt;
File:SOTM_2019-06_Ice_and_fire_by_vnts.jpg|Sicily scenery - the [[volcanos|volcano]] Etna snowcapped in winter with a low level eruption, near LICC&lt;br /&gt;
File:Bell_412_in_Iceland_(Flightgear_2019.x).jpg|Iceland scenery - having [[:Category:Screenshots_of_overlays|overlays]] enabled shows extremely high 3d detail like small rocks, plants, or individual grass blades&lt;br /&gt;
File:SOTM-Mar19.jpg|Madrid scenery with [[Areas_populated_with_osm2city_scenery|OSM2City output]] for Spain&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtaining scenery ==&lt;br /&gt;
=== TerraSync scenery ===&lt;br /&gt;
{{Main article|TerraSync}}&lt;br /&gt;
&lt;br /&gt;
The [[TerraSync]] scenery is automatically downloaded and synchronized as needed while FlightGear is running when the built in TerraSync utility is enabled. As an alternative, especially suited for users with limited internet speeds, scenery can be prefetched before starting a flight via the [[TerraMaster]] tool.&lt;br /&gt;
&lt;br /&gt;
==== Downloading with TerraMaster ====&lt;br /&gt;
{{Main article|TerraMaster}}&lt;br /&gt;
&lt;br /&gt;
[[File:TerraMaster r32 - Global view.png|thumb|TerraSync scenery in TerraMaster]]&lt;br /&gt;
&lt;br /&gt;
TerraMaster is a stand alone scenery manager that can download and synchronize TerraSync scenery.  It also makes it easier to maintain and get a good overview of downloaded TerraSync scenery. It is a cross platform graphical application written in Java.&lt;br /&gt;
&lt;br /&gt;
TerraMaster allows the FlightGear user to manage scenery tiles easily, selecting which tiles to download, synchronize or delete, and viewing the downloaded/not yet downloaded tiles at a glance. TerraMaster is highly recommended not only for managing scenery tiles easily especially if you are downloading and managing scenery from a computer that does not have FlightGear installed. The downloaded tiles are put into a folder which can then be loaded by FlightGear.&lt;br /&gt;
&lt;br /&gt;
=== World scenery 2 ===&lt;br /&gt;
[[File:Worldscenery-text.jpg|thumb|World scenery tiles]]&lt;br /&gt;
&lt;br /&gt;
World scenery 2 is available in tiles of 1 by 1 degree. To find an airport's coordinates and corresponding tile:&lt;br /&gt;
&lt;br /&gt;
# Go to the Wikipedia page for the airport in question (e.g., {{wikipedia|Honolulu International Airport}}, PHNL).&lt;br /&gt;
# Find the co-ordinates (often at the top or right and side, marked with a small globe). For PHNL these are 21 N 157 W.&lt;br /&gt;
# Round the coordinates to their nearest multiple of 10. Round up for Southern and Western hemisphere coordinates, and round down for Northern and Eastern coordinates, as illustrated by the image. PHNL yields w160n20, while 21 N 157 E would yield e150n20. clarifies this rule.&lt;br /&gt;
&lt;br /&gt;
Terrain tiles can be downloaded from [https://www.flightgear.org/download/mirror/ these mirrors]. You can manually download them from the &amp;lt;tt&amp;gt;Scenery-v2.12&amp;lt;/tt&amp;gt; folder and unpack it to the local TerraSync/Terrain/ directory.&lt;br /&gt;
&lt;br /&gt;
=== World scenery 3 ===&lt;br /&gt;
{{Main article|World Scenery 3.0}}&lt;br /&gt;
&lt;br /&gt;
=== Custom scenery ===&lt;br /&gt;
Custom scenery is available for certain specific areas. They are distributed separately either due to being only part of a single landmass that has not been re-built completely, being work-in-progress, waiting to be integrated to Terrasync, their license, or because their level of detail is not suitable for low-end machines.&lt;br /&gt;
&lt;br /&gt;
* [[Suggested Airports/Scenery]] for a list of custom scenery projects and an update on state of well developed areas.&lt;br /&gt;
* [[Earthview#Installing_and_using_customized_textures|Earthview high resolution]] texture packs. Earthview is FlightGear's orbital renderer. You can select the texture pack that your GPU can handle - [[Earthview#Requirements|depends]] mainly on GPU memory (VRAM).&lt;br /&gt;
* [[World Scenery 3.0#Currently Available Scenery|World Scenery 3.0]] for a list of custom scenery for WS3.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Asia.jpg|[[Earthview]] orbital renderer at high sun - with high resolution texture packs installed.&lt;br /&gt;
File:SOTM_2019-04_Space_Sauna_by_GinGin.jpg|Earthview orbital renderer at low sun showing light from cities. The [[Space_Shuttle|Space Shuttle]] shows the glow from the heat of hypersonic re-entry.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing world and custom scenery ==&lt;br /&gt;
&lt;br /&gt;
Always install scenery outside the &amp;lt;code&amp;gt;[[$FG_ROOT]]&amp;lt;/code&amp;gt; directory. See [[#Technical details]] below for an explanation.&lt;br /&gt;
&lt;br /&gt;
{{caution|'''Do not mix scenery''' types in the '''same directory'''. It may cause problems like custom scenery being overwritten by the TerraSync or TerraMaster utilities, TerraMaster getting locked etc.}}&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
If you are under a Linux operation system and you are not using a graphical interface to extract the tar archive, you can use one of the two following set of commands in a shell terminal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
 cd SceneryDirectory&lt;br /&gt;
 tar -xvzf input_file.tgz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
 tar -xvzf 'input_file.tgz' -C SceneryDirectory&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;input_file.tgz&amp;lt;/code&amp;gt; should be substituted with the filename of the archive to be extracted (the filename should be completed with the full pathname or any other valid method so that the shell could find the correct archive).&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
Simply unpack the downloaded scenery into a directory of choice, using software like [http://www.winzip.com/ Winzip] or [http://www.7-zip.org 7-zip]. Once done, append this directory to &amp;lt;code&amp;gt;[[$FG_SCENERY]]&amp;lt;/code&amp;gt; (in the launcher, this can be done under Add-ons &amp;gt; Additional scenery folders).&lt;br /&gt;
&lt;br /&gt;
=== macOS ===&lt;br /&gt;
&lt;br /&gt;
Unpack the .tgz file either by double-clicking it and moving the resulting &amp;lt;code&amp;gt;wXXXnXX&amp;lt;/code&amp;gt; folder to the Scenery folder described in the next line, or on the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
 tar -xvzf 'input_file.tgz' -C /Applications/FlightGear.app/Contents/Resources/data/Scenery&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Technical details ==&lt;br /&gt;
=== Scenery lookup and $FG_SCENERY ===&lt;br /&gt;
&lt;br /&gt;
FlightGear determines what scenery to use by looking at the [[Environment variables|environment variable]] (setting) &amp;lt;code&amp;gt;[[$FG SCENERY]]&amp;lt;/code&amp;gt;. There can be more than one scenery path in the variable, for example one path to to TerraSync scenery and one path to custom scenery. Scenery can be overlapping and a tile will be loaded from the first path in &amp;lt;code&amp;gt;$FG SCENERY&amp;lt;/code&amp;gt; from which it is available.&lt;br /&gt;
&lt;br /&gt;
Should the paths in &amp;lt;code&amp;gt;$FG_SCENERY&amp;lt;/code&amp;gt; not be valid, FlightGear falls back to &amp;lt;code&amp;gt;[[$FG ROOT]]/Scenery&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Directories and configuring $FG_SCENERY ===&lt;br /&gt;
&lt;br /&gt;
Mixing scenery types is almost universally a bad idea, and is unsupported. Also note that the scenery packaged with the base package/windows installer may not be the latest scenery.&lt;br /&gt;
&lt;br /&gt;
For this reason it is better to extract downloaded scenery files into a new folder, which we for the sake of this exercise will call &amp;lt;code&amp;gt;$FOOBAR/Scenery&amp;lt;/code&amp;gt;.&lt;br /&gt;
In this directory, create two subdirectories: &amp;lt;code&amp;gt;/Objects&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/Terrain&amp;lt;/code&amp;gt;. You should untar individual files into the &amp;lt;code&amp;gt;/Terrain&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
Then you should set up $FG_SCENERY to use the new path:&lt;br /&gt;
&lt;br /&gt;
* In the [[Qt launcher]]:&lt;br /&gt;
*: Add the $FOOBAR/Scenery folder to Add-ons &amp;gt; Additional scenery folders.&lt;br /&gt;
* On POSIX Clients&lt;br /&gt;
*: &amp;lt;code&amp;gt;set FG_SCENERY=&amp;quot;$FOOBAR/Scenery&amp;quot; + FG_SCENERY&amp;lt;/code&amp;gt;&lt;br /&gt;
* Via a command line option&lt;br /&gt;
*: &amp;lt;code&amp;gt;--fg-scenery=&amp;quot;$FOOBAR/Scenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Directory structure ===&lt;br /&gt;
==== Terrain ====&lt;br /&gt;
&lt;br /&gt;
The Scenery directory will show the following (scenery is shown for completeness and for easy reference to above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Terrain/&lt;br /&gt;
*** w130n30/&lt;br /&gt;
** Objects/&lt;br /&gt;
*** w130n30/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you download a scenery module called &amp;lt;code&amp;gt;w90n40.tgz&amp;lt;/code&amp;gt; and extract it in &amp;lt;code&amp;gt;Scenery&amp;lt;/code&amp;gt;, the result will resemble something like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Terrain/&lt;br /&gt;
*** w09n40/&lt;br /&gt;
*** w130n30/&lt;br /&gt;
** Objects/&lt;br /&gt;
*** w09n40/&lt;br /&gt;
*** w130n30/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the directory structure is already present in the tar archive, starting from the Scenery directory. Note that you have to extract the tar archive in the Scenery directory, not in the &amp;lt;code&amp;gt;$FG_ROOT&amp;lt;/code&amp;gt; directory, because the Scenery directory is not present in the archive.&lt;br /&gt;
&lt;br /&gt;
==== Objects ====&lt;br /&gt;
&lt;br /&gt;
Objects and models can be found at the [[FlightGear Scenery Object Database]].&lt;br /&gt;
&lt;br /&gt;
These objects are included in each scenery release, but as the object database is more frequently updated than the terrain, one may want to occasionally update the &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt; subdirectory from the scenery objects database between scenery releases.&lt;br /&gt;
&lt;br /&gt;
Another option is to download or update the scenery on-demand by using the built in TerraSync utility described above.&lt;br /&gt;
&lt;br /&gt;
Objects are really part of the scenery and can be found in the &amp;lt;code&amp;gt;Scenery&amp;lt;/code&amp;gt; directory under &amp;lt;code&amp;gt;$FG ROOT&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Objects/&lt;br /&gt;
*** w130n30/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any objects should be installed under the &amp;lt;code&amp;gt;Scenery/Objects&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
&lt;br /&gt;
Replaces the former &amp;lt;code&amp;gt;$FG_ROOT/Models&amp;lt;/code&amp;gt;; stores all the shared objects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Models/&lt;br /&gt;
*** Airport/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Airports ====&lt;br /&gt;
&lt;br /&gt;
{{Main article|About Scenery/Airports}}&lt;br /&gt;
&lt;br /&gt;
This directory is used to extract airport data (like runway usage and parking spots) from.&lt;br /&gt;
&lt;br /&gt;
The directory tree might look somewhat overwhelming, but it simply follows the &amp;lt;code&amp;gt;Airports/[I]/[C]/[A]/&amp;lt;/code&amp;gt; style.&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Airports/&lt;br /&gt;
*** K/&lt;br /&gt;
**** S/&lt;br /&gt;
***** F/&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video tutorials (2020.x) ==&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|TNN_AZhaHPU|480px||Scenery installation for Flightgear 2020.x by Parnikkapore. Note this is recorded on a non-gaming laptop, and certain settings are not turned up very high.}}&lt;br /&gt;
{{#ev:youtube|YxWV4wk_dHw|480px||Terramaster tutorial for Flightgear by FGUK - 2017 but still valid in 2020.}} &lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Scenery FAQ]]&lt;br /&gt;
* [[Suggested custom scenery]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;br /&gt;
&lt;br /&gt;
[[ar:Howto:Install_scenery]]&lt;br /&gt;
[[de:Howto:Install_scenery]]&lt;br /&gt;
[[es:Instalación de escenarios]]&lt;br /&gt;
[[fr:Installer une scène]]&lt;br /&gt;
[[it:Come fare:Installare scenari]]&lt;br /&gt;
[[nl:Scenery installeren]]&lt;br /&gt;
[[PL:Instalowanie scenerii]]&lt;br /&gt;
[[pt:Instalando Cenário]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Install_scenery&amp;diff=145636</id>
		<title>Howto:Install scenery</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Install_scenery&amp;diff=145636"/>
		<updated>2026-07-03T21:10:55Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Obtaining scenery */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{installing}}&lt;br /&gt;
 &lt;br /&gt;
A default installation of [[FlightGear]] comes with a limited set of [[scenery]] to keep initial download sizes small. It includes the region around the featured airport for each release (Iceland since FlightGear 2020.1), and the area containing the airport used by the [[Cessna 172P]] tutorials (Hawaii, including PHTO). When [[TerraSync]] is enabled by default, additional scenery is automatically downloaded, installed and updated for whichever location around the globe a user visits. &lt;br /&gt;
&lt;br /&gt;
This article explains '''how to manually install scenery''' for people with limited internet access, and how to install [[Howto:Install scenery#Custom scenery|custom sceneries]] that are not available through TerraSync. If you locate yourself at an airport and see nothing but water, you probably did not install that scenery area (correctly).&lt;br /&gt;
&lt;br /&gt;
== Scenery types ==&lt;br /&gt;
There are four scenery types, in increasing level of detail:&lt;br /&gt;
&lt;br /&gt;
; World scenery 2&lt;br /&gt;
: Reasonable level of detail global scenery, with objects such as landmarks and airport buildings. Has not been updated since 2013.&lt;br /&gt;
; TerraSync scenery&lt;br /&gt;
: World scenery 2 terrain with constantly updated scenery objects added by fellow FlightGear users to the [[Scenery Objects Database|scenery objects database]], and worldwide [[OSM2City 1st Worldbuild|OpenStreetMap-based buildings]]. Most of the terrain and airport layouts have not been updated since 2013.&lt;br /&gt;
; [[World Scenery 3.0|World scenery 3]]&lt;br /&gt;
: Experimental scenery with updated terrain, airports and objects.&lt;br /&gt;
; Custom scenery&lt;br /&gt;
: Non-official scenery covering all the way from small areas to very large areas, often with a high level of detail and up-to-date terrain and airports.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery  mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:SOTM-Sept17.jpg|Hawaii scenery - &amp;quot;weeping wall&amp;quot; waterfalls at Mount Waialeale on the island of Kauai, near PHLI&lt;br /&gt;
File:SOTM_2019-06_Ice_and_fire_by_vnts.jpg|Sicily scenery - the [[volcanos|volcano]] Etna snowcapped in winter with a low level eruption, near LICC&lt;br /&gt;
File:Bell_412_in_Iceland_(Flightgear_2019.x).jpg|Iceland scenery - having [[:Category:Screenshots_of_overlays|overlays]] enabled shows extremely high 3d detail like small rocks, plants, or individual grass blades&lt;br /&gt;
File:SOTM-Mar19.jpg|Madrid scenery with [[Areas_populated_with_osm2city_scenery|OSM2City output]] for Spain&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtaining scenery ==&lt;br /&gt;
=== TerraSync scenery ===&lt;br /&gt;
{{Main article|TerraSync}}&lt;br /&gt;
&lt;br /&gt;
The [[TerraSync]] scenery is automatically downloaded and synchronized as needed while FlightGear is running when the built in TerraSync utility is enabled. As an alternative, especially suited for users with limited internet speeds, scenery can be prefetched before starting a flight via the [[TerraMaster]] tool.&lt;br /&gt;
&lt;br /&gt;
==== Downloading with TerraMaster ====&lt;br /&gt;
{{Main article|TerraMaster}}&lt;br /&gt;
&lt;br /&gt;
[[File:TerraMaster r32 - Global view.png|thumb|TerraSync scenery in TerraMaster]]&lt;br /&gt;
&lt;br /&gt;
TerraMaster is a stand alone scenery manager that can download and synchronize TerraSync scenery.  It also makes it easier to maintain and get a good overview of downloaded TerraSync scenery. It is a cross platform graphical application written in Java.&lt;br /&gt;
&lt;br /&gt;
TerraMaster allows the FlightGear user to manage scenery tiles easily, selecting which tiles to download, synchronize or delete, and viewing the downloaded/not yet downloaded tiles at a glance. TerraMaster is highly recommended not only for managing scenery tiles easily especially if you are downloading and managing scenery from a computer that does not have FlightGear installed. The downloaded tiles are put into a folder which can then be loaded by FlightGear.&lt;br /&gt;
&lt;br /&gt;
=== World scenery 2 ===&lt;br /&gt;
[[File:Worldscenery-text.jpg|thumb|World scenery tiles]]&lt;br /&gt;
&lt;br /&gt;
World scenery 2 is available in tiles of 1 by 1 degree. To find an airport's coordinates and corresponding tile:&lt;br /&gt;
&lt;br /&gt;
# Go to the Wikipedia page for the airport in question (e.g., {{wikipedia|Honolulu International Airport}}, PHNL).&lt;br /&gt;
# Find the co-ordinates (often at the top or right and side, marked with a small globe). For PHNL these are 21 N 157 W.&lt;br /&gt;
# Round the coordinates to their nearest multiple of 10. Round up for Southern and Western hemisphere coordinates, and round down for Northern and Eastern coordinates, as illustrated by the image. PHNL yields w160n20, while 21 N 157 E would yield e150n20. clarifies this rule.&lt;br /&gt;
&lt;br /&gt;
Terrain tiles can be downloaded from [https://www.flightgear.org/download/mirror/ these mirrors]. You can manually download them from the &amp;lt;tt&amp;gt;Scenery-v2.12&amp;lt;/tt&amp;gt; folder and unpack it to the local TerraSync/Terrain/ directory.&lt;br /&gt;
&lt;br /&gt;
=== World scenery 3 ===&lt;br /&gt;
{{Main article|World Scenery 3.0}}&lt;br /&gt;
&lt;br /&gt;
=== Custom scenery ===&lt;br /&gt;
Custom scenery is available for certain specific areas. They are distributed separately either due to being only part of a single landmass that has not been re-built completely, being work-in-progress, waiting to be integrated to Terrasync, their license, or because their level of detail is not suitable for low-end machines.&lt;br /&gt;
&lt;br /&gt;
* [[Suggested Airports/Scenery]] for a list of custom scenery projects and an update on state of well developed areas.&lt;br /&gt;
* [[Earthview#Installing_and_using_customized_textures|Earthview high resolution]] texture packs. Earthview is FlightGear's orbital renderer. You can select the texture pack that your GPU can handle - [[Earthview#Requirements|depends]] mainly on GPU memory (VRAM).&lt;br /&gt;
* [[World Scenery 3.0#Currently Available Scenery|World Scenery 3.0]] for a list of custom scenery for WS3.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Asia.jpg|[[Earthview]] orbital renderer at high sun - with high resolution texture packs installed.&lt;br /&gt;
File:SOTM_2019-04_Space_Sauna_by_GinGin.jpg|Earthview orbital renderer at low sun showing light from cities. The [[Space_Shuttle|Space Shuttle]] shows the glow from the heat of hypersonic re-entry.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing world and custom scenery ==&lt;br /&gt;
&lt;br /&gt;
Always install scenery outside the &amp;lt;code&amp;gt;[[$FG_ROOT]]&amp;lt;/code&amp;gt; directory. See [[#Technical details]] below for an explanation.&lt;br /&gt;
&lt;br /&gt;
{{caution|'''Do not mix scenery''' types in the '''same directory'''. It may cause problems like custom scenery being overwritten by the TerraSync or TerraMaster utilities, TerraMaster getting locked etc.}}&lt;br /&gt;
&lt;br /&gt;
=== GNU/Linux ===&lt;br /&gt;
If you are under a Linux operation system and you are not using a graphical interface to extract the tar archive, you can use one of the two following set of commands in a shell terminal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
 cd SceneryDirectory&lt;br /&gt;
 tar -xvzf input_file.tgz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
 tar -xvzf 'input_file.tgz' -C SceneryDirectory&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;input_file.tgz&amp;lt;/code&amp;gt; should be substituted with the filename of the archive to be extracted (the filename should be completed with the full pathname or any other valid method so that the shell could find the correct archive).&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
Simply unpack the downloaded scenery into a directory of choice, using software like [http://www.winzip.com/ Winzip] or [http://www.7-zip.org 7-zip]. Once done, append this directory to &amp;lt;code&amp;gt;[[$FG_SCENERY]]&amp;lt;/code&amp;gt; (in the launcher, this can be done under Add-ons &amp;gt; Additional scenery folders).&lt;br /&gt;
&lt;br /&gt;
=== macOS ===&lt;br /&gt;
&lt;br /&gt;
Unpack the .tgz file either by double-clicking it and moving the resulting &amp;lt;code&amp;gt;wXXXnXX&amp;lt;/code&amp;gt; folder to the Scenery folder described in the next line, or on the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
 tar -xvzf 'input_file.tgz' -C /Applications/FlightGear.app/Contents/Resources/data/Scenery&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Technical details ==&lt;br /&gt;
=== Scenery lookup and $FG_SCENERY ===&lt;br /&gt;
&lt;br /&gt;
FlightGear determines what scenery to use by looking at the [[Environment variables|environment variable]] (setting) &amp;lt;code&amp;gt;[[$FG SCENERY]]&amp;lt;/code&amp;gt;. There can be more than one scenery path in the variable, for example one path to to TerraSync scenery and one path to custom scenery. Scenery can be overlapping and a tile will be loaded from the first path in &amp;lt;code&amp;gt;$FG SCENERY&amp;lt;/code&amp;gt; from which it is available.&lt;br /&gt;
&lt;br /&gt;
Should the paths in &amp;lt;code&amp;gt;$FG_SCENERY&amp;lt;/code&amp;gt; not be valid, FlightGear falls back to &amp;lt;code&amp;gt;[[$FG ROOT]]/Scenery&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Directories and configuring $FG_SCENERY ===&lt;br /&gt;
&lt;br /&gt;
Mixing scenery types is almost universally a bad idea, and is unsupported. Also note that the scenery packaged with the base package/windows installer may not be the latest scenery.&lt;br /&gt;
&lt;br /&gt;
For this reason it is better to extract downloaded scenery files into a new folder, which we for the sake of this exercise will call &amp;lt;code&amp;gt;$FOOBAR/Scenery&amp;lt;/code&amp;gt;.&lt;br /&gt;
In this directory, create two subdirectories: &amp;lt;code&amp;gt;/Objects&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/Terrain&amp;lt;/code&amp;gt;. You should untar individual files into the &amp;lt;code&amp;gt;/Terrain&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
Then you should set up $FG_SCENERY to use the new path:&lt;br /&gt;
&lt;br /&gt;
* In the [[Qt launcher]]:&lt;br /&gt;
*: Add the $FOOBAR/Scenery folder to Add-ons &amp;gt; Additional scenery folders.&lt;br /&gt;
* On POSIX Clients&lt;br /&gt;
*: &amp;lt;code&amp;gt;set FG_SCENERY=&amp;quot;$FOOBAR/Scenery&amp;quot; + FG_SCENERY&amp;lt;/code&amp;gt;&lt;br /&gt;
* Via a command line option&lt;br /&gt;
*: &amp;lt;code&amp;gt;--fg-scenery=&amp;quot;$FOOBAR/Scenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Directory structure ===&lt;br /&gt;
==== Terrain ====&lt;br /&gt;
&lt;br /&gt;
The Scenery directory will show the following (scenery is shown for completeness and for easy reference to above):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Terrain/&lt;br /&gt;
*** w130n30/&lt;br /&gt;
** Objects/&lt;br /&gt;
*** w130n30/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you download a scenery module called &amp;lt;code&amp;gt;w90n40.tgz&amp;lt;/code&amp;gt; and extract it in &amp;lt;code&amp;gt;Scenery&amp;lt;/code&amp;gt;, the result will resemble something like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Terrain/&lt;br /&gt;
*** w09n40/&lt;br /&gt;
*** w130n30/&lt;br /&gt;
** Objects/&lt;br /&gt;
*** w09n40/&lt;br /&gt;
*** w130n30/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the directory structure is already present in the tar archive, starting from the Scenery directory. Note that you have to extract the tar archive in the Scenery directory, not in the &amp;lt;code&amp;gt;$FG_ROOT&amp;lt;/code&amp;gt; directory, because the Scenery directory is not present in the archive.&lt;br /&gt;
&lt;br /&gt;
==== Objects ====&lt;br /&gt;
&lt;br /&gt;
Objects and models can be found at the [[FlightGear Scenery Object Database]].&lt;br /&gt;
&lt;br /&gt;
These objects are included in each scenery release, but as the object database is more frequently updated than the terrain, one may want to occasionally update the &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt; subdirectory from the scenery objects database between scenery releases.&lt;br /&gt;
&lt;br /&gt;
Another option is to download or update the scenery on-demand by using the built in TerraSync utility described above.&lt;br /&gt;
&lt;br /&gt;
Objects are really part of the scenery and can be found in the &amp;lt;code&amp;gt;Scenery&amp;lt;/code&amp;gt; directory under &amp;lt;code&amp;gt;$FG ROOT&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Objects/&lt;br /&gt;
*** w130n30/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any objects should be installed under the &amp;lt;code&amp;gt;Scenery/Objects&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
==== Models ====&lt;br /&gt;
&lt;br /&gt;
Replaces the former &amp;lt;code&amp;gt;$FG_ROOT/Models&amp;lt;/code&amp;gt;; stores all the shared objects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Models/&lt;br /&gt;
*** Airport/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Airports ====&lt;br /&gt;
&lt;br /&gt;
{{Main article|About Scenery/Airports}}&lt;br /&gt;
&lt;br /&gt;
As of FlightGear 2.4.0, this directory is used to extract airport data (like runway usage and parking spots) from.&lt;br /&gt;
&lt;br /&gt;
The directory tree might look somewhat overwhelming, but it simply follows the &amp;lt;code&amp;gt;Airports/[I]/[C]/[A]/&amp;lt;/code&amp;gt; style.&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
* Scenery/&lt;br /&gt;
** Airports/&lt;br /&gt;
*** K/&lt;br /&gt;
**** S/&lt;br /&gt;
***** F/&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video tutorials (2020.x) ==&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|TNN_AZhaHPU|480px||Scenery installation for Flightgear 2020.x by Parnikkapore. Note this is recorded on a non-gaming laptop, and certain settings are not turned up very high.}}&lt;br /&gt;
{{#ev:youtube|YxWV4wk_dHw|480px||Terramaster tutorial for Flightgear by FGUK - 2017 but still valid in 2020.}} &lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Scenery FAQ]]&lt;br /&gt;
* [[Suggested custom scenery]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;br /&gt;
&lt;br /&gt;
[[ar:Howto:Install_scenery]]&lt;br /&gt;
[[de:Howto:Install_scenery]]&lt;br /&gt;
[[es:Instalación de escenarios]]&lt;br /&gt;
[[fr:Installer une scène]]&lt;br /&gt;
[[it:Come fare:Installare scenari]]&lt;br /&gt;
[[nl:Scenery installeren]]&lt;br /&gt;
[[PL:Instalowanie scenerii]]&lt;br /&gt;
[[pt:Instalando Cenário]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=145635</id>
		<title>Earthview</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=145635"/>
		<updated>2026-07-03T21:08:13Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{See also|Flying on other planets}}&lt;br /&gt;
&lt;br /&gt;
The default FlightGear terrain rendering strategy is designed for visuals from aircraft cruise altitude. While it is [http://www.flightgear.org/tours/pushing-the-boundaries-the-x-15-story/ possible] to use it for altitudes up to some 100 km, the performance impact becomes increasingly prohibitive and the visuals are not overly compelling. In particular for orbiting spacecraft such as [[Vostok-1]] or the [[Space Shuttle]] or even the [[UFO]], neither rendering nor loading the standard terrain mesh is fast enough.&lt;br /&gt;
&lt;br /&gt;
Earthview is an alternative orbital rendering engine for FlightGear designed to get credible visuals in these situations. It is based on projecting a simple textured sphere representing Earth into the scene using ray optics. The quality of the terrain visuals then largely depend on the texture size used. Since there is then only a single object in the field of view, performance is generally very good provided that there is enough texture memory available.&lt;br /&gt;
&lt;br /&gt;
{{Spaceflight}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
[[File:menubar2.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
Earthview is started from the menu as View -&amp;gt; Earthview Orbital Rendering. This brings up the configuration dialog.&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview menu.jpg|thumb|260px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The options checkboxes allow to select&lt;br /&gt;
&lt;br /&gt;
* whether a cloud layer should be rendered above the planet&lt;br /&gt;
* whether the cloud layer information should be used to render cloud shadows onto the terrain&lt;br /&gt;
* whether Earthview should take control of the atmosphere visuals and adjust them based on altitude&lt;br /&gt;
* whether textures should be procedurally enhanced with overlay textures to provide better apparent texture resolution&lt;br /&gt;
* whether textures should be rendered with lighting based on a normal map. Parallax effects are also computed if the normal map contains an alpha channel encoding the inverse height of the Earth's relief&lt;br /&gt;
* whether clouds should be rendered with lighting and parallax effects. These are computed using the alpha channel of the cloud map as an input information of their vertical extension&lt;br /&gt;
&lt;br /&gt;
'Start' run Earthview, 'Stop' ends the computations and removes the 3d model. Generally, using Earthview below an altitude of ~30 km / 100.000 ft is not recommended and will almost certainly not give the desired visuals. If you don't want to start and stop it manually, you can install the [[AutoEarthView]] addon.&lt;br /&gt;
&lt;br /&gt;
Sliders further down can be used to adjust details. For instance, if no cloud shadows are rendered, it is possible to rotate the cloud sphere around Earth and give different places different weather (otherwise, the cloud pattern will always be the same, i.e. if a place is obscured by clouds initially, it will always be). Using Rayleigh, Mie and Density, atmosphere visuals (if [[Atmospheric light scattering]] (ALS) is on) can be adjusted. Visibility dials the amount of fogging seen on the planet. &lt;br /&gt;
&lt;br /&gt;
Earthview runs without ALS, but does not provide any credible visuals of the Atmosphere.&lt;br /&gt;
&lt;br /&gt;
If atmosphere visuals are rendered, Earthview interacts with the weather system in that the visibility used by Earthview and by the weather system will be the same. In the case of [[A local weather system | Advanced Weather]] (AW) this is an issue because both systems try to adjust atmosphere visuals. For this reason, AW needs to be ended before Earthview is started. There is no general option to do this automatically, but an automatic transition from default FG rendering and weather to Earthview is easily coded spacecraft side and implemented for the Space Shuttle.&lt;br /&gt;
&lt;br /&gt;
All textures are taken from the [http://visibleearth.nasa.gov/ NASA Visible Earth project] - at the highest resolution level, Earth can be rendered at 32768x65536 pixel (about 500 x 500 m per pixel) and clouds with half of that. Currently, due to size concern, all the textures distributed in FGData are of low resolution (2048p x 2048p per tile) and do not incorporate the alpha channel encoding the height. Parallax mapping for ground textures is therefore disabled. It is however possible to obtain the textures from the NASA website, process them and straightforwardly use them as a replacement. More detailed instructions to do so are given below in the section &amp;quot;Customization&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
At highest texture resolution, visuals are generally very compelling:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview for low Earth orbit.jpg|450px|Low orbit]] [[File:Earthview hig altitude.jpg|450px|High orbit]]&lt;br /&gt;
&lt;br /&gt;
A dedicated set of shaders for Earth and the cloudsphere is used to create additional effects such a enhanced specular water reflections, cloud shadows and dawnlight color changes:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview cloud shadows.jpg|450px|Cloud shadows in Earthview]] [[File:Earthview specular water reflections.jpg|450px|Specular water reflections and cloud shadows in Earthview]]&lt;br /&gt;
&lt;br /&gt;
Earthview can also render Aurora Borealis seen from space.&lt;br /&gt;
&lt;br /&gt;
For comparison, this is the FG native terrain tweaked to render with 600 km visibility from 100 km altitude (bringing a gaming laptop to 10 fps in the process):&lt;br /&gt;
&lt;br /&gt;
[[File:X-15-iceland05.jpg|450px|X-15 over Iceland]] [[File:X-15-iceland03.jpg|450px|X-15 in space]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Since there is no detailed terrain mesh involved and there is essentially just a single textured sphere in the field of view, performance is generally excellent even on low end graphics cards.&lt;br /&gt;
&lt;br /&gt;
The main requirement (especially if custom hires textures are used) is available memory and GPU texture memory. All textures are split into eight tiles, four for the northern hemisphere (N1 to N4), and four for the southern hemisphere (S1 to S4) and each tile is loaded, or unloaded, according to visibility. As such, GPU memory is efficiently used and limited graphic card memory should not be an issue for the default texture size. However, the loading of a texture tile induces some bottleneck and FG may hang for a couple of seconds, or more (depending on tile resolution), while the texture appears. &lt;br /&gt;
&lt;br /&gt;
Where this is feasible and supported by the GPU drivers, pre-compressed and mipmapped dds textures offer the fastest loading times. As such textures can not be used with many OpenSource graphics drivers, the default textures are not in dds format, but these can be generated along the lines discussed in the &amp;quot;Customization&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
For high-end graphic cards, it is possible to actually force the loading of all texture tiles at once when Earthview starts. This is triggered with the command line option:&lt;br /&gt;
&lt;br /&gt;
  --prop:/earthview/show-force-all=true&lt;br /&gt;
&lt;br /&gt;
With the maximum resolution textures (16384x16384 pixels for a world tile and 8192x8192 pixels for a cloud and a normalmap tile), expect a minute or more for the loading, around 6GB of GPU memory and 16GB of RAM to be filled. If you can afford it, there will be no other loading bottleneck afterwards. These numbers can accordingly be lowered using lower resolution tiles.&lt;br /&gt;
&lt;br /&gt;
Finally, while it is possible to use Earthview in rendering schemes other then ALS, this is neither supported nor endorsed. While they work perfectly well for the normal operations envelope of a flightsim, at high altitude the default renderer as well as [[Project Rembrandt|Rembrandt]] do not render a realistic horizon line, plausible atmosphere visuals or the hard shadows of outer space and Earthview can not compensate for these issues. As such, on old flightgear versions (up to 2018) when using the [[Compositor]] as the rendering pipeline, it is compulsory to default it to ALS with --compositor=Compositor/als.&lt;br /&gt;
&lt;br /&gt;
== Customization ==&lt;br /&gt;
&lt;br /&gt;
To get full advantage of Earthview, and your graphic card, you may install and use your own high resolution tiles as well as normal maps having a alpha channel to trigger parallax mapping.&lt;br /&gt;
&lt;br /&gt;
=== Texture generation ===&lt;br /&gt;
&lt;br /&gt;
There are two ways to obtain these textures:&lt;br /&gt;
&lt;br /&gt;
==== The easy way ====&lt;br /&gt;
&lt;br /&gt;
When our resources allow for it, some users generate these textures and make them available for download. They may be obtained via torrent with this magnet link:&lt;br /&gt;
&lt;br /&gt;
    magnet:?xt=urn:btih:6df05a15c863040fd31278dfd1f719523b639cf2&amp;amp;dn=EarthView.World.August-2020.06&lt;br /&gt;
&lt;br /&gt;
and may also be available for download at this url:&lt;br /&gt;
&lt;br /&gt;
    [https://curl.irmp.ucl.ac.be/~chris/upload/fg/earthview/ Earthview/]&lt;br /&gt;
&lt;br /&gt;
A bash script to automatically download the full per-month data from above url [http://ix.io/3ogk is available here]. It downloads the dataset for every month, or it symlinks a dataset for a specified month into a specified place, see help of the script (run without arguments or with '-h'). To choose which resolution(s) to download or which image file format(s) to download the variables in the script needs to be edited. Needs an unix environment with bash and wget.&lt;br /&gt;
&lt;br /&gt;
==== The interesting way ====&lt;br /&gt;
&lt;br /&gt;
Most likely the easy way is no longer available, or you are curious. Chris_Blues made a wonderful Bash-script that will download the NASA images and do the texture generation for you, in the correct way. It is available on github, together with the instructions on how to use it:&lt;br /&gt;
&lt;br /&gt;
    [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview]&lt;br /&gt;
&lt;br /&gt;
This program can generate world, clouds and normal maps with height data included in the alpha channel, and at various resolutions ranging from 1024x1024 to 16384x16384 pixels.&lt;br /&gt;
&lt;br /&gt;
==== Remarks ====&lt;br /&gt;
&lt;br /&gt;
Notice that all the input images are provided by NASA and any usage of the textures should be made in accordance with their distribution policy. They are directly accessible for download at [http://visibleearth.nasa.gov/ Visible Earth], look into the Blue Marble section and search for a texture set of your choice.&lt;br /&gt;
&lt;br /&gt;
NASA provides different seasons for the Earth images, even one set of images per month. [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview] allows you to chose the month for which you want to generate your set of tiles.&lt;br /&gt;
&lt;br /&gt;
Graphics cards prefer powers of two in texture sizes, so [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview] resizes the tiles to 1024x1024, 2048x2048, 4096x4096, 8192x8192 or 16384x16384 pixels. Be aware of the original image resolution, there is no much gain into using a super-sampled tile. For instance, the current cloud maps provided by NASA have a resolution of typically 10000 pixels. Using 8192x8192 sampling is the best option, the gain of super-sampling it at 16384x16384 is very small. Similar thing holds true for heights and normalmaps (16384x16384 for them is also supersampled, so prefer at most 8192x8192 for them).&lt;br /&gt;
&lt;br /&gt;
=== Installing and using customized textures ===&lt;br /&gt;
&lt;br /&gt;
The texture tiles loaded by Earthview reside in&lt;br /&gt;
&lt;br /&gt;
   $FGData/Models/Astro/Textures&lt;br /&gt;
&lt;br /&gt;
where $FGData depends on the installation path of flightgear-fgdata. If you only want to use &amp;quot;png&amp;quot; texture tiles, simply replace all the '''world_*.png''', '''clouds_*.png''' and '''normalmap_earth_*.png''' files by your own.&lt;br /&gt;
&lt;br /&gt;
If you want to use &amp;quot;dds&amp;quot; mipmapped images, then you have to edit a few &amp;quot;ac&amp;quot; files to tell Earthview to use them. These configuration files reside in&lt;br /&gt;
&lt;br /&gt;
  $FGData/Models/Astro&lt;br /&gt;
&lt;br /&gt;
and are&lt;br /&gt;
&lt;br /&gt;
  earth_*.ac&lt;br /&gt;
&lt;br /&gt;
On Unix systems, the program '''sed''' is your friend (but make a backup before).&lt;br /&gt;
&lt;br /&gt;
* Remarks&lt;br /&gt;
It is possible to assign any image you fancy to be used as a tile by Earthview. For this, you can edit the file '''earth_unitscale_rawuv.ac''' to load your images, and edit '''earth.xml''' such that it points to your just edited 3d model via &amp;lt;path&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/path&amp;gt;. You can do the same for '''cloudsphere.xml'''. However, assigning textures in this manner, as they are to the &amp;quot;rawuv&amp;quot; sphere, creates visible seams where the texture sheets end. This is particularly visible if parallax mapping is rendered as the computation requires shifting the textures over the sphere.&lt;br /&gt;
&lt;br /&gt;
The solution is to add margins that encompass a bit of the neighbouring tiles. This is what [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview] is doing (as well as the texture set provided). These bordered tiles don't use '''earth_unitscale_rawuv.ac''' but instead '''earth_unitscale_hires.ac''', which is the default (see [https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=15754&amp;amp;start=135#p207629 this forum post] for the original discussion). In other words, if you use [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview] to generate your own textures, you do not need to change '''earth.xml''' nor '''earth_unitscale_rawuv.ac'''. Notice that you still need to edit '''earth_unitscale_hires.ac''' (and the rest of the '''earth_*.ac''') if you want to use dds tiles!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Open tips ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Since there is no limit to customization, and if you can afford 50GB of disk space, you can create a whole set of directories containing Earth textures for each month of the year, as for instance:&lt;br /&gt;
&lt;br /&gt;
   EarthView.World.January-2020.06/&lt;br /&gt;
   EarthView.World.February-2020.06/&lt;br /&gt;
   ...&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
On linux, a simple &amp;quot;cron&amp;quot; job can automatically link the content of one of these directories to '''$FGData/Models/Astro/Textures/''', like this one:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   TEXTUREDIR=&amp;quot;/usr/share/games/flightgear-extra/Models/Textures&amp;quot;&lt;br /&gt;
   TIMESTAMP=&amp;quot;2020.06&amp;quot;&lt;br /&gt;
   MONTH=$(date +%B)&lt;br /&gt;
   WORLDRES=&amp;quot;16384&amp;quot;&lt;br /&gt;
   echo &amp;quot;Going to: $TEXTUREDIR&amp;quot;&lt;br /&gt;
   cd $TEXTUREDIR&lt;br /&gt;
   echo &amp;quot;Linking world textures of: $MONTH&amp;quot;&lt;br /&gt;
   ln -s -f ../EarthView.World.${MONTH}-${TIMESTAMP}/${WORLDRES}/world_*.dds .&lt;br /&gt;
   ln -s -f ../EarthView.World.${MONTH}-${TIMESTAMP}/${WORLDRES}/world_*.png .&lt;br /&gt;
   echo &amp;quot;done&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And you'll be flying Earth with textures matching the current month!&lt;br /&gt;
&lt;br /&gt;
* You may also fancy textures from other celestial bodies, as for instance the Moon. Textures generator available here [https://github.com/eatdust/LROC2FGearthview LROC2FGearthview] and shaders there [https://github.com/eatdust/moonshaders moonshaders], see the original discussion on the forum [https://forum.flightgear.org/viewtopic.php?f=87&amp;amp;t=15754&amp;amp;start=375#p369043 viewtopic.php?f=87&amp;amp;t=15754&amp;amp;start=375#p369043].&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
Technically, Earth is rendered as a ~58 km sized sphere positioned 1/100 of the actual altitude away from the spacecraft. It's position is constantly adjusted to give the same visual size using ray optics equations, and its attitude is rotated to place you 'above' the correct latitude and longitude. For 100 km altitude, the camera is thus actually just 1000 m away from the sphere.&lt;br /&gt;
&lt;br /&gt;
Compared to almost anything else, the performance impact of re-positioning the sphere every frame is minimal.&lt;br /&gt;
&lt;br /&gt;
The reason is that graphics cards operate with floating point precision, and a sphere with the real size of Earth would create (potentially architecture dependent) massive numerical problems (the default far plane clipping distance in FG is some 120.000 m). The same is in fact true for the skydome - it's actually a half dome some 20 km away from the camera, made to appear behind everything else by rendering magic. Or, in other words, we can't simply render a 'real earth' and a 'real atmosphere' because that would potentially overtax the GPU - real time rendering is always trickery of some sort.&lt;br /&gt;
&lt;br /&gt;
The implementation has the negative consequence that you may not move the view point too far from the spacecraft (the ray optics illusion works for one object, but not for two simultaneously) - in particular flyby view or tower view will give you odd results with Earthview.&lt;br /&gt;
&lt;br /&gt;
The real terrain engine is not technically switched off, but (assuming normal visibility settings) the terrain mesh is just too far to trigger either tile loading or rendering - as you get back from orbit, the terrain will load underneath Earthview, and if you end it at a reasonable altitude (say between 80.000 and 120.000 ft) you can go right back to the native FG terrain with minimum fuss.&lt;br /&gt;
&lt;br /&gt;
== Screenshots Gallery ==&lt;br /&gt;
{{screenshot cat&lt;br /&gt;
| category = Screenshots of Earthview&lt;br /&gt;
| subject  = the Earthview orbital rendering engine&lt;br /&gt;
| image    = Shuttle FG01.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A sum up of some nice screenshots, and what is achievable while playing with all the options that Earthview offers us.&lt;br /&gt;
&lt;br /&gt;
Sunset and Diffraction&lt;br /&gt;
&lt;br /&gt;
[[File:Black knight UFO Shuttle sunset.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Black Knight UFO Shuttle&lt;br /&gt;
&lt;br /&gt;
[[File:Black_knight_UFO.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
500Nm above the World&lt;br /&gt;
&lt;br /&gt;
[[File:Far_side_of_the_world.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
South Pole and Lighting game&lt;br /&gt;
&lt;br /&gt;
[[File:Shuttle_over_South_Pole_500_Nm.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Good night World&lt;br /&gt;
&lt;br /&gt;
[[File:SOTM_2019-09_Firing_at_Dawn_by_GinGin.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
California Fly By&lt;br /&gt;
&lt;br /&gt;
[[File:Edwards_RTLS_earthview.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Lonely External Tank&lt;br /&gt;
&lt;br /&gt;
[[File:External_Tank_on_Orbit.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Ready for Orbital Operations Eileen&lt;br /&gt;
&lt;br /&gt;
[[File:Orbital_ops_bay_opened_earthview.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[AutoEarthView]] - an addon that automatically starts/stops Earthview based on the altitude&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Suggested_custom_scenery&amp;diff=145634</id>
		<title>Suggested custom scenery</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Suggested_custom_scenery&amp;diff=145634"/>
		<updated>2026-07-03T21:05:35Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Besides the official TerraSync scenery that is automatically synced while FlightGear is running, there are a number of custom sceneries available, created by users for beautifying some specific areas of the scenery. This page is a list of some '''suggested custom scenery''' for downloading and visiting. This list can not be complete as custom sceneries might come and go. It's worth to search the forum for additional custom sceneries. &lt;br /&gt;
&lt;br /&gt;
Since FlightGear 2020.3.7, buildings, roads, pylons, and other objects are ''automatically'' downloaded, based on Open Street Map (OSM) data - see [[OSM2City 1st Worldbuild|OSM2City 1st world build]]. You don't have to download OSM2City custom sceneries for these anymore. However, you need to enable then in the [[Rendering Options]] menu.&lt;br /&gt;
&lt;br /&gt;
* See '''[[Suggested_airports]]''' for a quick list of featured airports situated in well developed regions, with links to OSM2City scenery. It's suitable for newcomers to start at to explore surrounding regions. (March 2020)&lt;br /&gt;
&lt;br /&gt;
* '''OSM2City scenery''' buildings, roads, pylons, and other objects, for the whole planet is now on TerraSync, and ''automatically downloaded'' by FlightGear. The current OSM2City output on TerraSync is from the [[Osm2city_worldbuild|1st world build of OSM2City]] scenery ([https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=35581 forum thread]). Custom sceneries for countries and regions are available [[Areas_populated_with_osm2city_scenery|'''here''']]. Note: Old custom sceneries (before March 2021) will contain folders for OSM2City output like Buildings, Roads or Pylons with outdated and obsolete objects. These folders will override the new higher quality and faster rendering objects from TerraSync. Remember to remove these from your custom scenery folder list! If your custom scenery contains sub-folders that are not obsolete, like Terrain, you can leave these alone and only delete OSM2City sub-folders in your custom scenery folder. There are some OSM2City custom sceneries that are not obsolete - these have builds of OSM2City with different options from the 1st worldbuild - for example, custom scenery with auto-generation on in areas without good OSM coverage like the Hawaii custom scenery.&lt;br /&gt;
&lt;br /&gt;
* '''[[:Category:Scenery_enhancement_projects|Custom terrain &amp;amp; region definition projects]]''': There are ongoing scenery enhancement projects to update both regional definitions and terrain in large areas like the [[Australia_Custom_Scenery|Australia]] (regional definitions are planned to be added to FG core). This a partial list, search the '''[https://forum.flightgear.org/viewforum.php?f=5 scenery forum]''' for details. Some of the output of projects like Hawaii terrain has already been integrated into Terrasync.&lt;br /&gt;
&lt;br /&gt;
* Terrasync scenery which is automatically downloaded has high resolution terrain. All of Europe currently has high resolution terrain from CORINE data. A lot of old pre-world scenery 2 may be obsolete.&lt;br /&gt;
&lt;br /&gt;
* Status of terrain in custom sceneries: The page as it stands is missing almost all custom terrain. Some old island custom sceneries have been merged into the automatically downloaded sceneries terrasync. [[User:Wlbragg#Kansas_Custom_Scenery|Kansas/Midwest]] and [[US-Tennessee_Custom_Scenery|Tennessee]] are two examples of custom sceneries that aren't obsolete (March 2020).&lt;br /&gt;
&lt;br /&gt;
:: ''If you are the creator of an island scenery you can add it to [[TerraSync]] by contacting the flightgear-devel [[Mailing_lists|mailing list]]''.&lt;br /&gt;
&lt;br /&gt;
* [[Project3000]] adds a lot of clutter and buildings to airports which do not have models or details. It's a must have. It is planned to be integrated into the FG core eventually. [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=27688 Forum thread]. (March 2020)&lt;br /&gt;
&lt;br /&gt;
== New scenery for the Americas (January 2024) ==&lt;br /&gt;
&lt;br /&gt;
[[File:Cygd-c140-winter.jpg|thumb|New FlightGear Americas scenery, approaching Georgian Bay (Lake Huron) in winter. Note the detail for inland water.]]&lt;br /&gt;
New scenery is available for all of the Americas, including islands geographically or politically associated with them (such as Greenland, the Hawaiian Islands, Bermuda, and the Galapagos). This is intended to replace the current default TerraGear scenery as soon as we're ready to rebuild osm2city for it. The scenery includes many more airports (5-10x as many as the default scenery, most with correct taxiways and aprons), detailed inland water, and detailed 30m digital elevations. See [[FlightGear Americas Scenery (custom)]] for download details.&lt;br /&gt;
&lt;br /&gt;
This scenery is suitable for use as a default to fill in the gaps between some of the more-detailed custom-scenery areas listed below.&lt;br /&gt;
&lt;br /&gt;
== Custom scenery (May 2021) ==&lt;br /&gt;
&lt;br /&gt;
''This is only a fraction of available scenery (May 2021). Search the [https://forum.flightgear.org/viewforum.php?f=5 scenery forum] for more.''&lt;br /&gt;
&lt;br /&gt;
''See [[Howto:Install_scenery|How to install custom scenery packages]].''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''USA, Tennessee:''' custom scenery for Tennessee by [[User:Scttgs|Scott Giese]](xDraconianx). This is very high resolution scenery created to test potential resolution &amp;amp; performance for the next world scenery build. See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=35521 forum thread] for feedback and more info. See the [[US-Tennessee_Custom_Scenery|wiki page]] for downloads. (March 2020)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:US-Tennessee-EastCentral.jpg&lt;br /&gt;
File:US-Tennessee-West.jpg&lt;br /&gt;
File:US-Tennessee-East.jpg&lt;br /&gt;
File:US-Tennessee-WestCentral.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''USA, Kansas &amp;amp; Ohio:''' custom scenery for the entire states of Kansas and Ohio created by [[User:Wlbragg|Wlbragg]]. This high resolution scenery includes textures. See the [[User:Wlbragg#Kansas_Custom_Scenery|wiki page]] for downloads and info. (March 2020)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Kansas_Scenery_Two.jpg&lt;br /&gt;
File:KDAY_James_M._Cox_Dayton_International_Airport.jpg&lt;br /&gt;
File:Kansas_Scenery_One.jpg&lt;br /&gt;
File:Kansas_Scenery_Three.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Scandinavia''': custom scenery covering Scandinavian countries such as Norway, Sweden, and Finland by [[User:D-ECHO|D-ECHO]]. Norway and Sweden have some of the most detailed regional definitions using recent engine features. This custom scenery project further improves it by mainly adding more detailed land type classification, digital elevation data, as well as updated airports. As of March 2020 it updates parts of these countries. See the [[Scandinavia Custom Scenery]] page for download and details.&lt;br /&gt;
&lt;br /&gt;
* '''USA, Pennsylvania, New Jersey, and New York City''': custom scenery for these Eastern US states by montagdude. See [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=38041 forum thread]. Contains custom terrain, OSM2City, and custom materials. (September 2020)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:Ec135-manhattan.jpg&lt;br /&gt;
File:Pa28-wilkes-barre.jpg&lt;br /&gt;
File:C182s-atlantic-city.jpg&lt;br /&gt;
File:Dr400-philadelphia.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''USA, Virginia, Maryland, Delaware, and the District of Columbia''': custom scenery for these Mid-Atlantic US states by montagdude. See [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37322 forum thread]. Contains custom terrain, OSM2City, and custom materials. (April 2020)&lt;br /&gt;
&lt;br /&gt;
* '''USA, Rhode Island and southeastern Massachusetts''': custom scenery for Rhode Island and southeastern parts of the state of Massachusetts by montagdude. See [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=36977 forum thread]. Contains OSM2City. (March 2020)&lt;br /&gt;
&lt;br /&gt;
* '''USA, Champaign, Chicago, Milwaukee and surrounding areas''': custom scenery for Champaign, Bloomington, Chicago, Milwaukee and northern Illinois by pb321. See [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=39209 forum thread] and to report issues. Contains OSM2City and (optional) color corrected USGS orthophotos. (May 2021)&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:KPWK-Chicago_Executive.jpg&lt;br /&gt;
File:ChicagoAM-OrthoCropped.jpg&lt;br /&gt;
File:Approaching KMKE.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''USA, Oshkosh, Green Bay, U.P. of Michigan and surrounding areas''': custom scenery for Oshkosh, Appleton, Green Bay and the central Upper Peninsula of Michigan by pb321. See [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=39264 forum thread] and to report issues. Contains OSM2City and (optional) color corrected USGS orthophotos. (May 2021)&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:GreenBayNorth.jpg&lt;br /&gt;
File:Near Houghton MIa.jpg&lt;br /&gt;
File:MarquetteA.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Venezuela: [[Project Venezuela]]:''' custom scenery for Venezuela by [[User:Legoboyvdlp|J. Redpath]], with improved airport layouts, and objects at several airports. Highly improved over TerraSync status. (March 2020)&lt;br /&gt;
&lt;br /&gt;
* '''Canary Islands:''' custom scenery for the Canary Islands by [[User:D-ECHO|D-ECHO]] with improved terrain, objects, vegetation, building, reworked airports, mostly with buildings and furniture.  Check out the [[Canary_Islands_Custom_Scenery|wiki page]]. (March 2020)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
GCLP-1.jpg&lt;br /&gt;
GCLP-2.jpg&lt;br /&gt;
GCLP-3.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Argentina''':  OSM-based custom scenery for Argentina and parts of Chile and Uruguay by Barta.&amp;lt;br/&amp;gt;Updated airports, landcover from OSM polygons, line data and objects using Osm2City. Updated frequently!&amp;lt;br/&amp;gt;Downloads:&lt;br /&gt;
:: All output: [http://scenery.bartatech.net/ http://scenery.bartatech.net/] . As of July 2020 these areas are available: Santiago (including Valparaiso), Mendoza, Buenos Aires, complete Rosario area. The other parts only have terrain (no roads, buildings etc). The server will eventually contain all of the sceneries in the southern cone of South America: Argentina, Chile, Uruguay.&lt;br /&gt;
::: It's possible to use the [http://scenery.bartatech.net/ scenery.bartatech.net] server directly as a Terrasync server. Just use the following in the [[FlightGear_Qt_launcher|launcher]] or .fgfsrc file: &lt;br /&gt;
::: ''--prop:/sim/terrasync/http-server=&amp;lt;nowiki&amp;gt;http://scenery.bartatech.net/&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
:: Buenos Aires province: https://github.com/bartacruz/scenery-6040 &lt;br /&gt;
:: Cuyo Area + Santiago: https://github.com/bartacruz/scenery-cuyo&lt;br /&gt;
&lt;br /&gt;
* '''USA, Florida''': custom scenery for Florida by [[User:Legoboyvdlp|J. Redpath]] with both terrain and OSM2City. It also covers the [[Space Shuttle]] landing site at [[Shuttle_Landing_Facility|KTTS]]. See the [https://github.com/legoboyvdlp/Florida-fg-CustomScenery repository] downloads section for the [https://github.com/legoboyvdlp/Florida-fg-CustomScenery/archive/master.zip zip-file].&lt;br /&gt;
&lt;br /&gt;
* '''London, England''': custom scenery by [[User:Legoboyvdlp|J. Redpath]] for the London area including an improved Gatwick Airport (ICAO: EGKK). See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37444 forum thread] and [https://github.com/legoboyvdlp/London-fg-CustomScenery repository] downloads section for the [https://github.com/legoboyvdlp/London-fg-CustomScenery/archive/master.zip zip-file].&lt;br /&gt;
&lt;br /&gt;
* '''Moscow area, Russia''': custom scenery by [[User:Legoboyvdlp|J. Redpath]] for the Moscow area covering 14 tiles. See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37887 forum thread] for the github [https://github.com/legoboyvdlp/Moscow-fg-CustomScenery/archive/master.zip download]. (August 2020)&lt;br /&gt;
&lt;br /&gt;
* '''Valdivostock area, Russia''': custom scenery by [[User:Legoboyvdlp|J. Redpath]] for the Vadivostock area. See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37887 forum thread] for the github [https://github.com/legoboyvdlp/Vladivostok-fg-CustomScenery/archive/master.zip download]. (August 2020)&lt;br /&gt;
&lt;br /&gt;
* '''Eastern China''': custom scenery by [[User:Legoboyvdlp|J. Redpath]] for the eastern portion of China covering the area around ZSAM and ZSNJ airports. See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37887 forum thread] for the github [https://github.com/legoboyvdlp/EastChina-fg-CustomScenery/archive/master.zip download]. (August 2020)&lt;br /&gt;
&lt;br /&gt;
* '''Beijing area, China''': custom scenery by [[User:Legoboyvdlp|J. Redpath]] for the area around Beijing covering 15 tiles. See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37887 forum thread] for the github [https://github.com/legoboyvdlp/Beijing-fg-CustomScenery/archive/master.zip download]. (August 2020)&lt;br /&gt;
&lt;br /&gt;
* '''Sri Lanka''': 2019 custom scenery by [[User:Legoboyvdlp|J. Redpath]] for the island of Sri Lanka in the Indian ocean including rebuilt terrain, OSM2City output, and improved airports. See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37887 forum thread] for github [https://codeload.github.com/legoboyvdlp/SriLanka-fg-CustomScenery/zip/master download].&lt;br /&gt;
* '''Dominican Republic:''' 2021 custom scenery by flc972 for [[Gregorio Luperon International Airport]] (MDPP) with detailed modeling of interiors, night lightmaps, ground net and animated jetways as well as some terrain. The airport is located on the Caribbean island of Hispaniola. See the [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=39179 forum thread] for bitbucket [https://bitbucket.org/fableb/flcs-mdpp_airport/downloads/ download] .&lt;br /&gt;
* '''Turkey:''' custom scenery including 12 airports. Can be downloaded from https://github.com/Klaudiae/FGCompanion-TurkeyEnhanced&lt;br /&gt;
* '''Turkey, Şanlıurfa:''' custom scenery by TheFGFSEagle. Can be downloaded from https://github.com/TheFGFSEagle/LTCS-scenery&lt;br /&gt;
* '''Poland:''' custom scenery including 14 airports. Can be downloaded from https://github.com/Klaudiae/FGCompanion-PolandEnhanced&lt;br /&gt;
&lt;br /&gt;
== Custom scenery set to be merged into TerraSync and FGData ==&lt;br /&gt;
&lt;br /&gt;
''These are now in the process of being merged. If you know of custom sceneries of islands or complete landmasses that have not been merged yet, contact the developers. (March 2021).''&lt;br /&gt;
* New Zealand scenery ([https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=36892 forum thread]). (March 2020)&lt;br /&gt;
* [[Australia_Custom_Scenery|Australian custom scenery project]] output - Regional definitions, and textures. See these forum threads for download and details: [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=36145 official thread], demo scenery [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=36956 install details (March 2020)]. A partially completed Sydney airport (YSSY) is also available for download. The terrain in the demo scenery release is likely to be merged when a re-build of Australia is done.&lt;br /&gt;
* All Channel Islands (Jersey, Guernsey, Alderney, Sark, etc) ([https://github.com/legoboyvdlp/Jersey-fg-CustomScenery github]). (March 2020).&lt;br /&gt;
* Sri Lanka, [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=37887 forum thread] and [https://github.com/legoboyvdlp/SriLanka-fg-CustomScenery Github]&lt;br /&gt;
&lt;br /&gt;
== Custom scenery which has been merged into TerraSync and FGData ==&lt;br /&gt;
&lt;br /&gt;
''You can remove old scenery folders containing known merged sceneries from your [[Howto:Install_scenery|scenery folder list]].''&lt;br /&gt;
&lt;br /&gt;
* Islands merged recently (2018-2019): Hawaii, Iceland, Island of Jan Mayen (Norway)&lt;br /&gt;
&lt;br /&gt;
== Old and undetermined custom scenery ==&lt;br /&gt;
&lt;br /&gt;
''Some of these may have been obsoleted by the release of the [[FlightGear World Scenery 2.0|new world scenery in November 2013]].''&lt;br /&gt;
&lt;br /&gt;
''Please move sceneries that aren't obsolete into other categories.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''France''': Custom scenery for France with improved landcover information and more detailed elevation information (no improvements on the objects) is under development. See the [[Custom France Scenery|Custom France Scenery page]]. (Pre WS 2.0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:High_textures_transitions3.png|High detail France scenery&lt;br /&gt;
Image:High_textures_transitions4_1.png|High detail France scenery&lt;br /&gt;
Image:High_textures_transitions6_2.png|High detail France scenery&lt;br /&gt;
Image:High_textures_transitions10_1.png|Mont Blanc&lt;br /&gt;
Image:High_textures_transitions11_1.png|Aguille du midi?&lt;br /&gt;
Image:High_textures_transitions13_1.png|Matterhorn without landclass, just slope transitions&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Innsbruck (Austria) area''': The scenery currently covers a 1x1 degree area containing parts of Austria and Germany, and makes use of accurate data from the Corine Land Cover, and Open Street Map projects. See [http://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=5350 this forum post] and [[FlightGear Newsletter August 2009#Innsbruck Gets A Face Lift|the August 2009 newsletter]] for details. (Pre WS 2.0)&lt;br /&gt;
&lt;br /&gt;
* '''LOWI &amp;amp; Austria Scenery Preview''': This scenery includes the Innsbruck scenario and is much more complete than the previous. It is still experimental, but should try it as having been really good. Info and download can be found [[Innsbruck Airport|here]]. &lt;br /&gt;
&lt;br /&gt;
* '''Iberian Peninsula: Spain and Portugal''': custom scenery for Spain and Portugal with improved landcover and additional airports and objects. See the [[Custom Spain and Portugal Scenery|custom Spain and Portugal scenery page]].&lt;br /&gt;
&lt;br /&gt;
* '''EDDK''': Custom scenery for the Cologne/Bonn airport in Germany with very nice and realistic terminal buildings. Available from https://github.com/mherweg/EDDK-fg-CustomScenery.&lt;br /&gt;
&lt;br /&gt;
* '''Argentina''':  OSM-based custom scenery for Argentina and parts of Chile and Uruguay.&amp;lt;br/&amp;gt;Updated airports, landcover from OSM polygons, line data and objects using Osm2City. Updated frequently!&amp;lt;br/&amp;gt;Downloads:&lt;br /&gt;
** Buenos Aires province: https://github.com/bartacruz/scenery-6040 &lt;br /&gt;
** Cuyo Area + Santiago: https://github.com/bartacruz/scenery-cuyo&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Howto:Improve scenery in your area, or area of interest]]&lt;br /&gt;
&lt;br /&gt;
{{suggested}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Custom scenery]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145633</id>
		<title>TerraSync</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145633"/>
		<updated>2026-07-03T20:51:49Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding-left:20px;&amp;quot;&amp;gt;''Not to be confused with [[TerraGear]], a toolset to generate scenery.''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have a steady and reasonably fast internet connection, you can use the built-in '''TerraSync''' instead of manually [[Howto: Install scenery|installing sceneries]]. TerraSync is a utility that automatically downloads the newest version of the needed [[FlightGear]] scenery while the simulator is running. It runs in the background (optionally as a separate process), monitors your position, and downloads (or updates) the latest scenery from the master scenery server &amp;quot;just in time&amp;quot;.&lt;br /&gt;
For some time now TerraSync has been integrated into the core FlightGear process, so there is no need to deal with TerraSync for the typical user.&lt;br /&gt;
&lt;br /&gt;
The master repository for TerraSync, i.e. the online resource from which TerraSync downloads its files, is synchronized with the [http://scenemodels.flightgear.org/ FlightGear Scenery Database] once a day. So when using TerraSync, you will always have &lt;br /&gt;
# the latest [[File Formats#.2A.stg|.stg-files]], which tell FlightGear where to place an object &lt;br /&gt;
# the latest '''static''' models for objects. (Static models define unique objects that exist in one place only, such as famous buildings or landmarks.) &lt;br /&gt;
# the latest '''shared''' models for objects. (Generic models used more than once in different places, each can represent many different objects, like generic houses or ships)&lt;br /&gt;
&lt;br /&gt;
== Enabling TerraSync ==&lt;br /&gt;
&lt;br /&gt;
=== In the launcher ===&lt;br /&gt;
[[File:Terrasync option.png|400px|thumb|The scenery download options in the settings panel.]]&lt;br /&gt;
In the launcher, click &amp;lt;tt&amp;gt;Settings &amp;gt; Download scenery automatically&amp;lt;/tt&amp;gt;. If you meet errors related to DNS after starting FG, you may click the &amp;quot;Show more&amp;quot; button on the right and choose a DNS server.&lt;br /&gt;
&lt;br /&gt;
=== Inside FlightGear ===&lt;br /&gt;
In the FlightGear [[menu]], click &amp;lt;tt&amp;gt;File &amp;gt; Scenery Download&amp;lt;/tt&amp;gt; and then check the &amp;quot;Enable automatic scenery download&amp;quot; option. &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
By default, when enabled with &amp;lt;code&amp;gt;--enable-terrasync&amp;lt;/code&amp;gt;, TerraSync now downloads to &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt;/TerraSync, where &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt; is FlightGear's download directory.&lt;br /&gt;
&lt;br /&gt;
FlightGear's download directory may be explicitly set using FlightGear's &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; [[Command line options|command line option]], otherwise it defaults to:&lt;br /&gt;
*[[$FG_HOME]] on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads&amp;lt;/tt&amp;gt; on Windows (which may be located under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt;, however there are likely several possibilities depending on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
If you neither pass &amp;lt;code&amp;gt;--terrasync-dir&amp;lt;/code&amp;gt; nor &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; to FlightGear, then the '''default TerraSync directory''' is:&lt;br /&gt;
*&amp;lt;tt&amp;gt;[[$FG_HOME]]/TerraSync&amp;lt;/tt&amp;gt; on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads\TerraSync&amp;lt;/tt&amp;gt; on Windows (which is ''possibly'' under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt; but probably depends on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
==== POSIX compliant [[command line]] shell ====&lt;br /&gt;
&lt;br /&gt;
Start TerraSync:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% nice terrasync -p 5500 -S -d &amp;quot;$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The -S option tells terrasync to use the SVN protocol to fetch data. If you omit it terrasync will use the rsync program instead (which has to be installed on your system).&lt;br /&gt;
&lt;br /&gt;
Start FlightGear:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% fgfs --atlas=socket,out,1,localhost,5500,udp --fg-scenery=&amp;quot;[[$FG_ROOT]]/Scenery/:$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The full documentation and source for TerraSync is located in the FlightGear source distribution (in &amp;lt;code&amp;gt;utils/TerraSync/&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Network or DNS error ===&lt;br /&gt;
{{See also|DNS#TerraSync}}&lt;br /&gt;
&lt;br /&gt;
If network/DNS errors are encountered, you can click the &amp;quot;Show more&amp;quot; button on the right and select a DNS server. If this does not work, enter &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server= your server&amp;lt;/code&amp;gt; in the launcher under Settings &amp;gt; Additional Settings (e.g., &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://flightgear.sourceforge.net/scenery&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://terrasync.b-cdn.net/osm2city/&amp;lt;/code&amp;gt;). Note that hardcoding the TerraSync server is inflexible. Remove it once the network returns to normal.&lt;br /&gt;
&lt;br /&gt;
There is a forum post: [https://forum.flightgear.org/viewtopic.php?p=438783 Network errors occurred]&lt;br /&gt;
&lt;br /&gt;
In addition, you can manually download .txz scenery files from [https://terrasync.b-cdn.net/ terrasync.b-cdn.net] and unpack them into your &amp;lt;code&amp;gt;TerraSync&amp;lt;/code&amp;gt; folder correctly.&lt;br /&gt;
&lt;br /&gt;
=== Some scenery objects/buildings do not appear ===&lt;br /&gt;
If you've already enabled them in the [[Rendering Options]] dialog, click File &amp;gt; Scenery Download and check whether the status is ready.&lt;br /&gt;
&lt;br /&gt;
=== Locked airport directories ===&lt;br /&gt;
You get an error indicating locked airport directories while TerraSync is running.&lt;br /&gt;
&lt;br /&gt;
 Working copy '...\FlightGear\terrasync\Airports\K' locked&lt;br /&gt;
&lt;br /&gt;
While those directories often actually ''are'' updated, the error is annoying.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Search the TerraSync directory for files named &amp;lt;tt&amp;gt;lock&amp;lt;/tt&amp;gt; and delete them. They are supposed to be removed automatically when a TerraSync update is completed, but sometimes that fails.&lt;br /&gt;
&lt;br /&gt;
== Internals ==&lt;br /&gt;
The TerraSync client first queries NAPTR records for the DNS name terrasync.flightgear.org, then compares the local SHA1 hash with the remote file and downloads tiles from the server.&lt;br /&gt;
&lt;br /&gt;
The SHA1 hashes are what is stored in the `.dirindex` files, both on the server and in the local tree. Time-stamps are not synchronised with the server copies because doing so complicates mirroring on the server side and makes it much less efficient. Hash clashes are not considered an issue (following the same assumption made by the Git developers). No custom or particular HTTP headers are relied upon, in order to maximise the chance of &amp;quot;just working&amp;quot; with different HTTP providers and CDN options in the future. The `.dirindex` files use a text-based structure, which is intended to be straightforward. They are generated on the server side by scripts written by Torsten.&lt;br /&gt;
&lt;br /&gt;
The code uses logic nearly identical to Git to avoid recalculating SHA hashes for the entire repository. If any of various `stat()` fields change (most notably size or modification time), the hash for that file on disk is recomputed. Whenever a file's hash on disk differs from what the `.dirindex` file specifies, the file is downloaded. This provides a complete description of the synchronisation model.&lt;br /&gt;
&lt;br /&gt;
Thus, it is safe to copy or modify files in the tree using any tool; doing so will change the `stat()` data, causing the SHA hash to be recomputed. If the hash no longer matches the server-side copy, a re-download will be triggered.&lt;br /&gt;
&lt;br /&gt;
== terrasync.py ==&lt;br /&gt;
First of all, the script is now part of the {{fgmeta-python source | text = fgmeta-python}} repository&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://gitlab.com/flightgear/flightgear/-/merge_requests/340&lt;br /&gt;
  |title  =  FlightGear merge request 340&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 14th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/59260673/&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt;[Flightgear-devel] terrasync.py moved to fgmeta-python&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 17th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; (this was necessary to share .dirindex processing code with other infrastructure tools, in particular for producing the ''base package''). Installation instructions can be found below the list of files, or more directly in {{fgmeta-python source | path = README.md | text = README.md}}.&lt;br /&gt;
&lt;br /&gt;
The script can provide a complete mirror of the scenery data, also known as TerraSync scenery or just TerraScenery.&lt;br /&gt;
&lt;br /&gt;
{{Caution|If you fully run this script for the first time, it will download more than 90 GB of data and more than 1,800,000 files in 40,000 folders to your hard disk. It will run for hours, probably days (depending on your Internet connection). Since someone has to pay for the bandwidth, please don't let it download large amounts of data unless you have a good reason to do so (like, you maintain a public scenery mirror); otherwise, the service could be discontinued. That being said, if you just want to see the script in action, you can run it for a few seconds and stop it with {{key press|Ctrl|C}}.}}&lt;br /&gt;
&lt;br /&gt;
If you already have at least a partial set of scenery data from the FlightGear built-in TerraSync or even a full TerraScenery, existing and up-to-date files will be reused and won't be downloaded a second time. &lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
{{Note|The following is not completely up-to-date. In particular, current terrasync.py has a &amp;lt;code&amp;gt;check&amp;lt;/code&amp;gt; mode in addition to the default &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; mode. Run &amp;lt;code&amp;gt;terrasync.py --help&amp;lt;/code&amp;gt; for up-to-date usage information.}}&lt;br /&gt;
&lt;br /&gt;
The HTTP TerraScenery server holds all the well-know files required for scenery, organized in the also well-known directory structure (/Models, /Objects, /Terrain and /Airports) with all their subdirectories. The content of the /Models folder for example is here: http://flightgear.sourceforge.net/scenery/Models/ Each folder contains a (hidden) file called .dirindex (e.g. http://flightgear.sourceforge.net/scenery/Models/.dirindex) that describes the content of that folder by listing its files, subdirectories and checksums of the files and their subdirectories' .dirindex files. The terrasync.py script does the following (simplified): &lt;br /&gt;
* a) download the file at the root of the scenery-url (http://flightgear.sourceforge.net/scenery/.dirindex) &lt;br /&gt;
* b) walks into any subdirectory listed within the .dirindex &lt;br /&gt;
* c) compares the sha1sum of listed files with the local copy and downloads them on mismatch &lt;br /&gt;
* d) for listed subdirectories, calls recursively step b) &lt;br /&gt;
&lt;br /&gt;
Even if all scenery files exist on the server, there are initially still approx. 40,000 .dirindex files missing on your drive and downloading will take hours. To speed up the procedure once you have all .dirindex files locally, try running terrasync.py with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option. This will tell terrasync.py to compare the computed sha1sum of every .dirindex file on your disk with that published in the entry in the parent directory's .dirindex. If you have an up-to-date mirror, this will be ''very'' quick as only the root .dirindex needs to be downloaded. Subsequent updates with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option will also be very fast as only the updated files will be downloaded and also the .dirindex files of the parent folders up to the root directory. &lt;br /&gt;
&lt;br /&gt;
So far, we have just added files to your disk, what about files that have been removed on the server? The script usually does not touch them unless you add &amp;lt;code&amp;gt;--remove-orphan&amp;lt;/code&amp;gt; to the command-line. By doing so, you ask terrasync.py to remove all files (not directories) that exist in a subdirectory but are not listed in the corresponding .dirindex file. &lt;br /&gt;
&lt;br /&gt;
If you don't want to download everything into your current working directory, add &amp;lt;code&amp;gt;--target=/some/folder&amp;lt;/code&amp;gt; to your command line. This describes pretty much everything terrasync.py does. Here are some examples how to use it: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# fetch everything from the master repository server into /home/joe/fg/scenery, keep orphan files, (re-)download every .dirindex file &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery &lt;br /&gt;
&lt;br /&gt;
# just pull in changes, quick and lean for subsequent updates &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick &lt;br /&gt;
&lt;br /&gt;
# run a mirror, only keep those files listed on the server &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick --remove-orphan &lt;br /&gt;
&lt;br /&gt;
# use another server to pull the data, not the sourceforge master &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --url=http://someserver.org/otherscenery &lt;br /&gt;
&lt;br /&gt;
# restrict the area (must be integers, not decimals)&lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --top 50 --left 18 --bottom 49 --right 19&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Howto: Install scenery]]&lt;br /&gt;
* [[TerraMaster]]&lt;br /&gt;
* [[TerraGear]]&lt;br /&gt;
&lt;br /&gt;
== Footnotes ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery software]]&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
&lt;br /&gt;
[[de:TerraSync]]&lt;br /&gt;
[[es:TerraSync]]&lt;br /&gt;
[[fr:TerraSync]]&lt;br /&gt;
[[nl:Terrasync]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145632</id>
		<title>TerraSync</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145632"/>
		<updated>2026-07-03T20:43:49Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding-left:20px;&amp;quot;&amp;gt;''Not to be confused with [[TerraGear]], a toolset to generate scenery.''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have a steady and reasonably fast internet connection, you can use the built-in '''TerraSync''' instead of manually [[Howto: Install scenery|installing sceneries]]. TerraSync is a utility that automatically downloads the newest version of the needed [[FlightGear]] scenery while the simulator is running. It runs in the background (optionally as a separate process), monitors your position, and downloads (or updates) the latest scenery from the master scenery server &amp;quot;just in time&amp;quot;.&lt;br /&gt;
For some time now TerraSync has been integrated into the core FlightGear process, so there is no need to deal with TerraSync for the typical user.&lt;br /&gt;
&lt;br /&gt;
The master repository for TerraSync, i.e. the online resource from which TerraSync downloads its files, is synchronized with the [http://scenemodels.flightgear.org/ FlightGear Scenery Database] once a day. So when using TerraSync, you will always have &lt;br /&gt;
# the latest [[File Formats#.2A.stg|.stg-files]], which tell FlightGear where to place an object &lt;br /&gt;
# the latest '''static''' models for objects. (Static models define unique objects that exist in one place only, such as famous buildings or landmarks.) &lt;br /&gt;
# the latest '''shared''' models for objects. (Generic models used more than once in different places, each can represent many different objects, like generic houses or ships)&lt;br /&gt;
&lt;br /&gt;
== Enabling TerraSync ==&lt;br /&gt;
&lt;br /&gt;
=== In the launcher ===&lt;br /&gt;
[[File:Terrasync option.png|400px|thumb|The scenery download options in the settings panel.]]&lt;br /&gt;
In the launcher, click &amp;lt;tt&amp;gt;Settings &amp;gt; Download scenery automatically&amp;lt;/tt&amp;gt;. If you meet errors related to DNS after starting FG, you may click the &amp;quot;Show more&amp;quot; button on the right and choose a DNS server.&lt;br /&gt;
&lt;br /&gt;
=== Inside FlightGear ===&lt;br /&gt;
In the FlightGear [[menu]], click &amp;lt;tt&amp;gt;File &amp;gt; Scenery Download&amp;lt;/tt&amp;gt; and then check the &amp;quot;Enable automatic scenery download&amp;quot; option. &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
By default, when enabled with &amp;lt;code&amp;gt;--enable-terrasync&amp;lt;/code&amp;gt;, TerraSync now downloads to &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt;/TerraSync, where &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt; is FlightGear's download directory.&lt;br /&gt;
&lt;br /&gt;
FlightGear's download directory may be explicitly set using FlightGear's &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; [[Command line options|command line option]], otherwise it defaults to:&lt;br /&gt;
*[[$FG_HOME]] on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads&amp;lt;/tt&amp;gt; on Windows (which may be located under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt;, however there are likely several possibilities depending on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
If you neither pass &amp;lt;code&amp;gt;--terrasync-dir&amp;lt;/code&amp;gt; nor &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; to FlightGear, then the '''default TerraSync directory''' is:&lt;br /&gt;
*&amp;lt;tt&amp;gt;[[$FG_HOME]]/TerraSync&amp;lt;/tt&amp;gt; on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads\TerraSync&amp;lt;/tt&amp;gt; on Windows (which is ''possibly'' under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt; but probably depends on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
==== POSIX compliant [[command line]] shell ====&lt;br /&gt;
&lt;br /&gt;
Start TerraSync:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% nice terrasync -p 5500 -S -d &amp;quot;$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The -S option tells terrasync to use the SVN protocol to fetch data. If you omit it terrasync will use the rsync program instead (which has to be installed on your system).&lt;br /&gt;
&lt;br /&gt;
Start FlightGear:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% fgfs --atlas=socket,out,1,localhost,5500,udp --fg-scenery=&amp;quot;[[$FG_ROOT]]/Scenery/:$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The full documentation and source for TerraSync is located in the FlightGear source distribution (in &amp;lt;code&amp;gt;utils/TerraSync/&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Network or DNS error ===&lt;br /&gt;
{{See also|DNS#TerraSync}}&lt;br /&gt;
&lt;br /&gt;
If network/DNS errors are encountered, you can click the &amp;quot;Show more&amp;quot; button on the right and select a DNS server. If this does not work, enter &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server= your server&amp;lt;/code&amp;gt; in the launcher under Settings &amp;gt; Additional Settings (e.g., &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://flightgear.sourceforge.net/scenery&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://terrasync.b-cdn.net/osm2city/&amp;lt;/code&amp;gt;). Note that hardcoding the TerraSync server is inflexible. Remove it once the network returns to normal.&lt;br /&gt;
&lt;br /&gt;
There is a forum post: [https://forum.flightgear.org/viewtopic.php?p=438783 Network errors occurred]&lt;br /&gt;
&lt;br /&gt;
In addition, you can manually download .txz scenery files from [https://terrasync.b-cdn.net/ terrasync.b-cdn.net] and unpack them into your &amp;lt;code&amp;gt;TerraSync&amp;lt;/code&amp;gt; folder correctly.&lt;br /&gt;
&lt;br /&gt;
=== Locked airport directories ===&lt;br /&gt;
You get an error indicating locked airport directories while TerraSync is running.&lt;br /&gt;
&lt;br /&gt;
 Working copy '...\FlightGear\terrasync\Airports\K' locked&lt;br /&gt;
&lt;br /&gt;
While those directories often actually ''are'' updated, the error is annoying.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Search the TerraSync directory for files named &amp;lt;tt&amp;gt;lock&amp;lt;/tt&amp;gt; and delete them. They are supposed to be removed automatically when a TerraSync update is completed, but sometimes that fails.&lt;br /&gt;
&lt;br /&gt;
== Internals ==&lt;br /&gt;
The TerraSync client first queries NAPTR records for the DNS name terrasync.flightgear.org, then compares the local SHA1 hash with the remote file and downloads tiles from the server.&lt;br /&gt;
&lt;br /&gt;
The SHA1 hashes are what is stored in the `.dirindex` files, both on the server and in the local tree. Time-stamps are not synchronised with the server copies because doing so complicates mirroring on the server side and makes it much less efficient. Hash clashes are not considered an issue (following the same assumption made by the Git developers). No custom or particular HTTP headers are relied upon, in order to maximise the chance of &amp;quot;just working&amp;quot; with different HTTP providers and CDN options in the future. The `.dirindex` files use a text-based structure, which is intended to be straightforward. They are generated on the server side by scripts written by Torsten.&lt;br /&gt;
&lt;br /&gt;
The code uses logic nearly identical to Git to avoid recalculating SHA hashes for the entire repository. If any of various `stat()` fields change (most notably size or modification time), the hash for that file on disk is recomputed. Whenever a file's hash on disk differs from what the `.dirindex` file specifies, the file is downloaded. This provides a complete description of the synchronisation model.&lt;br /&gt;
&lt;br /&gt;
Thus, it is safe to copy or modify files in the tree using any tool; doing so will change the `stat()` data, causing the SHA hash to be recomputed. If the hash no longer matches the server-side copy, a re-download will be triggered. Note that there is no provision for keeping modified (dirty) files inside the tree – they will always be overwritten during the next check. &amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    = https://sourceforge.net/p/flightgear/mailman/message/35064470/&lt;br /&gt;
  |title  = &amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] The future of terrasync&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author = &amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |date   = May 4th, 2016&lt;br /&gt;
  |added  = May 4th, 2016&lt;br /&gt;
  |script_version = 0.32&lt;br /&gt;
  }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== terrasync.py ==&lt;br /&gt;
First of all, the script is now part of the {{fgmeta-python source | text = fgmeta-python}} repository&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://gitlab.com/flightgear/flightgear/-/merge_requests/340&lt;br /&gt;
  |title  =  FlightGear merge request 340&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 14th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/59260673/&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt;[Flightgear-devel] terrasync.py moved to fgmeta-python&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 17th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; (this was necessary to share .dirindex processing code with other infrastructure tools, in particular for producing the ''base package''). Installation instructions can be found below the list of files, or more directly in {{fgmeta-python source | path = README.md | text = README.md}}.&lt;br /&gt;
&lt;br /&gt;
The script can provide a complete mirror of the scenery data, also known as TerraSync scenery or just TerraScenery.&lt;br /&gt;
&lt;br /&gt;
{{Caution|If you fully run this script for the first time, it will download more than 90 GB of data and more than 1,800,000 files in 40,000 folders to your hard disk. It will run for hours, probably days (depending on your Internet connection). Since someone has to pay for the bandwidth, please don't let it download large amounts of data unless you have a good reason to do so (like, you maintain a public scenery mirror); otherwise, the service could be discontinued. That being said, if you just want to see the script in action, you can run it for a few seconds and stop it with {{key press|Ctrl|C}}.}}&lt;br /&gt;
&lt;br /&gt;
If you already have at least a partial set of scenery data from the FlightGear built-in TerraSync or even a full TerraScenery, existing and up-to-date files will be reused and won't be downloaded a second time. &lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
{{Note|The following is not completely up-to-date. In particular, current terrasync.py has a &amp;lt;code&amp;gt;check&amp;lt;/code&amp;gt; mode in addition to the default &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; mode. Run &amp;lt;code&amp;gt;terrasync.py --help&amp;lt;/code&amp;gt; for up-to-date usage information.}}&lt;br /&gt;
&lt;br /&gt;
The HTTP TerraScenery server holds all the well-know files required for scenery, organized in the also well-known directory structure (/Models, /Objects, /Terrain and /Airports) with all their subdirectories. The content of the /Models folder for example is here: http://flightgear.sourceforge.net/scenery/Models/ Each folder contains a (hidden) file called .dirindex (e.g. http://flightgear.sourceforge.net/scenery/Models/.dirindex) that describes the content of that folder by listing its files, subdirectories and checksums of the files and their subdirectories' .dirindex files. The terrasync.py script does the following (simplified): &lt;br /&gt;
* a) download the file at the root of the scenery-url (http://flightgear.sourceforge.net/scenery/.dirindex) &lt;br /&gt;
* b) walks into any subdirectory listed within the .dirindex &lt;br /&gt;
* c) compares the sha1sum of listed files with the local copy and downloads them on mismatch &lt;br /&gt;
* d) for listed subdirectories, calls recursively step b) &lt;br /&gt;
&lt;br /&gt;
Even if all scenery files exist on the server, there are initially still approx. 40,000 .dirindex files missing on your drive and downloading will take hours. To speed up the procedure once you have all .dirindex files locally, try running terrasync.py with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option. This will tell terrasync.py to compare the computed sha1sum of every .dirindex file on your disk with that published in the entry in the parent directory's .dirindex. If you have an up-to-date mirror, this will be ''very'' quick as only the root .dirindex needs to be downloaded. Subsequent updates with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option will also be very fast as only the updated files will be downloaded and also the .dirindex files of the parent folders up to the root directory. &lt;br /&gt;
&lt;br /&gt;
So far, we have just added files to your disk, what about files that have been removed on the server? The script usually does not touch them unless you add &amp;lt;code&amp;gt;--remove-orphan&amp;lt;/code&amp;gt; to the command-line. By doing so, you ask terrasync.py to remove all files (not directories) that exist in a subdirectory but are not listed in the corresponding .dirindex file. &lt;br /&gt;
&lt;br /&gt;
If you don't want to download everything into your current working directory, add &amp;lt;code&amp;gt;--target=/some/folder&amp;lt;/code&amp;gt; to your command line. This describes pretty much everything terrasync.py does. Here are some examples how to use it: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# fetch everything from the master repository server into /home/joe/fg/scenery, keep orphan files, (re-)download every .dirindex file &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery &lt;br /&gt;
&lt;br /&gt;
# just pull in changes, quick and lean for subsequent updates &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick &lt;br /&gt;
&lt;br /&gt;
# run a mirror, only keep those files listed on the server &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick --remove-orphan &lt;br /&gt;
&lt;br /&gt;
# use another server to pull the data, not the sourceforge master &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --url=http://someserver.org/otherscenery &lt;br /&gt;
&lt;br /&gt;
# restrict the area (must be integers, not decimals)&lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --top 50 --left 18 --bottom 49 --right 19&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy, feedback welcome.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35081518/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] Clone the HTTP scenery data with terrasync.py &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Torsten Dreyer &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  May 11th, 2016 &lt;br /&gt;
  |added  =  May 11th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Howto: Install scenery]]&lt;br /&gt;
* [[TerraMaster]]&lt;br /&gt;
* [[TerraGear]]&lt;br /&gt;
&lt;br /&gt;
== Footnotes ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery software]]&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
&lt;br /&gt;
[[de:TerraSync]]&lt;br /&gt;
[[es:TerraSync]]&lt;br /&gt;
[[fr:TerraSync]]&lt;br /&gt;
[[nl:Terrasync]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145631</id>
		<title>TerraSync</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145631"/>
		<updated>2026-07-03T20:41:38Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding-left:20px;&amp;quot;&amp;gt;''Not to be confused with [[TerraGear]], a toolset to generate scenery.''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have a steady and reasonably fast internet connection, you can use the built-in '''TerraSync''' instead of manually [[Howto: Install scenery|installing sceneries]]. TerraSync is a utility that automatically downloads the newest version of the needed [[FlightGear]] scenery while the simulator is running. It runs in the background (optionally as a separate process), monitors your position, and downloads (or updates) the latest scenery from the master scenery server &amp;quot;just in time&amp;quot;.&lt;br /&gt;
For some time now TerraSync has been integrated into the core FlightGear process, so there is no need to deal with TerraSync for the typical user.&lt;br /&gt;
&lt;br /&gt;
The master repository for TerraSync, i.e. the online resource from which TerraSync downloads its files, is synchronized with the [http://scenemodels.flightgear.org/ FlightGear Scenery Database] once a day. So when using TerraSync, you will always have &lt;br /&gt;
# the latest [[File Formats#.2A.stg|.stg-files]], which tell FlightGear where to place an object &lt;br /&gt;
# the latest '''static''' models for objects. (Static models define unique objects that exist in one place only, such as famous buildings or landmarks.) &lt;br /&gt;
# the latest '''shared''' models for objects. (Generic models used more than once in different places, each can represent many different objects, like generic houses or ships)&lt;br /&gt;
&lt;br /&gt;
== Enabling TerraSync ==&lt;br /&gt;
&lt;br /&gt;
=== In the launcher ===&lt;br /&gt;
[[File:Terrasync option.png|400px|thumb|The scenery download options in the settings panel.]]&lt;br /&gt;
In the launcher, click &amp;lt;tt&amp;gt;Settings &amp;gt; Download scenery automatically&amp;lt;/tt&amp;gt;. If you meet errors related to DNS after starting FG, you may click the &amp;quot;Show more&amp;quot; button on the right and choose a DNS server.&lt;br /&gt;
&lt;br /&gt;
=== Inside FlightGear ===&lt;br /&gt;
In the FlightGear [[menu]], click &amp;lt;tt&amp;gt;File &amp;gt; Scenery Download&amp;lt;/tt&amp;gt; and then check the &amp;quot;Enable automatic scenery download&amp;quot; option. &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
By default, when enabled with &amp;lt;code&amp;gt;--enable-terrasync&amp;lt;/code&amp;gt;, TerraSync now downloads to &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt;/TerraSync, where &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt; is FlightGear's download directory.&lt;br /&gt;
&lt;br /&gt;
FlightGear's download directory may be explicitly set using FlightGear's &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; [[Command line options|command line option]], otherwise it defaults to:&lt;br /&gt;
*[[$FG_HOME]] on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads&amp;lt;/tt&amp;gt; on Windows (which may be located under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt;, however there are likely several possibilities depending on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
If you neither pass &amp;lt;code&amp;gt;--terrasync-dir&amp;lt;/code&amp;gt; nor &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; to FlightGear, then the '''default TerraSync directory''' is:&lt;br /&gt;
*&amp;lt;tt&amp;gt;[[$FG_HOME]]/TerraSync&amp;lt;/tt&amp;gt; on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads\TerraSync&amp;lt;/tt&amp;gt; on Windows (which is ''possibly'' under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt; but probably depends on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
==== POSIX compliant [[command line]] shell ====&lt;br /&gt;
&lt;br /&gt;
Start TerraSync:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% nice terrasync -p 5500 -S -d &amp;quot;$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The -S option tells terrasync to use the SVN protocol to fetch data. If you omit it terrasync will use the rsync program instead (which has to be installed on your system).&lt;br /&gt;
&lt;br /&gt;
Start FlightGear:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% fgfs --atlas=socket,out,1,localhost,5500,udp --fg-scenery=&amp;quot;[[$FG_ROOT]]/Scenery/:$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The full documentation and source for TerraSync is located in the FlightGear source distribution (in &amp;lt;code&amp;gt;utils/TerraSync/&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Network or DNS error ===&lt;br /&gt;
{{See also|DNS#TerraSync}}&lt;br /&gt;
&lt;br /&gt;
If network/DNS errors are encountered, you can click the &amp;quot;Show more&amp;quot; button on the right and select a DNS server. If this does not work, enter &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server= your server&amp;lt;/code&amp;gt; in the launcher under Settings &amp;gt; Additional Settings (e.g., &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://flightgear.sourceforge.net/scenery&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://terrasync.b-cdn.net/osm2city/&amp;lt;/code&amp;gt;). Note that hardcoding the TerraSync server is inflexible. Remove it once the network returns to normal.&lt;br /&gt;
&lt;br /&gt;
There is a forum post: [https://forum.flightgear.org/viewtopic.php?p=438783 Network errors occurred]&lt;br /&gt;
&lt;br /&gt;
In addition, you can manually download .txz scenery files from [https://terrasync.b-cdn.net/ terrasync.b-cdn.net] and unpack them into your &amp;lt;code&amp;gt;TerraSync&amp;lt;/code&amp;gt; folder correctly.&lt;br /&gt;
&lt;br /&gt;
=== Corrupted and unreadable files or directories ===&lt;br /&gt;
If you get an error similar to the following in the command line console (black dialog):&lt;br /&gt;
&lt;br /&gt;
 Airports/L ... failed:&lt;br /&gt;
 Can't move 'C:\FlightGear\terrasync\Airports\L\E\.svn\tmp\entries' to 'C:\FlightGear\terrasync\Airports\L\E\.svn\entries': The file or directory is corrupted and unreadable.&lt;br /&gt;
&lt;br /&gt;
and possibly the following popup appears:&lt;br /&gt;
&lt;br /&gt;
[[File:TerraSync Taskbar Error.png]]&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
You can probably fix the error by upgrading to new Windows versions.&lt;br /&gt;
&lt;br /&gt;
=== Locked airport directories ===&lt;br /&gt;
You get an error indicating locked airport directories while TerraSync is running.&lt;br /&gt;
&lt;br /&gt;
 Working copy '...\FlightGear\terrasync\Airports\K' locked&lt;br /&gt;
&lt;br /&gt;
While those directories often actually ''are'' updated, the error is annoying.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Search the TerraSync directory for files named &amp;lt;tt&amp;gt;lock&amp;lt;/tt&amp;gt; and delete them. They are supposed to be removed automatically when a TerraSync update is completed, but sometimes that fails.&lt;br /&gt;
&lt;br /&gt;
== Internals ==&lt;br /&gt;
The TerraSync client first queries NAPTR records for the DNS name terrasync.flightgear.org, then compares the local SHA1 hash with the remote file and downloads tiles from the server.&lt;br /&gt;
&lt;br /&gt;
The SHA1 hashes are what is stored in the `.dirindex` files, both on the server and in the local tree. Time-stamps are not synchronised with the server copies because doing so complicates mirroring on the server side and makes it much less efficient. Hash clashes are not considered an issue (following the same assumption made by the Git developers). No custom or particular HTTP headers are relied upon, in order to maximise the chance of &amp;quot;just working&amp;quot; with different HTTP providers and CDN options in the future. The `.dirindex` files use a text-based structure, which is intended to be straightforward. They are generated on the server side by scripts written by Torsten.&lt;br /&gt;
&lt;br /&gt;
The code uses logic nearly identical to Git to avoid recalculating SHA hashes for the entire repository. If any of various `stat()` fields change (most notably size or modification time), the hash for that file on disk is recomputed. Whenever a file's hash on disk differs from what the `.dirindex` file specifies, the file is downloaded. This provides a complete description of the synchronisation model.&lt;br /&gt;
&lt;br /&gt;
Thus, it is safe to copy or modify files in the tree using any tool; doing so will change the `stat()` data, causing the SHA hash to be recomputed. If the hash no longer matches the server-side copy, a re-download will be triggered. Note that there is no provision for keeping modified (dirty) files inside the tree – they will always be overwritten during the next check. &amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    = https://sourceforge.net/p/flightgear/mailman/message/35064470/&lt;br /&gt;
  |title  = &amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] The future of terrasync&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author = &amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |date   = May 4th, 2016&lt;br /&gt;
  |added  = May 4th, 2016&lt;br /&gt;
  |script_version = 0.32&lt;br /&gt;
  }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== terrasync.py ==&lt;br /&gt;
First of all, the script is now part of the {{fgmeta-python source | text = fgmeta-python}} repository&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://gitlab.com/flightgear/flightgear/-/merge_requests/340&lt;br /&gt;
  |title  =  FlightGear merge request 340&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 14th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/59260673/&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt;[Flightgear-devel] terrasync.py moved to fgmeta-python&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 17th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; (this was necessary to share .dirindex processing code with other infrastructure tools, in particular for producing the ''base package''). Installation instructions can be found below the list of files, or more directly in {{fgmeta-python source | path = README.md | text = README.md}}.&lt;br /&gt;
&lt;br /&gt;
The script can provide a complete mirror of the scenery data, also known as TerraSync scenery or just TerraScenery.&lt;br /&gt;
&lt;br /&gt;
{{Caution|If you fully run this script for the first time, it will download more than 90 GB of data and more than 1,800,000 files in 40,000 folders to your hard disk. It will run for hours, probably days (depending on your Internet connection). Since someone has to pay for the bandwidth, please don't let it download large amounts of data unless you have a good reason to do so (like, you maintain a public scenery mirror); otherwise, the service could be discontinued. That being said, if you just want to see the script in action, you can run it for a few seconds and stop it with {{key press|Ctrl|C}}.}}&lt;br /&gt;
&lt;br /&gt;
If you already have at least a partial set of scenery data from the FlightGear built-in TerraSync or even a full TerraScenery, existing and up-to-date files will be reused and won't be downloaded a second time. &lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
{{Note|The following is not completely up-to-date. In particular, current terrasync.py has a &amp;lt;code&amp;gt;check&amp;lt;/code&amp;gt; mode in addition to the default &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; mode. Run &amp;lt;code&amp;gt;terrasync.py --help&amp;lt;/code&amp;gt; for up-to-date usage information.}}&lt;br /&gt;
&lt;br /&gt;
The HTTP TerraScenery server holds all the well-know files required for scenery, organized in the also well-known directory structure (/Models, /Objects, /Terrain and /Airports) with all their subdirectories. The content of the /Models folder for example is here: http://flightgear.sourceforge.net/scenery/Models/ Each folder contains a (hidden) file called .dirindex (e.g. http://flightgear.sourceforge.net/scenery/Models/.dirindex) that describes the content of that folder by listing its files, subdirectories and checksums of the files and their subdirectories' .dirindex files. The terrasync.py script does the following (simplified): &lt;br /&gt;
* a) download the file at the root of the scenery-url (http://flightgear.sourceforge.net/scenery/.dirindex) &lt;br /&gt;
* b) walks into any subdirectory listed within the .dirindex &lt;br /&gt;
* c) compares the sha1sum of listed files with the local copy and downloads them on mismatch &lt;br /&gt;
* d) for listed subdirectories, calls recursively step b) &lt;br /&gt;
&lt;br /&gt;
Even if all scenery files exist on the server, there are initially still approx. 40,000 .dirindex files missing on your drive and downloading will take hours. To speed up the procedure once you have all .dirindex files locally, try running terrasync.py with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option. This will tell terrasync.py to compare the computed sha1sum of every .dirindex file on your disk with that published in the entry in the parent directory's .dirindex. If you have an up-to-date mirror, this will be ''very'' quick as only the root .dirindex needs to be downloaded. Subsequent updates with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option will also be very fast as only the updated files will be downloaded and also the .dirindex files of the parent folders up to the root directory. &lt;br /&gt;
&lt;br /&gt;
So far, we have just added files to your disk, what about files that have been removed on the server? The script usually does not touch them unless you add &amp;lt;code&amp;gt;--remove-orphan&amp;lt;/code&amp;gt; to the command-line. By doing so, you ask terrasync.py to remove all files (not directories) that exist in a subdirectory but are not listed in the corresponding .dirindex file. &lt;br /&gt;
&lt;br /&gt;
If you don't want to download everything into your current working directory, add &amp;lt;code&amp;gt;--target=/some/folder&amp;lt;/code&amp;gt; to your command line. This describes pretty much everything terrasync.py does. Here are some examples how to use it: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# fetch everything from the master repository server into /home/joe/fg/scenery, keep orphan files, (re-)download every .dirindex file &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery &lt;br /&gt;
&lt;br /&gt;
# just pull in changes, quick and lean for subsequent updates &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick &lt;br /&gt;
&lt;br /&gt;
# run a mirror, only keep those files listed on the server &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick --remove-orphan &lt;br /&gt;
&lt;br /&gt;
# use another server to pull the data, not the sourceforge master &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --url=http://someserver.org/otherscenery &lt;br /&gt;
&lt;br /&gt;
# restrict the area (must be integers, not decimals)&lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --top 50 --left 18 --bottom 49 --right 19&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy, feedback welcome.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35081518/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] Clone the HTTP scenery data with terrasync.py &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Torsten Dreyer &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  May 11th, 2016 &lt;br /&gt;
  |added  =  May 11th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Howto: Install scenery]]&lt;br /&gt;
* [[TerraMaster]]&lt;br /&gt;
* [[TerraGear]]&lt;br /&gt;
&lt;br /&gt;
== Footnotes ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery software]]&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
&lt;br /&gt;
[[de:TerraSync]]&lt;br /&gt;
[[es:TerraSync]]&lt;br /&gt;
[[fr:TerraSync]]&lt;br /&gt;
[[nl:Terrasync]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145630</id>
		<title>TerraSync</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145630"/>
		<updated>2026-07-03T20:38:25Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Network or DNS error */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding-left:20px;&amp;quot;&amp;gt;''Not to be confused with [[TerraGear]], a toolset to generate scenery.''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have a steady and reasonably fast internet connection, you can use the built-in '''TerraSync''' instead of manually [[Howto: Install scenery|installing sceneries]]. TerraSync is a utility that automatically downloads the newest version of the needed [[FlightGear]] scenery while the simulator is running. It runs in the background (optionally as a separate process), monitors your position, and downloads (or updates) the latest scenery from the master scenery server &amp;quot;just in time&amp;quot;.&lt;br /&gt;
For some time now TerraSync has been integrated into the core FlightGear process, so there is no need to deal with TerraSync for the typical user.&lt;br /&gt;
&lt;br /&gt;
The master repository for TerraSync, i.e. the online resource from which TerraSync downloads its files, is synchronized with the [http://scenemodels.flightgear.org/ FlightGear Scenery Database] once a day. So when using TerraSync, you will always have &lt;br /&gt;
# the latest [[File Formats#.2A.stg|.stg-files]], which tell FlightGear where to place an object &lt;br /&gt;
# the latest '''static''' models for objects. (Static models define unique objects that exist in one place only, such as famous buildings or landmarks.) &lt;br /&gt;
# the latest '''shared''' models for objects. (Generic models used more than once in different places, each can represent many different objects, like generic houses or ships)&lt;br /&gt;
&lt;br /&gt;
== Enabling TerraSync ==&lt;br /&gt;
&lt;br /&gt;
=== In the launcher ===&lt;br /&gt;
[[File:Terrasync option.png|400px|thumb|The scenery download options in the settings panel.]]&lt;br /&gt;
In the launcher, click &amp;lt;tt&amp;gt;Settings &amp;gt; Download scenery automatically&amp;lt;/tt&amp;gt;. If you meet errors related to DNS after starting FG, you may click the &amp;quot;Show more&amp;quot; button on the right and choose a DNS server.&lt;br /&gt;
&lt;br /&gt;
=== Inside FlightGear ===&lt;br /&gt;
In the FlightGear [[menu]], click &amp;lt;tt&amp;gt;File &amp;gt; Scenery Download&amp;lt;/tt&amp;gt; and then check the &amp;quot;Enable automatic scenery download&amp;quot; option. &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
By default, when enabled with &amp;lt;code&amp;gt;--enable-terrasync&amp;lt;/code&amp;gt;, TerraSync now downloads to &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt;/TerraSync, where &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt; is FlightGear's download directory.&lt;br /&gt;
&lt;br /&gt;
FlightGear's download directory may be explicitly set using FlightGear's &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; [[Command line options|command line option]], otherwise it defaults to:&lt;br /&gt;
*[[$FG_HOME]] on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads&amp;lt;/tt&amp;gt; on Windows (which may be located under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt;, however there are likely several possibilities depending on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
If you neither pass &amp;lt;code&amp;gt;--terrasync-dir&amp;lt;/code&amp;gt; nor &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; to FlightGear, then the '''default TerraSync directory''' is:&lt;br /&gt;
*&amp;lt;tt&amp;gt;[[$FG_HOME]]/TerraSync&amp;lt;/tt&amp;gt; on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads\TerraSync&amp;lt;/tt&amp;gt; on Windows (which is ''possibly'' under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt; but probably depends on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
==== POSIX compliant [[command line]] shell ====&lt;br /&gt;
&lt;br /&gt;
Start TerraSync:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% nice terrasync -p 5500 -S -d &amp;quot;$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The -S option tells terrasync to use the SVN protocol to fetch data. If you omit it terrasync will use the rsync program instead (which has to be installed on your system).&lt;br /&gt;
&lt;br /&gt;
Start FlightGear:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% fgfs --atlas=socket,out,1,localhost,5500,udp --fg-scenery=&amp;quot;[[$FG_ROOT]]/Scenery/:$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The full documentation and source for TerraSync is located in the FlightGear source distribution (in &amp;lt;code&amp;gt;utils/TerraSync/&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Network or DNS error ===&lt;br /&gt;
{{See also|DNS#TerraSync}}&lt;br /&gt;
&lt;br /&gt;
If network/DNS errors are encountered, you can click the &amp;quot;Show more&amp;quot; button on the right and select a DNS server. If this does not work, enter &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server= your server&amp;lt;/code&amp;gt; in the launcher under Settings &amp;gt; Additional Settings (e.g., &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://flightgear.sourceforge.net/scenery&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://terrasync.b-cdn.net/osm2city/&amp;lt;/code&amp;gt;). Note that hardcoding the TerraSync server is inflexible. Remove it once the network returns to normal.&lt;br /&gt;
&lt;br /&gt;
There is a forum post: [https://forum.flightgear.org/viewtopic.php?p=438783 Network errors occurred]&lt;br /&gt;
&lt;br /&gt;
In addition, you can manually download .txz scenery files from [https://terrasync.b-cdn.net/ terrasync.b-cdn.net] and unpack them into your &amp;lt;code&amp;gt;TerraSync&amp;lt;/code&amp;gt; folder correctly.&lt;br /&gt;
&lt;br /&gt;
=== Corrupted and unreadable files or directories ===&lt;br /&gt;
If you get an error similar to the following in the command line console (black dialog):&lt;br /&gt;
&lt;br /&gt;
 Airports/L ... failed:&lt;br /&gt;
 Can't move 'C:\FlightGear\terrasync\Airports\L\E\.svn\tmp\entries' to 'C:\FlightGear\terrasync\Airports\L\E\.svn\entries': The file or directory is corrupted and unreadable.&lt;br /&gt;
&lt;br /&gt;
and possibly the following popup appears:&lt;br /&gt;
&lt;br /&gt;
[[File:TerraSync Taskbar Error.png]]&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
You can probably fix the error by upgrading to new Windows versions.&lt;br /&gt;
&lt;br /&gt;
=== Locked airport directories ===&lt;br /&gt;
You get an error indicating locked airport directories while TerraSync is running.&lt;br /&gt;
&lt;br /&gt;
 Working copy '...\FlightGear\terrasync\Airports\K' locked&lt;br /&gt;
&lt;br /&gt;
While those directories often actually ''are'' updated, the error is annoying.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Search the TerraSync directory for files named &amp;lt;tt&amp;gt;lock&amp;lt;/tt&amp;gt; and delete them. They are supposed to be removed automatically when a TerraSync update is completed, but sometimes that fails.&lt;br /&gt;
&lt;br /&gt;
=== Failure to remove file ===&lt;br /&gt;
You get an error indicating that some files can not be removed.&lt;br /&gt;
&lt;br /&gt;
 file remove failed: (./.terrasync_cache)  reason: Permission denied&lt;br /&gt;
&lt;br /&gt;
TerraSync cache files can not be deleted. You will see errors in console like above. There is not much to do other then delete the &amp;lt;code&amp;gt;.terrasync_cache&amp;lt;/code&amp;gt; files manually and then run FlightGear again.&lt;br /&gt;
&lt;br /&gt;
==== Resolution ====&lt;br /&gt;
{{caution|Not recommended. Understand the consequences}}&lt;br /&gt;
&lt;br /&gt;
[http://forum.flightgear.org/viewtopic.php?f=17&amp;amp;t=28957&amp;amp;p=278275#p278275 Forum Post w/ PowerShell command is here]&lt;br /&gt;
&lt;br /&gt;
== Internals ==&lt;br /&gt;
The TerraSync client first queries NAPTR records for the DNS name terrasync.flightgear.org, then compares the local SHA1 hash with the remote file and downloads tiles from the server.&lt;br /&gt;
&lt;br /&gt;
The SHA1 hashes are what is stored in the `.dirindex` files, both on the server and in the local tree. Time-stamps are not synchronised with the server copies because doing so complicates mirroring on the server side and makes it much less efficient. Hash clashes are not considered an issue (following the same assumption made by the Git developers). No custom or particular HTTP headers are relied upon, in order to maximise the chance of &amp;quot;just working&amp;quot; with different HTTP providers and CDN options in the future. The `.dirindex` files use a text-based structure, which is intended to be straightforward. They are generated on the server side by scripts written by Torsten.&lt;br /&gt;
&lt;br /&gt;
The code uses logic nearly identical to Git to avoid recalculating SHA hashes for the entire repository. If any of various `stat()` fields change (most notably size or modification time), the hash for that file on disk is recomputed. Whenever a file's hash on disk differs from what the `.dirindex` file specifies, the file is downloaded. This provides a complete description of the synchronisation model.&lt;br /&gt;
&lt;br /&gt;
Thus, it is safe to copy or modify files in the tree using any tool; doing so will change the `stat()` data, causing the SHA hash to be recomputed. If the hash no longer matches the server-side copy, a re-download will be triggered. Note that there is no provision for keeping modified (dirty) files inside the tree – they will always be overwritten during the next check. &amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    = https://sourceforge.net/p/flightgear/mailman/message/35064470/&lt;br /&gt;
  |title  = &amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] The future of terrasync&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author = &amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |date   = May 4th, 2016&lt;br /&gt;
  |added  = May 4th, 2016&lt;br /&gt;
  |script_version = 0.32&lt;br /&gt;
  }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== terrasync.py ==&lt;br /&gt;
First of all, the script is now part of the {{fgmeta-python source | text = fgmeta-python}} repository&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://gitlab.com/flightgear/flightgear/-/merge_requests/340&lt;br /&gt;
  |title  =  FlightGear merge request 340&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 14th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/59260673/&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt;[Flightgear-devel] terrasync.py moved to fgmeta-python&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 17th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; (this was necessary to share .dirindex processing code with other infrastructure tools, in particular for producing the ''base package''). Installation instructions can be found below the list of files, or more directly in {{fgmeta-python source | path = README.md | text = README.md}}.&lt;br /&gt;
&lt;br /&gt;
The script can provide a complete mirror of the scenery data, also known as TerraSync scenery or just TerraScenery.&lt;br /&gt;
&lt;br /&gt;
{{Caution|If you fully run this script for the first time, it will download more than 90 GB of data and more than 1,800,000 files in 40,000 folders to your hard disk. It will run for hours, probably days (depending on your Internet connection). Since someone has to pay for the bandwidth, please don't let it download large amounts of data unless you have a good reason to do so (like, you maintain a public scenery mirror); otherwise, the service could be discontinued. That being said, if you just want to see the script in action, you can run it for a few seconds and stop it with {{key press|Ctrl|C}}.}}&lt;br /&gt;
&lt;br /&gt;
If you already have at least a partial set of scenery data from the FlightGear built-in TerraSync or even a full TerraScenery, existing and up-to-date files will be reused and won't be downloaded a second time. &lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
{{Note|The following is not completely up-to-date. In particular, current terrasync.py has a &amp;lt;code&amp;gt;check&amp;lt;/code&amp;gt; mode in addition to the default &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; mode. Run &amp;lt;code&amp;gt;terrasync.py --help&amp;lt;/code&amp;gt; for up-to-date usage information.}}&lt;br /&gt;
&lt;br /&gt;
The HTTP TerraScenery server holds all the well-know files required for scenery, organized in the also well-known directory structure (/Models, /Objects, /Terrain and /Airports) with all their subdirectories. The content of the /Models folder for example is here: http://flightgear.sourceforge.net/scenery/Models/ Each folder contains a (hidden) file called .dirindex (e.g. http://flightgear.sourceforge.net/scenery/Models/.dirindex) that describes the content of that folder by listing its files, subdirectories and checksums of the files and their subdirectories' .dirindex files. The terrasync.py script does the following (simplified): &lt;br /&gt;
* a) download the file at the root of the scenery-url (http://flightgear.sourceforge.net/scenery/.dirindex) &lt;br /&gt;
* b) walks into any subdirectory listed within the .dirindex &lt;br /&gt;
* c) compares the sha1sum of listed files with the local copy and downloads them on mismatch &lt;br /&gt;
* d) for listed subdirectories, calls recursively step b) &lt;br /&gt;
&lt;br /&gt;
Even if all scenery files exist on the server, there are initially still approx. 40,000 .dirindex files missing on your drive and downloading will take hours. To speed up the procedure once you have all .dirindex files locally, try running terrasync.py with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option. This will tell terrasync.py to compare the computed sha1sum of every .dirindex file on your disk with that published in the entry in the parent directory's .dirindex. If you have an up-to-date mirror, this will be ''very'' quick as only the root .dirindex needs to be downloaded. Subsequent updates with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option will also be very fast as only the updated files will be downloaded and also the .dirindex files of the parent folders up to the root directory. &lt;br /&gt;
&lt;br /&gt;
So far, we have just added files to your disk, what about files that have been removed on the server? The script usually does not touch them unless you add &amp;lt;code&amp;gt;--remove-orphan&amp;lt;/code&amp;gt; to the command-line. By doing so, you ask terrasync.py to remove all files (not directories) that exist in a subdirectory but are not listed in the corresponding .dirindex file. &lt;br /&gt;
&lt;br /&gt;
If you don't want to download everything into your current working directory, add &amp;lt;code&amp;gt;--target=/some/folder&amp;lt;/code&amp;gt; to your command line. This describes pretty much everything terrasync.py does. Here are some examples how to use it: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# fetch everything from the master repository server into /home/joe/fg/scenery, keep orphan files, (re-)download every .dirindex file &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery &lt;br /&gt;
&lt;br /&gt;
# just pull in changes, quick and lean for subsequent updates &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick &lt;br /&gt;
&lt;br /&gt;
# run a mirror, only keep those files listed on the server &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick --remove-orphan &lt;br /&gt;
&lt;br /&gt;
# use another server to pull the data, not the sourceforge master &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --url=http://someserver.org/otherscenery &lt;br /&gt;
&lt;br /&gt;
# restrict the area (must be integers, not decimals)&lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --top 50 --left 18 --bottom 49 --right 19&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy, feedback welcome.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35081518/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] Clone the HTTP scenery data with terrasync.py &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Torsten Dreyer &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  May 11th, 2016 &lt;br /&gt;
  |added  =  May 11th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Howto: Install scenery]]&lt;br /&gt;
* [[TerraMaster]]&lt;br /&gt;
* [[TerraGear]]&lt;br /&gt;
&lt;br /&gt;
== Footnotes ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery software]]&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
&lt;br /&gt;
[[de:TerraSync]]&lt;br /&gt;
[[es:TerraSync]]&lt;br /&gt;
[[fr:TerraSync]]&lt;br /&gt;
[[nl:Terrasync]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145517</id>
		<title>TerraSync</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145517"/>
		<updated>2026-06-29T20:57:58Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Network or DNS error */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding-left:20px;&amp;quot;&amp;gt;''Not to be confused with [[TerraGear]], a toolset to generate scenery.''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have a steady and reasonably fast internet connection, you can use the built-in '''TerraSync''' instead of manually [[Howto: Install scenery|installing sceneries]]. TerraSync is a utility that automatically downloads the newest version of the needed [[FlightGear]] scenery while the simulator is running. It runs in the background (optionally as a separate process), monitors your position, and downloads (or updates) the latest scenery from the master scenery server &amp;quot;just in time&amp;quot;.&lt;br /&gt;
For some time now TerraSync has been integrated into the core FlightGear process, so there is no need to deal with TerraSync for the typical user.&lt;br /&gt;
&lt;br /&gt;
The master repository for TerraSync, i.e. the online resource from which TerraSync downloads its files, is synchronized with the [http://scenemodels.flightgear.org/ FlightGear Scenery Database] once a day. So when using TerraSync, you will always have &lt;br /&gt;
# the latest [[File Formats#.2A.stg|.stg-files]], which tell FlightGear where to place an object &lt;br /&gt;
# the latest '''static''' models for objects. (Static models define unique objects that exist in one place only, such as famous buildings or landmarks.) &lt;br /&gt;
# the latest '''shared''' models for objects. (Generic models used more than once in different places, each can represent many different objects, like generic houses or ships)&lt;br /&gt;
&lt;br /&gt;
== Enabling TerraSync ==&lt;br /&gt;
&lt;br /&gt;
=== In the launcher ===&lt;br /&gt;
[[File:Terrasync option.png|400px|thumb|The scenery download options in the settings panel.]]&lt;br /&gt;
In the launcher, click &amp;lt;tt&amp;gt;Settings &amp;gt; Download scenery automatically&amp;lt;/tt&amp;gt;. If you meet errors related to DNS after starting FG, you may click the &amp;quot;Show more&amp;quot; button on the right and choose a DNS server.&lt;br /&gt;
&lt;br /&gt;
=== Inside FlightGear ===&lt;br /&gt;
In the FlightGear [[menu]], click &amp;lt;tt&amp;gt;File &amp;gt; Scenery Download&amp;lt;/tt&amp;gt; and then check the &amp;quot;Enable automatic scenery download&amp;quot; option. &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
By default, when enabled with &amp;lt;code&amp;gt;--enable-terrasync&amp;lt;/code&amp;gt;, TerraSync now downloads to &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt;/TerraSync, where &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt; is FlightGear's download directory.&lt;br /&gt;
&lt;br /&gt;
FlightGear's download directory may be explicitly set using FlightGear's &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; [[Command line options|command line option]], otherwise it defaults to:&lt;br /&gt;
*[[$FG_HOME]] on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads&amp;lt;/tt&amp;gt; on Windows (which may be located under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt;, however there are likely several possibilities depending on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
If you neither pass &amp;lt;code&amp;gt;--terrasync-dir&amp;lt;/code&amp;gt; nor &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; to FlightGear, then the '''default TerraSync directory''' is:&lt;br /&gt;
*&amp;lt;tt&amp;gt;[[$FG_HOME]]/TerraSync&amp;lt;/tt&amp;gt; on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads\TerraSync&amp;lt;/tt&amp;gt; on Windows (which is ''possibly'' under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt; but probably depends on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
==== POSIX compliant [[command line]] shell ====&lt;br /&gt;
&lt;br /&gt;
Start TerraSync:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% nice terrasync -p 5500 -S -d &amp;quot;$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The -S option tells terrasync to use the SVN protocol to fetch data. If you omit it terrasync will use the rsync program instead (which has to be installed on your system).&lt;br /&gt;
&lt;br /&gt;
Start FlightGear:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% fgfs --atlas=socket,out,1,localhost,5500,udp --fg-scenery=&amp;quot;[[$FG_ROOT]]/Scenery/:$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The full documentation and source for TerraSync is located in the FlightGear source distribution (in &amp;lt;code&amp;gt;utils/TerraSync/&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Network or DNS error ===&lt;br /&gt;
{{See also|DNS#TerraSync}}&lt;br /&gt;
&lt;br /&gt;
If network/DNS errors are encountered, you can click the &amp;quot;Show more&amp;quot; button on the right and select a DNS server. If this does not work, enter &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server= your server&amp;lt;/code&amp;gt; in the additional settings in the launcher (e.g., &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://flightgear.sourceforge.net/scenery&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://terrasync.b-cdn.net/osm2city/&amp;lt;/code&amp;gt;). Note that hardcoding the TerraSync server is inflexible. Remove it once the network returns to normal.&lt;br /&gt;
&lt;br /&gt;
There is a forum post: [https://forum.flightgear.org/viewtopic.php?p=438783 Network errors occurred]&lt;br /&gt;
&lt;br /&gt;
In addition, you can manually download .txz scenery files from [https://terrasync.b-cdn.net/ terrasync.b-cdn.net] and unpack them into your &amp;lt;code&amp;gt;TerraSync&amp;lt;/code&amp;gt; folder correctly.&lt;br /&gt;
&lt;br /&gt;
=== Corrupted and unreadable files or directories ===&lt;br /&gt;
If you get an error similar to the following in the command line console (black dialog):&lt;br /&gt;
&lt;br /&gt;
 Airports/L ... failed:&lt;br /&gt;
 Can't move 'C:\FlightGear\terrasync\Airports\L\E\.svn\tmp\entries' to 'C:\FlightGear\terrasync\Airports\L\E\.svn\entries': The file or directory is corrupted and unreadable.&lt;br /&gt;
&lt;br /&gt;
and possibly the following popup appears:&lt;br /&gt;
&lt;br /&gt;
[[File:TerraSync Taskbar Error.png]]&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
You can probably fix the error by upgrading to new Windows versions.&lt;br /&gt;
&lt;br /&gt;
=== Locked airport directories ===&lt;br /&gt;
You get an error indicating locked airport directories while TerraSync is running.&lt;br /&gt;
&lt;br /&gt;
 Working copy '...\FlightGear\terrasync\Airports\K' locked&lt;br /&gt;
&lt;br /&gt;
While those directories often actually ''are'' updated, the error is annoying.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Search the TerraSync directory for files named &amp;lt;tt&amp;gt;lock&amp;lt;/tt&amp;gt; and delete them. They are supposed to be removed automatically when a TerraSync update is completed, but sometimes that fails.&lt;br /&gt;
&lt;br /&gt;
=== Failure to remove file ===&lt;br /&gt;
You get an error indicating that some files can not be removed.&lt;br /&gt;
&lt;br /&gt;
 file remove failed: (./.terrasync_cache)  reason: Permission denied&lt;br /&gt;
&lt;br /&gt;
TerraSync cache files can not be deleted. You will see errors in console like above. There is not much to do other then delete the &amp;lt;code&amp;gt;.terrasync_cache&amp;lt;/code&amp;gt; files manually and then run FlightGear again.&lt;br /&gt;
&lt;br /&gt;
==== Resolution ====&lt;br /&gt;
{{caution|Not recommended. Understand the consequences}}&lt;br /&gt;
&lt;br /&gt;
[http://forum.flightgear.org/viewtopic.php?f=17&amp;amp;t=28957&amp;amp;p=278275#p278275 Forum Post w/ PowerShell command is here]&lt;br /&gt;
&lt;br /&gt;
== Internals ==&lt;br /&gt;
The TerraSync client first queries NAPTR records for the DNS name terrasync.flightgear.org, then compares the local SHA1 hash with the remote file and downloads tiles from the server.&lt;br /&gt;
&lt;br /&gt;
The SHA1 hashes are what is stored in the `.dirindex` files, both on the server and in the local tree. Time-stamps are not synchronised with the server copies because doing so complicates mirroring on the server side and makes it much less efficient. Hash clashes are not considered an issue (following the same assumption made by the Git developers). No custom or particular HTTP headers are relied upon, in order to maximise the chance of &amp;quot;just working&amp;quot; with different HTTP providers and CDN options in the future. The `.dirindex` files use a text-based structure, which is intended to be straightforward. They are generated on the server side by scripts written by Torsten.&lt;br /&gt;
&lt;br /&gt;
The code uses logic nearly identical to Git to avoid recalculating SHA hashes for the entire repository. If any of various `stat()` fields change (most notably size or modification time), the hash for that file on disk is recomputed. Whenever a file's hash on disk differs from what the `.dirindex` file specifies, the file is downloaded. This provides a complete description of the synchronisation model.&lt;br /&gt;
&lt;br /&gt;
Thus, it is safe to copy or modify files in the tree using any tool; doing so will change the `stat()` data, causing the SHA hash to be recomputed. If the hash no longer matches the server-side copy, a re-download will be triggered. Note that there is no provision for keeping modified (dirty) files inside the tree – they will always be overwritten during the next check. &amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    = https://sourceforge.net/p/flightgear/mailman/message/35064470/&lt;br /&gt;
  |title  = &amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] The future of terrasync&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author = &amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |date   = May 4th, 2016&lt;br /&gt;
  |added  = May 4th, 2016&lt;br /&gt;
  |script_version = 0.32&lt;br /&gt;
  }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== terrasync.py ==&lt;br /&gt;
First of all, the script is now part of the {{fgmeta-python source | text = fgmeta-python}} repository&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://gitlab.com/flightgear/flightgear/-/merge_requests/340&lt;br /&gt;
  |title  =  FlightGear merge request 340&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 14th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/59260673/&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt;[Flightgear-devel] terrasync.py moved to fgmeta-python&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 17th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; (this was necessary to share .dirindex processing code with other infrastructure tools, in particular for producing the ''base package''). Installation instructions can be found below the list of files, or more directly in {{fgmeta-python source | path = README.md | text = README.md}}.&lt;br /&gt;
&lt;br /&gt;
The script can provide a complete mirror of the scenery data, also known as TerraSync scenery or just TerraScenery.&lt;br /&gt;
&lt;br /&gt;
{{Caution|If you fully run this script for the first time, it will download more than 90 GB of data and more than 1,800,000 files in 40,000 folders to your hard disk. It will run for hours, probably days (depending on your Internet connection). Since someone has to pay for the bandwidth, please don't let it download large amounts of data unless you have a good reason to do so (like, you maintain a public scenery mirror); otherwise, the service could be discontinued. That being said, if you just want to see the script in action, you can run it for a few seconds and stop it with {{key press|Ctrl|C}}.}}&lt;br /&gt;
&lt;br /&gt;
If you already have at least a partial set of scenery data from the FlightGear built-in TerraSync or even a full TerraScenery, existing and up-to-date files will be reused and won't be downloaded a second time. &lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
{{Note|The following is not completely up-to-date. In particular, current terrasync.py has a &amp;lt;code&amp;gt;check&amp;lt;/code&amp;gt; mode in addition to the default &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; mode. Run &amp;lt;code&amp;gt;terrasync.py --help&amp;lt;/code&amp;gt; for up-to-date usage information.}}&lt;br /&gt;
&lt;br /&gt;
The HTTP TerraScenery server holds all the well-know files required for scenery, organized in the also well-known directory structure (/Models, /Objects, /Terrain and /Airports) with all their subdirectories. The content of the /Models folder for example is here: http://flightgear.sourceforge.net/scenery/Models/ Each folder contains a (hidden) file called .dirindex (e.g. http://flightgear.sourceforge.net/scenery/Models/.dirindex) that describes the content of that folder by listing its files, subdirectories and checksums of the files and their subdirectories' .dirindex files. The terrasync.py script does the following (simplified): &lt;br /&gt;
* a) download the file at the root of the scenery-url (http://flightgear.sourceforge.net/scenery/.dirindex) &lt;br /&gt;
* b) walks into any subdirectory listed within the .dirindex &lt;br /&gt;
* c) compares the sha1sum of listed files with the local copy and downloads them on mismatch &lt;br /&gt;
* d) for listed subdirectories, calls recursively step b) &lt;br /&gt;
&lt;br /&gt;
Even if all scenery files exist on the server, there are initially still approx. 40,000 .dirindex files missing on your drive and downloading will take hours. To speed up the procedure once you have all .dirindex files locally, try running terrasync.py with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option. This will tell terrasync.py to compare the computed sha1sum of every .dirindex file on your disk with that published in the entry in the parent directory's .dirindex. If you have an up-to-date mirror, this will be ''very'' quick as only the root .dirindex needs to be downloaded. Subsequent updates with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option will also be very fast as only the updated files will be downloaded and also the .dirindex files of the parent folders up to the root directory. &lt;br /&gt;
&lt;br /&gt;
So far, we have just added files to your disk, what about files that have been removed on the server? The script usually does not touch them unless you add &amp;lt;code&amp;gt;--remove-orphan&amp;lt;/code&amp;gt; to the command-line. By doing so, you ask terrasync.py to remove all files (not directories) that exist in a subdirectory but are not listed in the corresponding .dirindex file. &lt;br /&gt;
&lt;br /&gt;
If you don't want to download everything into your current working directory, add &amp;lt;code&amp;gt;--target=/some/folder&amp;lt;/code&amp;gt; to your command line. This describes pretty much everything terrasync.py does. Here are some examples how to use it: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# fetch everything from the master repository server into /home/joe/fg/scenery, keep orphan files, (re-)download every .dirindex file &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery &lt;br /&gt;
&lt;br /&gt;
# just pull in changes, quick and lean for subsequent updates &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick &lt;br /&gt;
&lt;br /&gt;
# run a mirror, only keep those files listed on the server &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick --remove-orphan &lt;br /&gt;
&lt;br /&gt;
# use another server to pull the data, not the sourceforge master &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --url=http://someserver.org/otherscenery &lt;br /&gt;
&lt;br /&gt;
# restrict the area (must be integers, not decimals)&lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --top 50 --left 18 --bottom 49 --right 19&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy, feedback welcome.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35081518/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] Clone the HTTP scenery data with terrasync.py &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Torsten Dreyer &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  May 11th, 2016 &lt;br /&gt;
  |added  =  May 11th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Howto: Install scenery]]&lt;br /&gt;
* [[TerraMaster]]&lt;br /&gt;
* [[TerraGear]]&lt;br /&gt;
&lt;br /&gt;
== Footnotes ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery software]]&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
&lt;br /&gt;
[[de:TerraSync]]&lt;br /&gt;
[[es:TerraSync]]&lt;br /&gt;
[[fr:TerraSync]]&lt;br /&gt;
[[nl:Terrasync]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145516</id>
		<title>TerraSync</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=TerraSync&amp;diff=145516"/>
		<updated>2026-06-29T20:56:30Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Network or DNS error */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding-left:20px;&amp;quot;&amp;gt;''Not to be confused with [[TerraGear]], a toolset to generate scenery.''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have a steady and reasonably fast internet connection, you can use the built-in '''TerraSync''' instead of manually [[Howto: Install scenery|installing sceneries]]. TerraSync is a utility that automatically downloads the newest version of the needed [[FlightGear]] scenery while the simulator is running. It runs in the background (optionally as a separate process), monitors your position, and downloads (or updates) the latest scenery from the master scenery server &amp;quot;just in time&amp;quot;.&lt;br /&gt;
For some time now TerraSync has been integrated into the core FlightGear process, so there is no need to deal with TerraSync for the typical user.&lt;br /&gt;
&lt;br /&gt;
The master repository for TerraSync, i.e. the online resource from which TerraSync downloads its files, is synchronized with the [http://scenemodels.flightgear.org/ FlightGear Scenery Database] once a day. So when using TerraSync, you will always have &lt;br /&gt;
# the latest [[File Formats#.2A.stg|.stg-files]], which tell FlightGear where to place an object &lt;br /&gt;
# the latest '''static''' models for objects. (Static models define unique objects that exist in one place only, such as famous buildings or landmarks.) &lt;br /&gt;
# the latest '''shared''' models for objects. (Generic models used more than once in different places, each can represent many different objects, like generic houses or ships)&lt;br /&gt;
&lt;br /&gt;
== Enabling TerraSync ==&lt;br /&gt;
&lt;br /&gt;
=== In the launcher ===&lt;br /&gt;
[[File:Terrasync option.png|400px|thumb|The scenery download options in the settings panel.]]&lt;br /&gt;
In the launcher, click &amp;lt;tt&amp;gt;Settings &amp;gt; Download scenery automatically&amp;lt;/tt&amp;gt;. If you meet errors related to DNS after starting FG, you may click the &amp;quot;Show more&amp;quot; button on the right and choose a DNS server.&lt;br /&gt;
&lt;br /&gt;
=== Inside FlightGear ===&lt;br /&gt;
In the FlightGear [[menu]], click &amp;lt;tt&amp;gt;File &amp;gt; Scenery Download&amp;lt;/tt&amp;gt; and then check the &amp;quot;Enable automatic scenery download&amp;quot; option. &lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
By default, when enabled with &amp;lt;code&amp;gt;--enable-terrasync&amp;lt;/code&amp;gt;, TerraSync now downloads to &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt;/TerraSync, where &amp;lt;i&amp;gt;download_dir&amp;lt;/i&amp;gt; is FlightGear's download directory.&lt;br /&gt;
&lt;br /&gt;
FlightGear's download directory may be explicitly set using FlightGear's &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; [[Command line options|command line option]], otherwise it defaults to:&lt;br /&gt;
*[[$FG_HOME]] on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads&amp;lt;/tt&amp;gt; on Windows (which may be located under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt;, however there are likely several possibilities depending on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
If you neither pass &amp;lt;code&amp;gt;--terrasync-dir&amp;lt;/code&amp;gt; nor &amp;lt;code&amp;gt;--download-dir&amp;lt;/code&amp;gt; to FlightGear, then the '''default TerraSync directory''' is:&lt;br /&gt;
*&amp;lt;tt&amp;gt;[[$FG_HOME]]/TerraSync&amp;lt;/tt&amp;gt; on non-Windows systems;&lt;br /&gt;
* &amp;lt;tt&amp;gt;%USERPROFILE%\FlightGear\Downloads\TerraSync&amp;lt;/tt&amp;gt; on Windows (which is ''possibly'' under &amp;lt;tt&amp;gt;C:\Users\&amp;lt;i&amp;gt;username&amp;lt;/i&amp;gt;\Documents&amp;lt;/tt&amp;gt; but probably depends on the Windows version and configuration).&lt;br /&gt;
&lt;br /&gt;
==== POSIX compliant [[command line]] shell ====&lt;br /&gt;
&lt;br /&gt;
Start TerraSync:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% nice terrasync -p 5500 -S -d &amp;quot;$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The -S option tells terrasync to use the SVN protocol to fetch data. If you omit it terrasync will use the rsync program instead (which has to be installed on your system).&lt;br /&gt;
&lt;br /&gt;
Start FlightGear:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;% fgfs --atlas=socket,out,1,localhost,5500,udp --fg-scenery=&amp;quot;[[$FG_ROOT]]/Scenery/:$HOME/fgfsScenery&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The full documentation and source for TerraSync is located in the FlightGear source distribution (in &amp;lt;code&amp;gt;utils/TerraSync/&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Network or DNS error ===&lt;br /&gt;
{{See also|DNS#TerraSync}}&lt;br /&gt;
&lt;br /&gt;
If network/DNS errors are encountered, you can click the &amp;quot;Show more&amp;quot; button on the right and select a DNS server. If this does not work, enter &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server= your server&amp;lt;/code&amp;gt; in the additional settings in launcher (e.g., &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://flightgear.sourceforge.net/scenery&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--prop:/sim/terrasync/http-server=https://terrasync.b-cdn.net/osm2city/&amp;lt;/code&amp;gt;). Note that hardcoding the TerraSync server is inflexible. Remove it once the network returns to normal.&lt;br /&gt;
&lt;br /&gt;
There is a forum post: [https://forum.flightgear.org/viewtopic.php?p=438783 Network errors occurred]&lt;br /&gt;
&lt;br /&gt;
In addition, you can manually download .txz scenery files from [https://terrasync.b-cdn.net/ terrasync.b-cdn.net] and unpack them into your &amp;lt;code&amp;gt;TerraSync&amp;lt;/code&amp;gt; folder correctly.&lt;br /&gt;
&lt;br /&gt;
=== Corrupted and unreadable files or directories ===&lt;br /&gt;
If you get an error similar to the following in the command line console (black dialog):&lt;br /&gt;
&lt;br /&gt;
 Airports/L ... failed:&lt;br /&gt;
 Can't move 'C:\FlightGear\terrasync\Airports\L\E\.svn\tmp\entries' to 'C:\FlightGear\terrasync\Airports\L\E\.svn\entries': The file or directory is corrupted and unreadable.&lt;br /&gt;
&lt;br /&gt;
and possibly the following popup appears:&lt;br /&gt;
&lt;br /&gt;
[[File:TerraSync Taskbar Error.png]]&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
You can probably fix the error by upgrading to new Windows versions.&lt;br /&gt;
&lt;br /&gt;
=== Locked airport directories ===&lt;br /&gt;
You get an error indicating locked airport directories while TerraSync is running.&lt;br /&gt;
&lt;br /&gt;
 Working copy '...\FlightGear\terrasync\Airports\K' locked&lt;br /&gt;
&lt;br /&gt;
While those directories often actually ''are'' updated, the error is annoying.&lt;br /&gt;
&lt;br /&gt;
==== Solution ====&lt;br /&gt;
Search the TerraSync directory for files named &amp;lt;tt&amp;gt;lock&amp;lt;/tt&amp;gt; and delete them. They are supposed to be removed automatically when a TerraSync update is completed, but sometimes that fails.&lt;br /&gt;
&lt;br /&gt;
=== Failure to remove file ===&lt;br /&gt;
You get an error indicating that some files can not be removed.&lt;br /&gt;
&lt;br /&gt;
 file remove failed: (./.terrasync_cache)  reason: Permission denied&lt;br /&gt;
&lt;br /&gt;
TerraSync cache files can not be deleted. You will see errors in console like above. There is not much to do other then delete the &amp;lt;code&amp;gt;.terrasync_cache&amp;lt;/code&amp;gt; files manually and then run FlightGear again.&lt;br /&gt;
&lt;br /&gt;
==== Resolution ====&lt;br /&gt;
{{caution|Not recommended. Understand the consequences}}&lt;br /&gt;
&lt;br /&gt;
[http://forum.flightgear.org/viewtopic.php?f=17&amp;amp;t=28957&amp;amp;p=278275#p278275 Forum Post w/ PowerShell command is here]&lt;br /&gt;
&lt;br /&gt;
== Internals ==&lt;br /&gt;
The TerraSync client first queries NAPTR records for the DNS name terrasync.flightgear.org, then compares the local SHA1 hash with the remote file and downloads tiles from the server.&lt;br /&gt;
&lt;br /&gt;
The SHA1 hashes are what is stored in the `.dirindex` files, both on the server and in the local tree. Time-stamps are not synchronised with the server copies because doing so complicates mirroring on the server side and makes it much less efficient. Hash clashes are not considered an issue (following the same assumption made by the Git developers). No custom or particular HTTP headers are relied upon, in order to maximise the chance of &amp;quot;just working&amp;quot; with different HTTP providers and CDN options in the future. The `.dirindex` files use a text-based structure, which is intended to be straightforward. They are generated on the server side by scripts written by Torsten.&lt;br /&gt;
&lt;br /&gt;
The code uses logic nearly identical to Git to avoid recalculating SHA hashes for the entire repository. If any of various `stat()` fields change (most notably size or modification time), the hash for that file on disk is recomputed. Whenever a file's hash on disk differs from what the `.dirindex` file specifies, the file is downloaded. This provides a complete description of the synchronisation model.&lt;br /&gt;
&lt;br /&gt;
Thus, it is safe to copy or modify files in the tree using any tool; doing so will change the `stat()` data, causing the SHA hash to be recomputed. If the hash no longer matches the server-side copy, a re-download will be triggered. Note that there is no provision for keeping modified (dirty) files inside the tree – they will always be overwritten during the next check. &amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    = https://sourceforge.net/p/flightgear/mailman/message/35064470/&lt;br /&gt;
  |title  = &amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] The future of terrasync&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author = &amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |date   = May 4th, 2016&lt;br /&gt;
  |added  = May 4th, 2016&lt;br /&gt;
  |script_version = 0.32&lt;br /&gt;
  }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== terrasync.py ==&lt;br /&gt;
First of all, the script is now part of the {{fgmeta-python source | text = fgmeta-python}} repository&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://gitlab.com/flightgear/flightgear/-/merge_requests/340&lt;br /&gt;
  |title  =  FlightGear merge request 340&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 14th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/59260673/&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt;[Flightgear-devel] terrasync.py moved to fgmeta-python&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author =  Florent Rougon&lt;br /&gt;
  |date   =  November 17th, 2025&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; (this was necessary to share .dirindex processing code with other infrastructure tools, in particular for producing the ''base package''). Installation instructions can be found below the list of files, or more directly in {{fgmeta-python source | path = README.md | text = README.md}}.&lt;br /&gt;
&lt;br /&gt;
The script can provide a complete mirror of the scenery data, also known as TerraSync scenery or just TerraScenery.&lt;br /&gt;
&lt;br /&gt;
{{Caution|If you fully run this script for the first time, it will download more than 90 GB of data and more than 1,800,000 files in 40,000 folders to your hard disk. It will run for hours, probably days (depending on your Internet connection). Since someone has to pay for the bandwidth, please don't let it download large amounts of data unless you have a good reason to do so (like, you maintain a public scenery mirror); otherwise, the service could be discontinued. That being said, if you just want to see the script in action, you can run it for a few seconds and stop it with {{key press|Ctrl|C}}.}}&lt;br /&gt;
&lt;br /&gt;
If you already have at least a partial set of scenery data from the FlightGear built-in TerraSync or even a full TerraScenery, existing and up-to-date files will be reused and won't be downloaded a second time. &lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
{{Note|The following is not completely up-to-date. In particular, current terrasync.py has a &amp;lt;code&amp;gt;check&amp;lt;/code&amp;gt; mode in addition to the default &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt; mode. Run &amp;lt;code&amp;gt;terrasync.py --help&amp;lt;/code&amp;gt; for up-to-date usage information.}}&lt;br /&gt;
&lt;br /&gt;
The HTTP TerraScenery server holds all the well-know files required for scenery, organized in the also well-known directory structure (/Models, /Objects, /Terrain and /Airports) with all their subdirectories. The content of the /Models folder for example is here: http://flightgear.sourceforge.net/scenery/Models/ Each folder contains a (hidden) file called .dirindex (e.g. http://flightgear.sourceforge.net/scenery/Models/.dirindex) that describes the content of that folder by listing its files, subdirectories and checksums of the files and their subdirectories' .dirindex files. The terrasync.py script does the following (simplified): &lt;br /&gt;
* a) download the file at the root of the scenery-url (http://flightgear.sourceforge.net/scenery/.dirindex) &lt;br /&gt;
* b) walks into any subdirectory listed within the .dirindex &lt;br /&gt;
* c) compares the sha1sum of listed files with the local copy and downloads them on mismatch &lt;br /&gt;
* d) for listed subdirectories, calls recursively step b) &lt;br /&gt;
&lt;br /&gt;
Even if all scenery files exist on the server, there are initially still approx. 40,000 .dirindex files missing on your drive and downloading will take hours. To speed up the procedure once you have all .dirindex files locally, try running terrasync.py with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option. This will tell terrasync.py to compare the computed sha1sum of every .dirindex file on your disk with that published in the entry in the parent directory's .dirindex. If you have an up-to-date mirror, this will be ''very'' quick as only the root .dirindex needs to be downloaded. Subsequent updates with the &amp;lt;code&amp;gt;--quick&amp;lt;/code&amp;gt; option will also be very fast as only the updated files will be downloaded and also the .dirindex files of the parent folders up to the root directory. &lt;br /&gt;
&lt;br /&gt;
So far, we have just added files to your disk, what about files that have been removed on the server? The script usually does not touch them unless you add &amp;lt;code&amp;gt;--remove-orphan&amp;lt;/code&amp;gt; to the command-line. By doing so, you ask terrasync.py to remove all files (not directories) that exist in a subdirectory but are not listed in the corresponding .dirindex file. &lt;br /&gt;
&lt;br /&gt;
If you don't want to download everything into your current working directory, add &amp;lt;code&amp;gt;--target=/some/folder&amp;lt;/code&amp;gt; to your command line. This describes pretty much everything terrasync.py does. Here are some examples how to use it: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# fetch everything from the master repository server into /home/joe/fg/scenery, keep orphan files, (re-)download every .dirindex file &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery &lt;br /&gt;
&lt;br /&gt;
# just pull in changes, quick and lean for subsequent updates &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick &lt;br /&gt;
&lt;br /&gt;
# run a mirror, only keep those files listed on the server &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --quick --remove-orphan &lt;br /&gt;
&lt;br /&gt;
# use another server to pull the data, not the sourceforge master &lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --url=http://someserver.org/otherscenery &lt;br /&gt;
&lt;br /&gt;
# restrict the area (must be integers, not decimals)&lt;br /&gt;
terrasync.py --target=/home/joe/fg/scenery --top 50 --left 18 --bottom 49 --right 19&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy, feedback welcome.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35081518/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] Clone the HTTP scenery data with terrasync.py &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Torsten Dreyer &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  May 11th, 2016 &lt;br /&gt;
  |added  =  May 11th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Howto: Install scenery]]&lt;br /&gt;
* [[TerraMaster]]&lt;br /&gt;
* [[TerraGear]]&lt;br /&gt;
&lt;br /&gt;
== Footnotes ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery software]]&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
&lt;br /&gt;
[[de:TerraSync]]&lt;br /&gt;
[[es:TerraSync]]&lt;br /&gt;
[[fr:TerraSync]]&lt;br /&gt;
[[nl:Terrasync]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=AutoEarthView&amp;diff=145319</id>
		<title>AutoEarthView</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=AutoEarthView&amp;diff=145319"/>
		<updated>2026-06-23T12:38:42Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: 0.9.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| title                  = AutoEarthView Add-on&lt;br /&gt;
| logo                   = Fgaddonslogo202x89.png |thumb&lt;br /&gt;
| image                  = AutoEarthView.png&lt;br /&gt;
| developedby            = flyer02@gitlab&lt;br /&gt;
| initialrelease         = June 21, 2026&lt;br /&gt;
| latestrelease          = 0.9.1, June 23, 2026&lt;br /&gt;
| writtenin              = Nasal&lt;br /&gt;
| developmentstatus      = Stable&lt;br /&gt;
| type                   = Addon&lt;br /&gt;
| platform               = Min FG version 2024.1&lt;br /&gt;
| license                = [[GNU General Public License]] v3&lt;br /&gt;
| website                = https://gitlab.com/flyer02/AutoEarthView&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
AutoEarthView is a FlightGear [[addon]] that automatically enables/disables [[Earthview|Earthview orbital rendering]] based on the altitude, making it no longer necessary to manually open the EarthView dialog. It automatically starts Earthview when you ascend above a configurable altitude threshold and stops it when you descend below another threshold.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* '''Automatic activation''' – Earthview starts when climbing above the start threshold&lt;br /&gt;
* '''Automatic deactivation''' – Earthview stops when descending below the stop threshold  &lt;br /&gt;
* '''Persistent settings''' – All preferences are saved and restored between sessions&lt;br /&gt;
* '''Real-time configuration''' – Adjust thresholds on the fly via a simple dialog&lt;br /&gt;
* '''Toggle on/off''' – Enable or disable the automation at any time&lt;br /&gt;
* '''Minimal performance impact''' – Altitude checks run every 0.5 seconds&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
1. Download the source code from the [https://gitlab.com/flyer02/AutoEarthView/-/releases latest release] and extract it to a directory on your computer. If you want to get the development version, you can run &amp;lt;code&amp;gt;git clone https://gitlab.com/flyer02/AutoEarthView --depth 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. In the launcher, select the Add-ons page from the icon bar on the left, then find the section Add-on Module folders and click the Add(+) button. Select the folder where you put the addon. Once the addon is shown in the list, make sure its check box is selected. The selected folder path should end with &amp;quot;AutoEarthView&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Accessing the Dialog ===&lt;br /&gt;
&lt;br /&gt;
Navigate to the menu bar: '''AutoEarthView → Options'''&lt;br /&gt;
&lt;br /&gt;
=== Configuration Options ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting !! Description !! Default&lt;br /&gt;
|-&lt;br /&gt;
| '''Start threshold''' || Altitude (in feet) at which Earthview automatically starts during climb || 63,000 ft&lt;br /&gt;
|-&lt;br /&gt;
| '''Stop threshold''' || Altitude (in feet) at which Earthview automatically stops during descent || 30,000 ft&lt;br /&gt;
|-&lt;br /&gt;
| '''Enabled''' || Master toggle to enable/disable the automation || Enabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dialog Controls ===&lt;br /&gt;
&lt;br /&gt;
* '''Start threshold''' – Input field for the climb activation altitude&lt;br /&gt;
* '''Stop threshold''' – Input field for the descent deactivation altitude  &lt;br /&gt;
* '''Enabled''' – Checkbox to turn automation on/off&lt;br /&gt;
* '''Reset to defaults''' – Restores factory settings&lt;br /&gt;
&lt;br /&gt;
=== Menu Bar ===&lt;br /&gt;
&lt;br /&gt;
The addon adds a new menu: '''AutoEarthView''' with two items:&lt;br /&gt;
* '''Options''' – Opens the configuration dialog&lt;br /&gt;
* '''About''' – Displays addon information&lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
&lt;br /&gt;
The addon monitors your aircraft's altitude in real-time. When you cross the start threshold during a climb, Earthview is automatically enabled. When you cross the stop threshold during a descent, Earthview is automatically disabled.&lt;br /&gt;
&lt;br /&gt;
 Climbing:  altitude ≥ 63,000 ft  → Earthview starts automatically&lt;br /&gt;
 Descending: altitude ≤ 30,000 ft → Earthview stops automatically&lt;br /&gt;
&lt;br /&gt;
== Configuration File ==&lt;br /&gt;
&lt;br /&gt;
Settings are stored in &amp;lt;code&amp;gt;~/.fgfs/Export/Addons/org.flightgear.addons.AutoEarthView/save.txt&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;C:\Users\your username\AppData\Roaming\flightgear.org\Export\Addons\org.flightgear.addons.AutoEarthView\save.txt&amp;lt;/code&amp;gt; on Windows.&lt;br /&gt;
&lt;br /&gt;
​[[Category:FlightGear addons]]&lt;br /&gt;
​[[Category:Spaceflight]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Addon&amp;diff=145304</id>
		<title>Addon</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Addon&amp;diff=145304"/>
		<updated>2026-06-22T02:23:14Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* List of Addons */ Earthview#Customization: not an addon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Fgaddonslogo202x89.png|right]] &lt;br /&gt;
An '''addon''' is a third-party pack for FlightGear containing enhancements.&lt;br /&gt;
&lt;br /&gt;
== Installing an addon ==&lt;br /&gt;
Download and copy the add-on to a directory on your computer.&lt;br /&gt;
&lt;br /&gt;
In the launcher, select the Add-ons page from the icon bar on the left, then find the &amp;quot;Add-on Module folders&amp;quot; section and click the Add (+) button. Select the folder where you put the add-on. Make sure the selected folder path ends with the add-on name (such as &amp;quot;Logbook&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Alternatively, use the command line switch &amp;lt;code&amp;gt;--addon=/path/to/some/addon&amp;lt;/code&amp;gt; if you are not using the launcher.&lt;br /&gt;
&lt;br /&gt;
Some add-ons (like Aerotow Everywhere) may require additional actions. Please also read the description of the specific add-on.&lt;br /&gt;
&lt;br /&gt;
== List of Addons ==&lt;br /&gt;
You can find the official repository at {{fgaddon source|path=Addons}}&lt;br /&gt;
&lt;br /&gt;
# [https://github.com/PlayeRom/flightgear-addon-menu-aggregator Add-ons Menu Aggregator] - this add-on aggregates the menus of all other add-ons into one menu item.&lt;br /&gt;
# [[Aerotow Everywhere Add-on]] - AI towing aircraft for gliders at every airport.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?t=40742&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Aerotow Everywhere &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Roman Ludwicki (PlayeRom) &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 14th, 2022&lt;br /&gt;
  |added  =  Aug 14th, 2022&lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [https://github.com/SP-NTX/AnotherGUI AnotherGUI] - An add-on that adds a new GUI style.&lt;br /&gt;
# {{fgaddon source|path=Addons/ATCChatter/|text=ATC Chatter}} (ported by Torsten).&lt;br /&gt;
# [[AutoEarthView]] - an addon for spaceflight that automatically starts/stops Earthview based on the altitude&lt;br /&gt;
# [[Blacklist add-on]] - Automatically ignore pilots with certain callsigns or multiplayer models.&lt;br /&gt;
# [[Bombable]] - military add-on.&lt;br /&gt;
# [[Cargo Towing Addon]] &amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?t=36824&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Cargo Towing Addon &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Wayne Bragg (wlbragg) &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  &lt;br /&gt;
  |added  =  &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; - Allow any helicopter to tow, move and place various types of models.&lt;br /&gt;
# [[FaceTrackNoIR]] (ported by HHS)&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/36454826/&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re:  &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Unknown, HHS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |date   =  Nov 1th, 2018 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; - An addon to interface this [[Head tracking|head tracker]] with FlightGear&lt;br /&gt;
# [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=24792 Fencemaker] (Eases creating Fence-like scenery objects. Originally by VaLeo, converted to an addon by sfr) - ([https://www.mediafire.com/file/cf0la63v9g352md/fencemaker_addon.zip/file download])&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    = https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=24792&amp;amp;start=45#p390066&lt;br /&gt;
  |title  = &amp;lt;nowiki&amp;gt; Re:  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author = &amp;lt;nowiki&amp;gt; Stefan Frank &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |maintainer = &amp;lt;nowiki&amp;gt; Stefan Frank &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |date   = Aug 8th, 2021&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [https://github.com/PlayeRom/flightgear-addon-fgcamera FGCamera] - ([https://github.com/PlayeRom/flightgear-addon-fgcamera/blob/master/Docs/manual.md manual]) - [[FGCamera | Wiki Page]]&lt;br /&gt;
# [[FGPlot]]&lt;br /&gt;
# [https://gitlab.com/fg_shfsn/addons/flight-planner Flight Planner] - a flexible tool for manual flight planning and airport briefing.&lt;br /&gt;
# [[Ground Services]] (ported by ThomasS)&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=316400#p316400 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re:  &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; ThomasS &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 12th, 2017 &lt;br /&gt;
  |added  =  Aug 12th, 2017 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [https://gitlab.com/fg_shfsn/addons/hax Hax!]: landing evaluation and aircraft development tools, TerraSync toggler.&lt;br /&gt;
# {{fgaddon source|path=Addons/Headtracker/|text=Headtracker addon}} Helps integrate FaceTrackNoIR and opentrack with FlightGear.&lt;br /&gt;
# [[HighAirTrader]] An in-sim mini game in which you transport goods to different airports.&lt;br /&gt;
# [https://github.com/tdammers/fg-hoppie-acars Hoppie ACARS client] - connect to [http://www.hoppie.nl/acars Hoppie's ACARS], used on VATSIM and other networks.&lt;br /&gt;
# [https://github.com/slawekmikula/flightgear-addon-hudheli HUD Heli] - additional Heli HUD's ([https://github.com/slawekmikula/flightgear-addon-hudheli/blob/master/doc/manual.md manual]) - encapsulation of HeliHUD package as an addon.&lt;br /&gt;
# [https://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Addons/Illuminator/ Illuminator] - configure lights attached to 3D models (e.g. taxi light, landing light or a light attached to a scenery model like a light pole) at runtime.&lt;br /&gt;
# [https://github.com/slawekmikula/flightgear-addon-protocolkml KML Exporter (Google Earth)] - ([https://github.com/slawekmikula/flightgear-addon-protocolkml/blob/master/doc/manual.md manual])&lt;br /&gt;
# [[Landing Rate addon]] [https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=33101&amp;amp;p=327787#p327787]&lt;br /&gt;
# [https://github.com/slawekmikula/flightgear-addon-linuxtrack LinuxTrack Head Tracker integration] - ([https://github.com/slawekmikula/flightgear-addon-linuxtrack/blob/master/doc/manual.md manual])&lt;br /&gt;
# [https://github.com/slawekmikula/flightgear-addon-littlenavmap LittleNavMap integration] - ([https://github.com/slawekmikula/flightgear-addon-littlenavmap/blob/master/doc/manual.md manual])&lt;br /&gt;
# [[Logbook Add-on]] - logs all your flights to local file with flight analysis.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?t=41070&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Logbook Add-on &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Roman Ludwicki (PlayeRom) &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Dec 11th, 2022&lt;br /&gt;
  |added  =  Dec 11th, 2022&lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [[Log time-stamper add-on]] - Will print simulated UTC time, real local time, and/or real UTC time time-stamps at configurable intervals to the console and log.&lt;br /&gt;
# [https://gitlab.com/fg_shfsn/addons/mickey Mickey] - Tiny HUD for mouse flying in FlightGear. Visual feedback for mouse flying, to make up for mouse's lack of self-centering.&lt;br /&gt;
# [https://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Addons/MissionGenerator  Mission Generator Addon] &amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?t=39774&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Announcing Mission Generator Addon &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Wayne Bragg (wlbragg) &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  &lt;br /&gt;
  |added  =  &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; - Generate various random missions - Search &amp;amp; Rescue, Life Flight, Aerial Intrusion, Wildfire.&lt;br /&gt;
# [https://github.com/SP-NTX/MPChatImprovments MPChatImprovments] Multi-key commands for Multiplayer, new features for chat,...&lt;br /&gt;
# [https://github.com/PlayeRom/flightgear-addon-nasal-namespace-browser Nasal Namespace Browser] - heir to [[Nasal Browser]]&lt;br /&gt;
# [https://github.com/hbeni/fgfs-noGroundDamage noGroundDamage] - Addon to temporarily disable damage after landing and for ground operations for the c172/c182&lt;br /&gt;
# [[Oscilloscope addon]] - Allows displaying a property of Nasal function over time&lt;br /&gt;
# [[PAR instrument]] - Precision Approach Radar and Ground Controlled Approach&lt;br /&gt;
# [https://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Addons/RainVectorEditor/  Rain Vector Editor] - Utility to allow dynamic editing of the rain vector for the rain effect on glass.&lt;br /&gt;
# [[Ramp Marshall]] &amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?t=20572&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Nasal based Independant Ramp Marshall &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt;  omega95 - Wayne Bragg (wlbragg)&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  &lt;br /&gt;
  |added  =  &lt;br /&gt;
  |script_version = 0.40&lt;br /&gt;
  }}{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?t=42753&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Announcing New Ramp Marshall Addon &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author = &lt;br /&gt;
  |date   =  &lt;br /&gt;
  |added  =  &lt;br /&gt;
  |script_version = 0.40  &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; - Ramp Marshalling for FlightGear Airports.&lt;br /&gt;
# [https://github.com/eatdust/RCView RCView] - Radio Control View&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =   https://github.com/eatdust/RCView&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; RCView &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Chris Ringeval (Eatdirt) &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Mar 23rd, 2024 &lt;br /&gt;
  |added  =  Mar 23rd, 2024 &lt;br /&gt;
  |script_version = 0.0 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [[Red Griffin ATC]] - Speaking Air Traffic Controller&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=36755 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re:  &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; RedGriffin &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Jan 6th, 2020 &lt;br /&gt;
  |added  =  Jan 6th, 2020 &lt;br /&gt;
  |script_version = 1.0.0 RC2 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [https://github.com/tdammers/fg-simbrief-addon SimBrief import] - Import flightplans, weights, fuel, and winds alof, from SimBrief.&lt;br /&gt;
# [[Spoken ATC]] (ported by Torsten)&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=314095#p314095 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re:  &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Torsten &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Jul 10th, 2017 &lt;br /&gt;
  |added  =  Jul 10th, 2017 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [[Spoken GCA]] - An offline ground controlled approach (GCA) addon&lt;br /&gt;
# [https://github.com/slawekmikula/flightgear-addon-vfrflight VFRFlight integration] - ([https://github.com/slawekmikula/flightgear-addon-vfrflight/blob/master/doc/manual.md manual])&lt;br /&gt;
# [https://github.com/slawekmikula/flightgear-addon-vfrnavigator VFR Flying Helper] - ([https://github.com/slawekmikula/flightgear-addon-vfrnavigator/blob/master/doc/usage.md manual])&lt;br /&gt;
# [[Which Runway Add-on]] - dynamically determines and displays the optimal runway for take-off and landing based on current wind and airport preferences, while calculating headwind, crosswind, and tailwind components for each runway.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://github.com/PlayeRom/flightgear-addon-which-runway&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Which Runway GitHub &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Roman Ludwicki (PlayeRom) &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Sep 10th, 2025&lt;br /&gt;
  |added  =  Sep 10th, 2025&lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [[Wildfire simulation|Wildfire]] &amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?t=39677&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Wildfire Addon &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; AndersG - Wayne Bragg (wlbragg) &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  &lt;br /&gt;
  |added  =  &lt;br /&gt;
  |script_version = 0.40&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; - Wildfire simulation.&lt;br /&gt;
# [[YASim Development Tools]] (by jsb)&lt;br /&gt;
&lt;br /&gt;
=== Experimental Addons ===&lt;br /&gt;
&lt;br /&gt;
Addons which are in the development stage/unfinished but can be used as a quick view of addon functionality&lt;br /&gt;
&lt;br /&gt;
# [https://github.com/slawekmikula/flightgear-addon-missions FlightGear Missions addon] - Add-on for missions/adventures code&lt;br /&gt;
# [[Model Cockpit View]]  (abandoned)&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?f=30&amp;amp;t=32718&amp;amp;start=45#p430651&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re:  &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; wkitty42 &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Mar 24th, 2025 &lt;br /&gt;
  |added  =  Mar 24th, 2025 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creating an addon ==&lt;br /&gt;
There is a very simple Skeleton addon available in FGAddon to be used as a template.&amp;lt;ref name=&amp;quot;Forum_announcement&amp;quot;&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35894463/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] Emesary / Multiplayer improvements &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Richard Harrison &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Jun 14th, 2017 &lt;br /&gt;
  |added  =  Jun 14th, 2017 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
}}&amp;lt;/ref&amp;gt; See {{fgaddon source|path=Addons/Skeleton}}.&lt;br /&gt;
&lt;br /&gt;
A leading slash (&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;) in this section indicates the base directory of the directory structure of the addon.&lt;br /&gt;
&lt;br /&gt;
=== Minimum configuration ===&lt;br /&gt;
An addon may be installed in a directory anywhere on your hard disk and need at least two files:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/addon-config.xml&amp;lt;/code&amp;gt; - A standard [[PropertyList XML files|PropertyList XML file]] to be used to populate or modify the [[property tree]]. (Same as to be used in &amp;lt;code&amp;gt;--config=foo.xml&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;/addon-main.nas&amp;lt;/code&amp;gt; - The Nasal hook for the logic. This file needs a function called &amp;lt;code&amp;gt;main()&amp;lt;/code&amp;gt; which will be called from the global addon initializer (&amp;lt;code&amp;gt;addons.nas&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Additional common files ===&lt;br /&gt;
* &amp;lt;code&amp;gt;/addon-metadata.xml&amp;lt;/code&amp;gt; - A PropertyList XML file with metadata about the addon it.&lt;br /&gt;
* &amp;lt;code&amp;gt;/addon-menubar-items.xml&amp;lt;/code&amp;gt; - A PropertyList XML file describing menus to be added to the FlightGear menu bar.&lt;br /&gt;
* &amp;lt;code&amp;gt;/gui/dialogs/&amp;amp;lt;my-foobar-dialog&amp;amp;gt;.xml&amp;lt;/code&amp;gt; - PropertyList XML files to create custom dialogs.&lt;br /&gt;
&lt;br /&gt;
=== Good to know ===&lt;br /&gt;
The new addon mechanism lets you add a &amp;lt;code&amp;gt;addon-config.xml&amp;lt;/code&amp;gt; to override the settings in &amp;lt;code&amp;gt;defaults.xml&amp;lt;/code&amp;gt; and other files.&lt;br /&gt;
&lt;br /&gt;
That will allow an addon to:&lt;br /&gt;
*  override key bindings (as in the spoken ATC addon),&lt;br /&gt;
*  add or override autopilots and property rules,&lt;br /&gt;
*  introduce XML state machines.&lt;br /&gt;
&lt;br /&gt;
Unless your really want to add/change/remove those at runtime, this should cater for most use cases.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=314902#p314902 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Spoken  &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Torsten &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Jul 23rd, 2017 &lt;br /&gt;
  |added  =  Jul 23rd, 2017 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sound Support ===&lt;br /&gt;
Sound support is available using fgcommand's.&lt;br /&gt;
&lt;br /&gt;
See also [[Howto:Play sound using Nasal script]].&lt;br /&gt;
&lt;br /&gt;
== Addon initialization ==&lt;br /&gt;
On initialization fgfs takes care of:&lt;br /&gt;
* Through {{flightgear source|path=src/Main/options.cxx|text=&amp;lt;code&amp;gt;options.cxx&amp;lt;/code&amp;gt;}}:&amp;lt;ref name=&amp;quot;Forum_announcement&amp;quot;/&amp;gt;&lt;br /&gt;
** Creating a property under &amp;lt;code&amp;gt;/addons/addon[n]/path=/path/to/some/addon&amp;lt;/code&amp;gt;&lt;br /&gt;
** Loading &amp;lt;code&amp;gt;/path/to/some/addon/addon-config.xml&amp;lt;/code&amp;gt; into the property tree (same as &amp;lt;code&amp;gt;--config=/path/to/some/addon/addon-config.xml&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Adding &amp;lt;code&amp;gt;/path/to/some/addon&amp;lt;/code&amp;gt; to the list of allowed directories (same as &amp;lt;code&amp;gt;--fg-aircraft=/path/to/some/addon&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Through {{fgdata source|path=Nasal/addons.nas|text=&amp;lt;code&amp;gt;addons.nas&amp;lt;/code&amp;gt;}}:&lt;br /&gt;
** Loading &amp;lt;code&amp;gt;/foo/bar/baz/addon-main.nas&amp;lt;/code&amp;gt; into namespace &amp;lt;code&amp;gt;__addon[ADDON_ID]__&amp;lt;/code&amp;gt;&lt;br /&gt;
** Calling &amp;lt;code&amp;gt;main(addonGhost)&amp;lt;/code&amp;gt; from &amp;lt;code&amp;gt;/foo/bar/baz/addon-main.nas&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Aircraft specific config (addon-hints) ==&lt;br /&gt;
Some addons need per-aircraft configuration. While addons should strive to be self-contained (ie. the addon should contain means to&lt;br /&gt;
detect different aircraft and apply config from whithin the addon) there is also the possibility for the addon to read so called &amp;quot;addon-hints&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For this, a special property tree exists: &amp;lt;code&amp;gt;/sim/addon-hints/&amp;lt;addon&amp;gt;/...&amp;lt;/code&amp;gt;&lt;br /&gt;
The tree is expected to be populated from the aircraft.xml file. The addon can then read the properties from a common place regardless of loaded aircraft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sim&amp;gt;&lt;br /&gt;
  &amp;lt;addon-hints&amp;gt;&lt;br /&gt;
    &amp;lt;my-addon&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
    &amp;lt;/my-addon&amp;gt;&lt;br /&gt;
  &amp;lt;/addon-hints&amp;gt;&lt;br /&gt;
&amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== APIs ==&lt;br /&gt;
{{hatnote|For more details about these APIs, see the readme file, {{readme file|add-ons}}.}}&lt;br /&gt;
=== C++ API ===&lt;br /&gt;
There is a C++ API on FlightGear's side that handle some on the add-on related tasks manly through the &amp;lt;code&amp;gt;AddonManager()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Addon()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;AddonVersion()&amp;lt;/code&amp;gt; classes.&lt;br /&gt;
&lt;br /&gt;
=== Nasal API ===&lt;br /&gt;
The Nasal add-on API lives in the 'addons' namespace and can for example do queries to &amp;lt;code&amp;gt;AddonManager()&amp;lt;/code&amp;gt; and read data from &amp;lt;code&amp;gt;addons.Addon&amp;lt;/code&amp;gt; objects.  It can for example compare add-on versions if there is dependencies.&lt;br /&gt;
&lt;br /&gt;
See: {{Repo link|site=gitlab|proj=flightgear|repo=fgdata|branch=next|path=Nasal/addons.nas}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Appendix}}&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
=== Wiki articles ===&lt;br /&gt;
* [[Modules.nas]]&lt;br /&gt;
* [[FlightGear configuration via XML]]&lt;br /&gt;
* [[FlightGear configuration via XML#preferences.xml]]&lt;br /&gt;
* [[Nasal]]&lt;br /&gt;
* [[Property tree]]&lt;br /&gt;
* [[Properties persistent between sessions]]&lt;br /&gt;
* [[PropertyList XML File]]&lt;br /&gt;
&lt;br /&gt;
=== Forum topics ===&lt;br /&gt;
* {{forum link|t=32561|title=New Feature: Addon - &amp;quot;API&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== Readme files ===&lt;br /&gt;
* {{readme file|add-ons}} - An introduction to add-ons&lt;br /&gt;
* {{readme file|gui}} - Details on how to add menus and custom dialogs.&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
==== FGAddon ====&lt;br /&gt;
* {{fgaddon source|path=Addons/Skeleton}} - Skeleton addon to be used as a template.&lt;br /&gt;
&lt;br /&gt;
==== FGData ====&lt;br /&gt;
* {{fgdata source|path=Nasal/addons.nas}}&lt;br /&gt;
&lt;br /&gt;
==== FlightGear ====&lt;br /&gt;
* {{flightgear source|path=src/Main/options.cxx}}&lt;br /&gt;
* {{flightgear source|path=src/Add-ons/}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear addons| ]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Addon&amp;diff=145303</id>
		<title>Addon</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Addon&amp;diff=145303"/>
		<updated>2026-06-22T02:21:54Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* List of Addons */ autoearthview&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Fgaddonslogo202x89.png|right]] &lt;br /&gt;
An '''addon''' is a third-party pack for FlightGear containing enhancements.&lt;br /&gt;
&lt;br /&gt;
== Installing an addon ==&lt;br /&gt;
Download and copy the add-on to a directory on your computer.&lt;br /&gt;
&lt;br /&gt;
In the launcher, select the Add-ons page from the icon bar on the left, then find the &amp;quot;Add-on Module folders&amp;quot; section and click the Add (+) button. Select the folder where you put the add-on. Make sure the selected folder path ends with the add-on name (such as &amp;quot;Logbook&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Alternatively, use the command line switch &amp;lt;code&amp;gt;--addon=/path/to/some/addon&amp;lt;/code&amp;gt; if you are not using the launcher.&lt;br /&gt;
&lt;br /&gt;
Some add-ons (like Aerotow Everywhere) may require additional actions. Please also read the description of the specific add-on.&lt;br /&gt;
&lt;br /&gt;
== List of Addons ==&lt;br /&gt;
You can find the official repository at {{fgaddon source|path=Addons}}&lt;br /&gt;
&lt;br /&gt;
# [https://github.com/PlayeRom/flightgear-addon-menu-aggregator Add-ons Menu Aggregator] - this add-on aggregates the menus of all other add-ons into one menu item.&lt;br /&gt;
# [[Aerotow Everywhere Add-on]] - AI towing aircraft for gliders at every airport.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?t=40742&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Aerotow Everywhere &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Roman Ludwicki (PlayeRom) &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 14th, 2022&lt;br /&gt;
  |added  =  Aug 14th, 2022&lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [https://github.com/SP-NTX/AnotherGUI AnotherGUI] - An add-on that adds a new GUI style.&lt;br /&gt;
# {{fgaddon source|path=Addons/ATCChatter/|text=ATC Chatter}} (ported by Torsten).&lt;br /&gt;
# [[AutoEarthView]] - an addon for spaceflight that automatically starts/stops Earthview based on the altitude&lt;br /&gt;
# [[Blacklist add-on]] - Automatically ignore pilots with certain callsigns or multiplayer models.&lt;br /&gt;
# [[Bombable]] - military add-on.&lt;br /&gt;
# [[Cargo Towing Addon]] &amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?t=36824&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Cargo Towing Addon &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Wayne Bragg (wlbragg) &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  &lt;br /&gt;
  |added  =  &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; - Allow any helicopter to tow, move and place various types of models.&lt;br /&gt;
# [[Earthview#Customization]] - High resolution customization&lt;br /&gt;
# [[FaceTrackNoIR]] (ported by HHS)&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/36454826/&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re:  &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Unknown, HHS&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |date   =  Nov 1th, 2018 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; - An addon to interface this [[Head tracking|head tracker]] with FlightGear&lt;br /&gt;
# [https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=24792 Fencemaker] (Eases creating Fence-like scenery objects. Originally by VaLeo, converted to an addon by sfr) - ([https://www.mediafire.com/file/cf0la63v9g352md/fencemaker_addon.zip/file download])&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    = https://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=24792&amp;amp;start=45#p390066&lt;br /&gt;
  |title  = &amp;lt;nowiki&amp;gt; Re:  &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |author = &amp;lt;nowiki&amp;gt; Stefan Frank &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |maintainer = &amp;lt;nowiki&amp;gt; Stefan Frank &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  |date   = Aug 8th, 2021&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [https://github.com/PlayeRom/flightgear-addon-fgcamera FGCamera] - ([https://github.com/PlayeRom/flightgear-addon-fgcamera/blob/master/Docs/manual.md manual]) - [[FGCamera | Wiki Page]]&lt;br /&gt;
# [[FGPlot]]&lt;br /&gt;
# [https://gitlab.com/fg_shfsn/addons/flight-planner Flight Planner] - a flexible tool for manual flight planning and airport briefing.&lt;br /&gt;
# [[Ground Services]] (ported by ThomasS)&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=316400#p316400 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re:  &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; ThomasS &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 12th, 2017 &lt;br /&gt;
  |added  =  Aug 12th, 2017 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [https://gitlab.com/fg_shfsn/addons/hax Hax!]: landing evaluation and aircraft development tools, TerraSync toggler.&lt;br /&gt;
# {{fgaddon source|path=Addons/Headtracker/|text=Headtracker addon}} Helps integrate FaceTrackNoIR and opentrack with FlightGear.&lt;br /&gt;
# [[HighAirTrader]] An in-sim mini game in which you transport goods to different airports.&lt;br /&gt;
# [https://github.com/tdammers/fg-hoppie-acars Hoppie ACARS client] - connect to [http://www.hoppie.nl/acars Hoppie's ACARS], used on VATSIM and other networks.&lt;br /&gt;
# [https://github.com/slawekmikula/flightgear-addon-hudheli HUD Heli] - additional Heli HUD's ([https://github.com/slawekmikula/flightgear-addon-hudheli/blob/master/doc/manual.md manual]) - encapsulation of HeliHUD package as an addon.&lt;br /&gt;
# [https://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Addons/Illuminator/ Illuminator] - configure lights attached to 3D models (e.g. taxi light, landing light or a light attached to a scenery model like a light pole) at runtime.&lt;br /&gt;
# [https://github.com/slawekmikula/flightgear-addon-protocolkml KML Exporter (Google Earth)] - ([https://github.com/slawekmikula/flightgear-addon-protocolkml/blob/master/doc/manual.md manual])&lt;br /&gt;
# [[Landing Rate addon]] [https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=33101&amp;amp;p=327787#p327787]&lt;br /&gt;
# [https://github.com/slawekmikula/flightgear-addon-linuxtrack LinuxTrack Head Tracker integration] - ([https://github.com/slawekmikula/flightgear-addon-linuxtrack/blob/master/doc/manual.md manual])&lt;br /&gt;
# [https://github.com/slawekmikula/flightgear-addon-littlenavmap LittleNavMap integration] - ([https://github.com/slawekmikula/flightgear-addon-littlenavmap/blob/master/doc/manual.md manual])&lt;br /&gt;
# [[Logbook Add-on]] - logs all your flights to local file with flight analysis.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?t=41070&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Logbook Add-on &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Roman Ludwicki (PlayeRom) &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Dec 11th, 2022&lt;br /&gt;
  |added  =  Dec 11th, 2022&lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [[Log time-stamper add-on]] - Will print simulated UTC time, real local time, and/or real UTC time time-stamps at configurable intervals to the console and log.&lt;br /&gt;
# [https://gitlab.com/fg_shfsn/addons/mickey Mickey] - Tiny HUD for mouse flying in FlightGear. Visual feedback for mouse flying, to make up for mouse's lack of self-centering.&lt;br /&gt;
# [https://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Addons/MissionGenerator  Mission Generator Addon] &amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?t=39774&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Announcing Mission Generator Addon &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Wayne Bragg (wlbragg) &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  &lt;br /&gt;
  |added  =  &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; - Generate various random missions - Search &amp;amp; Rescue, Life Flight, Aerial Intrusion, Wildfire.&lt;br /&gt;
# [https://github.com/SP-NTX/MPChatImprovments MPChatImprovments] Multi-key commands for Multiplayer, new features for chat,...&lt;br /&gt;
# [https://github.com/PlayeRom/flightgear-addon-nasal-namespace-browser Nasal Namespace Browser] - heir to [[Nasal Browser]]&lt;br /&gt;
# [https://github.com/hbeni/fgfs-noGroundDamage noGroundDamage] - Addon to temporarily disable damage after landing and for ground operations for the c172/c182&lt;br /&gt;
# [[Oscilloscope addon]] - Allows displaying a property of Nasal function over time&lt;br /&gt;
# [[PAR instrument]] - Precision Approach Radar and Ground Controlled Approach&lt;br /&gt;
# [https://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Addons/RainVectorEditor/  Rain Vector Editor] - Utility to allow dynamic editing of the rain vector for the rain effect on glass.&lt;br /&gt;
# [[Ramp Marshall]] &amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?t=20572&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Nasal based Independant Ramp Marshall &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt;  omega95 - Wayne Bragg (wlbragg)&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  &lt;br /&gt;
  |added  =  &lt;br /&gt;
  |script_version = 0.40&lt;br /&gt;
  }}{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?t=42753&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Announcing New Ramp Marshall Addon &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author = &lt;br /&gt;
  |date   =  &lt;br /&gt;
  |added  =  &lt;br /&gt;
  |script_version = 0.40  &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; - Ramp Marshalling for FlightGear Airports.&lt;br /&gt;
# [https://github.com/eatdust/RCView RCView] - Radio Control View&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =   https://github.com/eatdust/RCView&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; RCView &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Chris Ringeval (Eatdirt) &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Mar 23rd, 2024 &lt;br /&gt;
  |added  =  Mar 23rd, 2024 &lt;br /&gt;
  |script_version = 0.0 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [[Red Griffin ATC]] - Speaking Air Traffic Controller&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=36755 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re:  &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; RedGriffin &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Jan 6th, 2020 &lt;br /&gt;
  |added  =  Jan 6th, 2020 &lt;br /&gt;
  |script_version = 1.0.0 RC2 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [https://github.com/tdammers/fg-simbrief-addon SimBrief import] - Import flightplans, weights, fuel, and winds alof, from SimBrief.&lt;br /&gt;
# [[Spoken ATC]] (ported by Torsten)&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=314095#p314095 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re:  &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Torsten &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Jul 10th, 2017 &lt;br /&gt;
  |added  =  Jul 10th, 2017 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [[Spoken GCA]] - An offline ground controlled approach (GCA) addon&lt;br /&gt;
# [https://github.com/slawekmikula/flightgear-addon-vfrflight VFRFlight integration] - ([https://github.com/slawekmikula/flightgear-addon-vfrflight/blob/master/doc/manual.md manual])&lt;br /&gt;
# [https://github.com/slawekmikula/flightgear-addon-vfrnavigator VFR Flying Helper] - ([https://github.com/slawekmikula/flightgear-addon-vfrnavigator/blob/master/doc/usage.md manual])&lt;br /&gt;
# [[Which Runway Add-on]] - dynamically determines and displays the optimal runway for take-off and landing based on current wind and airport preferences, while calculating headwind, crosswind, and tailwind components for each runway.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://github.com/PlayeRom/flightgear-addon-which-runway&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Which Runway GitHub &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Roman Ludwicki (PlayeRom) &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Sep 10th, 2025&lt;br /&gt;
  |added  =  Sep 10th, 2025&lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
# [[Wildfire simulation|Wildfire]] &amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?t=39677&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Wildfire Addon &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; AndersG - Wayne Bragg (wlbragg) &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  &lt;br /&gt;
  |added  =  &lt;br /&gt;
  |script_version = 0.40&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; - Wildfire simulation.&lt;br /&gt;
# [[YASim Development Tools]] (by jsb)&lt;br /&gt;
&lt;br /&gt;
=== Experimental Addons ===&lt;br /&gt;
&lt;br /&gt;
Addons which are in the development stage/unfinished but can be used as a quick view of addon functionality&lt;br /&gt;
&lt;br /&gt;
# [https://github.com/slawekmikula/flightgear-addon-missions FlightGear Missions addon] - Add-on for missions/adventures code&lt;br /&gt;
# [[Model Cockpit View]]  (abandoned)&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?f=30&amp;amp;t=32718&amp;amp;start=45#p430651&lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re:  &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; wkitty42 &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Mar 24th, 2025 &lt;br /&gt;
  |added  =  Mar 24th, 2025 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creating an addon ==&lt;br /&gt;
There is a very simple Skeleton addon available in FGAddon to be used as a template.&amp;lt;ref name=&amp;quot;Forum_announcement&amp;quot;&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35894463/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] Emesary / Multiplayer improvements &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Richard Harrison &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Jun 14th, 2017 &lt;br /&gt;
  |added  =  Jun 14th, 2017 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
}}&amp;lt;/ref&amp;gt; See {{fgaddon source|path=Addons/Skeleton}}.&lt;br /&gt;
&lt;br /&gt;
A leading slash (&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;) in this section indicates the base directory of the directory structure of the addon.&lt;br /&gt;
&lt;br /&gt;
=== Minimum configuration ===&lt;br /&gt;
An addon may be installed in a directory anywhere on your hard disk and need at least two files:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/addon-config.xml&amp;lt;/code&amp;gt; - A standard [[PropertyList XML files|PropertyList XML file]] to be used to populate or modify the [[property tree]]. (Same as to be used in &amp;lt;code&amp;gt;--config=foo.xml&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;/addon-main.nas&amp;lt;/code&amp;gt; - The Nasal hook for the logic. This file needs a function called &amp;lt;code&amp;gt;main()&amp;lt;/code&amp;gt; which will be called from the global addon initializer (&amp;lt;code&amp;gt;addons.nas&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Additional common files ===&lt;br /&gt;
* &amp;lt;code&amp;gt;/addon-metadata.xml&amp;lt;/code&amp;gt; - A PropertyList XML file with metadata about the addon it.&lt;br /&gt;
* &amp;lt;code&amp;gt;/addon-menubar-items.xml&amp;lt;/code&amp;gt; - A PropertyList XML file describing menus to be added to the FlightGear menu bar.&lt;br /&gt;
* &amp;lt;code&amp;gt;/gui/dialogs/&amp;amp;lt;my-foobar-dialog&amp;amp;gt;.xml&amp;lt;/code&amp;gt; - PropertyList XML files to create custom dialogs.&lt;br /&gt;
&lt;br /&gt;
=== Good to know ===&lt;br /&gt;
The new addon mechanism lets you add a &amp;lt;code&amp;gt;addon-config.xml&amp;lt;/code&amp;gt; to override the settings in &amp;lt;code&amp;gt;defaults.xml&amp;lt;/code&amp;gt; and other files.&lt;br /&gt;
&lt;br /&gt;
That will allow an addon to:&lt;br /&gt;
*  override key bindings (as in the spoken ATC addon),&lt;br /&gt;
*  add or override autopilots and property rules,&lt;br /&gt;
*  introduce XML state machines.&lt;br /&gt;
&lt;br /&gt;
Unless your really want to add/change/remove those at runtime, this should cater for most use cases.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=314902#p314902 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: Spoken  &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Torsten &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Jul 23rd, 2017 &lt;br /&gt;
  |added  =  Jul 23rd, 2017 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sound Support ===&lt;br /&gt;
Sound support is available using fgcommand's.&lt;br /&gt;
&lt;br /&gt;
See also [[Howto:Play sound using Nasal script]].&lt;br /&gt;
&lt;br /&gt;
== Addon initialization ==&lt;br /&gt;
On initialization fgfs takes care of:&lt;br /&gt;
* Through {{flightgear source|path=src/Main/options.cxx|text=&amp;lt;code&amp;gt;options.cxx&amp;lt;/code&amp;gt;}}:&amp;lt;ref name=&amp;quot;Forum_announcement&amp;quot;/&amp;gt;&lt;br /&gt;
** Creating a property under &amp;lt;code&amp;gt;/addons/addon[n]/path=/path/to/some/addon&amp;lt;/code&amp;gt;&lt;br /&gt;
** Loading &amp;lt;code&amp;gt;/path/to/some/addon/addon-config.xml&amp;lt;/code&amp;gt; into the property tree (same as &amp;lt;code&amp;gt;--config=/path/to/some/addon/addon-config.xml&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Adding &amp;lt;code&amp;gt;/path/to/some/addon&amp;lt;/code&amp;gt; to the list of allowed directories (same as &amp;lt;code&amp;gt;--fg-aircraft=/path/to/some/addon&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Through {{fgdata source|path=Nasal/addons.nas|text=&amp;lt;code&amp;gt;addons.nas&amp;lt;/code&amp;gt;}}:&lt;br /&gt;
** Loading &amp;lt;code&amp;gt;/foo/bar/baz/addon-main.nas&amp;lt;/code&amp;gt; into namespace &amp;lt;code&amp;gt;__addon[ADDON_ID]__&amp;lt;/code&amp;gt;&lt;br /&gt;
** Calling &amp;lt;code&amp;gt;main(addonGhost)&amp;lt;/code&amp;gt; from &amp;lt;code&amp;gt;/foo/bar/baz/addon-main.nas&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Aircraft specific config (addon-hints) ==&lt;br /&gt;
Some addons need per-aircraft configuration. While addons should strive to be self-contained (ie. the addon should contain means to&lt;br /&gt;
detect different aircraft and apply config from whithin the addon) there is also the possibility for the addon to read so called &amp;quot;addon-hints&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For this, a special property tree exists: &amp;lt;code&amp;gt;/sim/addon-hints/&amp;lt;addon&amp;gt;/...&amp;lt;/code&amp;gt;&lt;br /&gt;
The tree is expected to be populated from the aircraft.xml file. The addon can then read the properties from a common place regardless of loaded aircraft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sim&amp;gt;&lt;br /&gt;
  &amp;lt;addon-hints&amp;gt;&lt;br /&gt;
    &amp;lt;my-addon&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
    &amp;lt;/my-addon&amp;gt;&lt;br /&gt;
  &amp;lt;/addon-hints&amp;gt;&lt;br /&gt;
&amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== APIs ==&lt;br /&gt;
{{hatnote|For more details about these APIs, see the readme file, {{readme file|add-ons}}.}}&lt;br /&gt;
=== C++ API ===&lt;br /&gt;
There is a C++ API on FlightGear's side that handle some on the add-on related tasks manly through the &amp;lt;code&amp;gt;AddonManager()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Addon()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;AddonVersion()&amp;lt;/code&amp;gt; classes.&lt;br /&gt;
&lt;br /&gt;
=== Nasal API ===&lt;br /&gt;
The Nasal add-on API lives in the 'addons' namespace and can for example do queries to &amp;lt;code&amp;gt;AddonManager()&amp;lt;/code&amp;gt; and read data from &amp;lt;code&amp;gt;addons.Addon&amp;lt;/code&amp;gt; objects.  It can for example compare add-on versions if there is dependencies.&lt;br /&gt;
&lt;br /&gt;
See: {{Repo link|site=gitlab|proj=flightgear|repo=fgdata|branch=next|path=Nasal/addons.nas}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Appendix}}&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
=== Wiki articles ===&lt;br /&gt;
* [[Modules.nas]]&lt;br /&gt;
* [[FlightGear configuration via XML]]&lt;br /&gt;
* [[FlightGear configuration via XML#preferences.xml]]&lt;br /&gt;
* [[Nasal]]&lt;br /&gt;
* [[Property tree]]&lt;br /&gt;
* [[Properties persistent between sessions]]&lt;br /&gt;
* [[PropertyList XML File]]&lt;br /&gt;
&lt;br /&gt;
=== Forum topics ===&lt;br /&gt;
* {{forum link|t=32561|title=New Feature: Addon - &amp;quot;API&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== Readme files ===&lt;br /&gt;
* {{readme file|add-ons}} - An introduction to add-ons&lt;br /&gt;
* {{readme file|gui}} - Details on how to add menus and custom dialogs.&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
==== FGAddon ====&lt;br /&gt;
* {{fgaddon source|path=Addons/Skeleton}} - Skeleton addon to be used as a template.&lt;br /&gt;
&lt;br /&gt;
==== FGData ====&lt;br /&gt;
* {{fgdata source|path=Nasal/addons.nas}}&lt;br /&gt;
&lt;br /&gt;
==== FlightGear ====&lt;br /&gt;
* {{flightgear source|path=src/Main/options.cxx}}&lt;br /&gt;
* {{flightgear source|path=src/Add-ons/}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear addons| ]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=145302</id>
		<title>Earthview</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=145302"/>
		<updated>2026-06-22T02:21:39Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Related content */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{See also|Flying on other planets}}&lt;br /&gt;
&lt;br /&gt;
The default FlightGear terrain rendering strategy is designed for visuals from aircraft cruise altitude. While it is [http://www.flightgear.org/tours/pushing-the-boundaries-the-x-15-story/ possible] to use it for altitudes up to some 100 km, the performance impact becomes increasingly prohibitive and the visuals are not overly compelling. In particular for orbiting spacecraft such as [[Vostok-1]] or the [[Space Shuttle]] or even the [[UFO]], neither rendering nor loading the standard terrain mesh is fast enough.&lt;br /&gt;
&lt;br /&gt;
Earthview is an alternative orbital rendering engine for FlightGear designed to get credible visuals in these situations. It is based on projecting a simple textured sphere representing Earth into the scene using ray optics. The quality of the terrain visuals then largely depend on the texture size used. Since there is then only a single object in the field of view, performance is generally very good provided that there is enough texture memory available.&lt;br /&gt;
&lt;br /&gt;
{{Spaceflight}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
[[File:menubar2.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
Earthview is started from the menu as View -&amp;gt; Earthview Orbital Rendering. This brings up the configuration dialog.&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview menu.jpg|thumb|260px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The options checkboxes allow to select&lt;br /&gt;
&lt;br /&gt;
* whether a cloud layer should be rendered above the planet&lt;br /&gt;
* whether the cloud layer information should be used to render cloud shadows onto the terrain&lt;br /&gt;
* whether Earthview should take control of the atmosphere visuals and adjust them based on altitude&lt;br /&gt;
* whether textures should be procedurally enhanced with overlay textures to provide better apparent texture resolution&lt;br /&gt;
* whether textures should be rendered with lighting based on a normal map. Parallax effects are also computed if the normal map contains an alpha channel encoding the inverse height of the Earth's relief&lt;br /&gt;
* whether clouds should be rendered with lighting and parallax effects. These are computed using the alpha channel of the cloud map as an input information of their vertical extension&lt;br /&gt;
&lt;br /&gt;
'Start' run Earthview, 'Stop' ends the computations and removes the 3d model. Generally, using Earthview below an altitude of ~30 km / 100.000 ft is not recommended and will almost certainly not give the desired visuals. If you don't want to start and stop it manually, you can install the [[AutoEarthView]] addon.&lt;br /&gt;
&lt;br /&gt;
Sliders further down can be used to adjust details. For instance, if no cloud shadows are rendered, it is possible to rotate the cloud sphere around Earth and give different places different weather (otherwise, the cloud pattern will always be the same, i.e. if a place is obscured by clouds initially, it will always be). Using Rayleigh, Mie and Density, atmosphere visuals (if [[Atmospheric light scattering]] (ALS) is on) can be adjusted. Visibility dials the amount of fogging seen on the planet. &lt;br /&gt;
&lt;br /&gt;
Earthview runs without ALS, but does not provide any credible visuals of the Atmosphere.&lt;br /&gt;
&lt;br /&gt;
If atmosphere visuals are rendered, Earthview interacts with the weather system in that the visibility used by Earthview and by the weather system will be the same. In the case of [[A local weather system | Advanced Weather]] (AW) this is an issue because both systems try to adjust atmosphere visuals. For this reason, AW needs to be ended before Earthview is started. There is no general option to do this automatically, but an automatic transition from default FG rendering and weather to Earthview is easily coded spacecraft side and implemented for the Space Shuttle.&lt;br /&gt;
&lt;br /&gt;
All textures are taken from the [http://visibleearth.nasa.gov/ NASA Visible Earth project] - at the highest resolution level, Earth can be rendered at 32768x65536 pixel (about 500 x 500 m per pixel) and clouds with half of that. Currently, due to size concern, all the textures distributed in FGData are of low resolution (2048p x 2048p per tile) and do not incorporate the alpha channel encoding the height. Parallax mapping for ground textures is therefore disabled. It is however possible to obtain the textures from the NASA website, process them and straightforwardly use them as a replacement. More detailed instructions to do so are given below in the section &amp;quot;Customization&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
At highest texture resolution, visuals are generally very compelling:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview for low Earth orbit.jpg|450px|Low orbit]] [[File:Earthview hig altitude.jpg|450px|High orbit]]&lt;br /&gt;
&lt;br /&gt;
A dedicated set of shaders for Earth and the cloudsphere is used to create additional effects such a enhanced specular water reflections, cloud shadows and dawnlight color changes:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview cloud shadows.jpg|450px|Cloud shadows in Earthview]] [[File:Earthview specular water reflections.jpg|450px|Specular water reflections and cloud shadows in Earthview]]&lt;br /&gt;
&lt;br /&gt;
Earthview can also render Aurora Borealis seen from space.&lt;br /&gt;
&lt;br /&gt;
For comparison, this is the FG native terrain tweaked to render with 600 km visibility from 100 km altitude (bringing a gaming laptop to 10 fps in the process):&lt;br /&gt;
&lt;br /&gt;
[[File:X-15-iceland05.jpg|450px|X-15 over Iceland]] [[File:X-15-iceland03.jpg|450px|X-15 in space]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Since there is no detailed terrain mesh involved and there is essentially just a single textured sphere in the field of view, performance is generally excellent even on low end graphics cards.&lt;br /&gt;
&lt;br /&gt;
The main requirement (especially if custom hires textures are used) is available memory and GPU texture memory. All textures are split into eight tiles, four for the northern hemisphere (N1 to N4), and four for the southern hemisphere (S1 to S4) and each tile is loaded, or unloaded, according to visibility. As such, GPU memory is efficiently used and limited graphic card memory should not be an issue for the default texture size. However, the loading of a texture tile induces some bottleneck and FG may hang for a couple of seconds, or more (depending on tile resolution), while the texture appears. &lt;br /&gt;
&lt;br /&gt;
Where this is feasible and supported by the GPU drivers, pre-compressed and mipmapped dds textures offer the fastest loading times. As such textures can not be used with many OpenSource graphics drivers, the default textures are not in dds format, but these can be generated along the lines discussed in the &amp;quot;Customization&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
For high-end graphic cards, it is possible to actually force the loading of all texture tiles at once when Earthview starts. This is triggered with the command line option:&lt;br /&gt;
&lt;br /&gt;
  --prop:/earthview/show-force-all=true&lt;br /&gt;
&lt;br /&gt;
With the maximum resolution textures (16384x16384 pixels for a world tile and 8192x8192 pixels for a cloud and a normalmap tile), expect a minute or more for the loading, around 6GB of GPU memory and 16GB of RAM to be filled. If you can afford it, there will be no other loading bottleneck afterwards. These numbers can accordingly be lowered using lower resolution tiles.&lt;br /&gt;
&lt;br /&gt;
Finally, while it is possible to use Earthview in rendering schemes other then ALS, this is neither supported nor endorsed. While they work perfectly well for the normal operations envelope of a flightsim, at high altitude the default renderer as well as [[Project Rembrandt]] do not render a realistic horizon line, plausible atmosphere visuals or the hard shadows of outer space and Earthview can not compensate for these issues. As such, on old flightgear versions (up to 2018) when using the [[Compositor]] as the rendering pipeline, it is compulsory to default it to ALS with  --compositor=Compositor/als. Flightgear versions 2020 to 2024 uses the Compositor by default and ALS rendering can be switched on in the Rendering menu.&lt;br /&gt;
&lt;br /&gt;
== Customization ==&lt;br /&gt;
&lt;br /&gt;
To get full advantage of Earthview, and your graphic card, you may install and use your own high resolution tiles as well as normal maps having a alpha channel to trigger parallax mapping.&lt;br /&gt;
&lt;br /&gt;
=== Texture generation ===&lt;br /&gt;
&lt;br /&gt;
There are two ways to obtain these textures:&lt;br /&gt;
&lt;br /&gt;
==== The easy way ====&lt;br /&gt;
&lt;br /&gt;
When our resources allow for it, some users generate these textures and make them available for download. They may be obtained via torrent with this magnet link:&lt;br /&gt;
&lt;br /&gt;
    magnet:?xt=urn:btih:6df05a15c863040fd31278dfd1f719523b639cf2&amp;amp;dn=EarthView.World.August-2020.06&lt;br /&gt;
&lt;br /&gt;
and may also be available for download at this url:&lt;br /&gt;
&lt;br /&gt;
    [https://curl.irmp.ucl.ac.be/~chris/upload/fg/earthview/ Earthview/]&lt;br /&gt;
&lt;br /&gt;
A bash script to automatically download the full per-month data from above url [http://ix.io/3ogk is available here]. It downloads the dataset for every month, or it symlinks a dataset for a specified month into a specified place, see help of the script (run without arguments or with '-h'). To choose which resolution(s) to download or which image file format(s) to download the variables in the script needs to be edited. Needs an unix environment with bash and wget.&lt;br /&gt;
&lt;br /&gt;
==== The interesting way ====&lt;br /&gt;
&lt;br /&gt;
Most likely the easy way is no longer available, or you are curious. Chris_Blues made a wonderful Bash-script that will download the NASA images and do the texture generation for you, in the correct way. It is available on github, together with the instructions on how to use it:&lt;br /&gt;
&lt;br /&gt;
    [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview]&lt;br /&gt;
&lt;br /&gt;
This program can generate world, clouds and normal maps with height data included in the alpha channel, and at various resolutions ranging from 1024x1024 to 16384x16384 pixels.&lt;br /&gt;
&lt;br /&gt;
==== Remarks ====&lt;br /&gt;
&lt;br /&gt;
Notice that all the input images are provided by NASA and any usage of the textures should be made in accordance with their distribution policy. They are directly accessible for download at [http://visibleearth.nasa.gov/ Visible Earth], look into the Blue Marble section and search for a texture set of your choice.&lt;br /&gt;
&lt;br /&gt;
NASA provides different seasons for the Earth images, even one set of images per month. [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview] allows you to chose the month for which you want to generate your set of tiles.&lt;br /&gt;
&lt;br /&gt;
Graphics cards prefer powers of two in texture sizes, so [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview] resizes the tiles to 1024x1024, 2048x2048, 4096x4096, 8192x8192 or 16384x16384 pixels. Be aware of the original image resolution, there is no much gain into using a super-sampled tile. For instance, the current cloud maps provided by NASA have a resolution of typically 10000 pixels. Using 8192x8192 sampling is the best option, the gain of super-sampling it at 16384x16384 is very small. Similar thing holds true for heights and normalmaps (16384x16384 for them is also supersampled, so prefer at most 8192x8192 for them).&lt;br /&gt;
&lt;br /&gt;
=== Installing and using customized textures ===&lt;br /&gt;
&lt;br /&gt;
The texture tiles loaded by Earthview reside in&lt;br /&gt;
&lt;br /&gt;
   $FGData/Models/Astro/Textures&lt;br /&gt;
&lt;br /&gt;
where $FGData depends on the installation path of flightgear-fgdata. If you only want to use &amp;quot;png&amp;quot; texture tiles, simply replace all the '''world_*.png''', '''clouds_*.png''' and '''normalmap_earth_*.png''' files by your own.&lt;br /&gt;
&lt;br /&gt;
If you want to use &amp;quot;dds&amp;quot; mipmapped images, then you have to edit a few &amp;quot;ac&amp;quot; files to tell Earthview to use them. These configuration files reside in&lt;br /&gt;
&lt;br /&gt;
  $FGData/Models/Astro&lt;br /&gt;
&lt;br /&gt;
and are&lt;br /&gt;
&lt;br /&gt;
  earth_*.ac&lt;br /&gt;
&lt;br /&gt;
On Unix systems, the program '''sed''' is your friend (but make a backup before).&lt;br /&gt;
&lt;br /&gt;
* Remarks&lt;br /&gt;
It is possible to assign any image you fancy to be used as a tile by Earthview. For this, you can edit the file '''earth_unitscale_rawuv.ac''' to load your images, and edit '''earth.xml''' such that it points to your just edited 3d model via &amp;lt;path&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/path&amp;gt;. You can do the same for '''cloudsphere.xml'''. However, assigning textures in this manner, as they are to the &amp;quot;rawuv&amp;quot; sphere, creates visible seams where the texture sheets end. This is particularly visible if parallax mapping is rendered as the computation requires shifting the textures over the sphere.&lt;br /&gt;
&lt;br /&gt;
The solution is to add margins that encompass a bit of the neighbouring tiles. This is what [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview] is doing (as well as the texture set provided). These bordered tiles don't use '''earth_unitscale_rawuv.ac''' but instead '''earth_unitscale_hires.ac''', which is the default (see [https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=15754&amp;amp;start=135#p207629 this forum post] for the original discussion). In other words, if you use [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview] to generate your own textures, you do not need to change '''earth.xml''' nor '''earth_unitscale_rawuv.ac'''. Notice that you still need to edit '''earth_unitscale_hires.ac''' (and the rest of the '''earth_*.ac''') if you want to use dds tiles!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Open tips ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Since there is no limit to customization, and if you can afford 50GB of disk space, you can create a whole set of directories containing Earth textures for each month of the year, as for instance:&lt;br /&gt;
&lt;br /&gt;
   EarthView.World.January-2020.06/&lt;br /&gt;
   EarthView.World.February-2020.06/&lt;br /&gt;
   ...&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
On linux, a simple &amp;quot;cron&amp;quot; job can automatically link the content of one of these directories to '''$FGData/Models/Astro/Textures/''', like this one:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   TEXTUREDIR=&amp;quot;/usr/share/games/flightgear-extra/Models/Textures&amp;quot;&lt;br /&gt;
   TIMESTAMP=&amp;quot;2020.06&amp;quot;&lt;br /&gt;
   MONTH=$(date +%B)&lt;br /&gt;
   WORLDRES=&amp;quot;16384&amp;quot;&lt;br /&gt;
   echo &amp;quot;Going to: $TEXTUREDIR&amp;quot;&lt;br /&gt;
   cd $TEXTUREDIR&lt;br /&gt;
   echo &amp;quot;Linking world textures of: $MONTH&amp;quot;&lt;br /&gt;
   ln -s -f ../EarthView.World.${MONTH}-${TIMESTAMP}/${WORLDRES}/world_*.dds .&lt;br /&gt;
   ln -s -f ../EarthView.World.${MONTH}-${TIMESTAMP}/${WORLDRES}/world_*.png .&lt;br /&gt;
   echo &amp;quot;done&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And you'll be flying Earth with textures matching the current month!&lt;br /&gt;
&lt;br /&gt;
* You may also fancy textures from other celestial bodies, as for instance the Moon. Textures generator available here [https://github.com/eatdust/LROC2FGearthview LROC2FGearthview] and shaders there [https://github.com/eatdust/moonshaders moonshaders], see the original discussion on the forum [https://forum.flightgear.org/viewtopic.php?f=87&amp;amp;t=15754&amp;amp;start=375#p369043 viewtopic.php?f=87&amp;amp;t=15754&amp;amp;start=375#p369043].&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
Technically, Earth is rendered as a ~58 km sized sphere positioned 1/100 of the actual altitude away from the spacecraft. It's position is constantly adjusted to give the same visual size using ray optics equations, and its attitude is rotated to place you 'above' the correct latitude and longitude. For 100 km altitude, the camera is thus actually just 1000 m away from the sphere.&lt;br /&gt;
&lt;br /&gt;
Compared to almost anything else, the performance impact of re-positioning the sphere every frame is minimal.&lt;br /&gt;
&lt;br /&gt;
The reason is that graphics cards operate with floating point precision, and a sphere with the real size of Earth would create (potentially architecture dependent) massive numerical problems (the default far plane clipping distance in FG is some 120.000 m). The same is in fact true for the skydome - it's actually a half dome some 20 km away from the camera, made to appear behind everything else by rendering magic. Or, in other words, we can't simply render a 'real earth' and a 'real atmosphere' because that would potentially overtax the GPU - real time rendering is always trickery of some sort.&lt;br /&gt;
&lt;br /&gt;
The implementation has the negative consequence that you may not move the view point too far from the spacecraft (the ray optics illusion works for one object, but not for two simultaneously) - in particular flyby view or tower view will give you odd results with Earthview.&lt;br /&gt;
&lt;br /&gt;
The real terrain engine is not technically switched off, but (assuming normal visibility settings) the terrain mesh is just too far to trigger either tile loading or rendering - as you get back from orbit, the terrain will load underneath Earthview, and if you end it at a reasonable altitude (say between 80.000 and 120.000 ft) you can go right back to the native FG terrain with minimum fuss.&lt;br /&gt;
&lt;br /&gt;
== Screenshots Gallery ==&lt;br /&gt;
{{screenshot cat&lt;br /&gt;
| category = Screenshots of Earthview&lt;br /&gt;
| subject  = the Earthview orbital rendering engine&lt;br /&gt;
| image    = Shuttle FG01.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A sum up of some nice screenshots, and what is achievable while playing with all the options that Earthview offers us.&lt;br /&gt;
&lt;br /&gt;
Sunset and Diffraction&lt;br /&gt;
&lt;br /&gt;
[[File:Black knight UFO Shuttle sunset.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Black Knight UFO Shuttle&lt;br /&gt;
&lt;br /&gt;
[[File:Black_knight_UFO.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
500Nm above the World&lt;br /&gt;
&lt;br /&gt;
[[File:Far_side_of_the_world.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
South Pole and Lighting game&lt;br /&gt;
&lt;br /&gt;
[[File:Shuttle_over_South_Pole_500_Nm.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Good night World&lt;br /&gt;
&lt;br /&gt;
[[File:SOTM_2019-09_Firing_at_Dawn_by_GinGin.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
California Fly By&lt;br /&gt;
&lt;br /&gt;
[[File:Edwards_RTLS_earthview.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Lonely External Tank&lt;br /&gt;
&lt;br /&gt;
[[File:External_Tank_on_Orbit.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Ready for Orbital Operations Eileen&lt;br /&gt;
&lt;br /&gt;
[[File:Orbital_ops_bay_opened_earthview.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[AutoEarthView]] - an addon that automatically starts/stops Earthview based on the altitude&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=145301</id>
		<title>Earthview</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=145301"/>
		<updated>2026-06-22T02:18:27Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: autoearthview&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{See also|Flying on other planets}}&lt;br /&gt;
&lt;br /&gt;
The default FlightGear terrain rendering strategy is designed for visuals from aircraft cruise altitude. While it is [http://www.flightgear.org/tours/pushing-the-boundaries-the-x-15-story/ possible] to use it for altitudes up to some 100 km, the performance impact becomes increasingly prohibitive and the visuals are not overly compelling. In particular for orbiting spacecraft such as [[Vostok-1]] or the [[Space Shuttle]] or even the [[UFO]], neither rendering nor loading the standard terrain mesh is fast enough.&lt;br /&gt;
&lt;br /&gt;
Earthview is an alternative orbital rendering engine for FlightGear designed to get credible visuals in these situations. It is based on projecting a simple textured sphere representing Earth into the scene using ray optics. The quality of the terrain visuals then largely depend on the texture size used. Since there is then only a single object in the field of view, performance is generally very good provided that there is enough texture memory available.&lt;br /&gt;
&lt;br /&gt;
{{Spaceflight}}&lt;br /&gt;
== Overview ==&lt;br /&gt;
[[File:menubar2.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
Earthview is started from the menu as View -&amp;gt; Earthview Orbital Rendering. This brings up the configuration dialog.&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview menu.jpg|thumb|260px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The options checkboxes allow to select&lt;br /&gt;
&lt;br /&gt;
* whether a cloud layer should be rendered above the planet&lt;br /&gt;
* whether the cloud layer information should be used to render cloud shadows onto the terrain&lt;br /&gt;
* whether Earthview should take control of the atmosphere visuals and adjust them based on altitude&lt;br /&gt;
* whether textures should be procedurally enhanced with overlay textures to provide better apparent texture resolution&lt;br /&gt;
* whether textures should be rendered with lighting based on a normal map. Parallax effects are also computed if the normal map contains an alpha channel encoding the inverse height of the Earth's relief&lt;br /&gt;
* whether clouds should be rendered with lighting and parallax effects. These are computed using the alpha channel of the cloud map as an input information of their vertical extension&lt;br /&gt;
&lt;br /&gt;
'Start' run Earthview, 'Stop' ends the computations and removes the 3d model. Generally, using Earthview below an altitude of ~30 km / 100.000 ft is not recommended and will almost certainly not give the desired visuals. If you don't want to start and stop it manually, you can install the [[AutoEarthView]] addon.&lt;br /&gt;
&lt;br /&gt;
Sliders further down can be used to adjust details. For instance, if no cloud shadows are rendered, it is possible to rotate the cloud sphere around Earth and give different places different weather (otherwise, the cloud pattern will always be the same, i.e. if a place is obscured by clouds initially, it will always be). Using Rayleigh, Mie and Density, atmosphere visuals (if [[Atmospheric light scattering]] (ALS) is on) can be adjusted. Visibility dials the amount of fogging seen on the planet. &lt;br /&gt;
&lt;br /&gt;
Earthview runs without ALS, but does not provide any credible visuals of the Atmosphere.&lt;br /&gt;
&lt;br /&gt;
If atmosphere visuals are rendered, Earthview interacts with the weather system in that the visibility used by Earthview and by the weather system will be the same. In the case of [[A local weather system | Advanced Weather]] (AW) this is an issue because both systems try to adjust atmosphere visuals. For this reason, AW needs to be ended before Earthview is started. There is no general option to do this automatically, but an automatic transition from default FG rendering and weather to Earthview is easily coded spacecraft side and implemented for the Space Shuttle.&lt;br /&gt;
&lt;br /&gt;
All textures are taken from the [http://visibleearth.nasa.gov/ NASA Visible Earth project] - at the highest resolution level, Earth can be rendered at 32768x65536 pixel (about 500 x 500 m per pixel) and clouds with half of that. Currently, due to size concern, all the textures distributed in FGData are of low resolution (2048p x 2048p per tile) and do not incorporate the alpha channel encoding the height. Parallax mapping for ground textures is therefore disabled. It is however possible to obtain the textures from the NASA website, process them and straightforwardly use them as a replacement. More detailed instructions to do so are given below in the section &amp;quot;Customization&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
At highest texture resolution, visuals are generally very compelling:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview for low Earth orbit.jpg|450px|Low orbit]] [[File:Earthview hig altitude.jpg|450px|High orbit]]&lt;br /&gt;
&lt;br /&gt;
A dedicated set of shaders for Earth and the cloudsphere is used to create additional effects such a enhanced specular water reflections, cloud shadows and dawnlight color changes:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview cloud shadows.jpg|450px|Cloud shadows in Earthview]] [[File:Earthview specular water reflections.jpg|450px|Specular water reflections and cloud shadows in Earthview]]&lt;br /&gt;
&lt;br /&gt;
Earthview can also render Aurora Borealis seen from space.&lt;br /&gt;
&lt;br /&gt;
For comparison, this is the FG native terrain tweaked to render with 600 km visibility from 100 km altitude (bringing a gaming laptop to 10 fps in the process):&lt;br /&gt;
&lt;br /&gt;
[[File:X-15-iceland05.jpg|450px|X-15 over Iceland]] [[File:X-15-iceland03.jpg|450px|X-15 in space]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Since there is no detailed terrain mesh involved and there is essentially just a single textured sphere in the field of view, performance is generally excellent even on low end graphics cards.&lt;br /&gt;
&lt;br /&gt;
The main requirement (especially if custom hires textures are used) is available memory and GPU texture memory. All textures are split into eight tiles, four for the northern hemisphere (N1 to N4), and four for the southern hemisphere (S1 to S4) and each tile is loaded, or unloaded, according to visibility. As such, GPU memory is efficiently used and limited graphic card memory should not be an issue for the default texture size. However, the loading of a texture tile induces some bottleneck and FG may hang for a couple of seconds, or more (depending on tile resolution), while the texture appears. &lt;br /&gt;
&lt;br /&gt;
Where this is feasible and supported by the GPU drivers, pre-compressed and mipmapped dds textures offer the fastest loading times. As such textures can not be used with many OpenSource graphics drivers, the default textures are not in dds format, but these can be generated along the lines discussed in the &amp;quot;Customization&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
For high-end graphic cards, it is possible to actually force the loading of all texture tiles at once when Earthview starts. This is triggered with the command line option:&lt;br /&gt;
&lt;br /&gt;
  --prop:/earthview/show-force-all=true&lt;br /&gt;
&lt;br /&gt;
With the maximum resolution textures (16384x16384 pixels for a world tile and 8192x8192 pixels for a cloud and a normalmap tile), expect a minute or more for the loading, around 6GB of GPU memory and 16GB of RAM to be filled. If you can afford it, there will be no other loading bottleneck afterwards. These numbers can accordingly be lowered using lower resolution tiles.&lt;br /&gt;
&lt;br /&gt;
Finally, while it is possible to use Earthview in rendering schemes other then ALS, this is neither supported nor endorsed. While they work perfectly well for the normal operations envelope of a flightsim, at high altitude the default renderer as well as [[Project Rembrandt]] do not render a realistic horizon line, plausible atmosphere visuals or the hard shadows of outer space and Earthview can not compensate for these issues. As such, on old flightgear versions (up to 2018) when using the [[Compositor]] as the rendering pipeline, it is compulsory to default it to ALS with  --compositor=Compositor/als. Flightgear versions 2020 to 2024 uses the Compositor by default and ALS rendering can be switched on in the Rendering menu.&lt;br /&gt;
&lt;br /&gt;
== Customization ==&lt;br /&gt;
&lt;br /&gt;
To get full advantage of Earthview, and your graphic card, you may install and use your own high resolution tiles as well as normal maps having a alpha channel to trigger parallax mapping.&lt;br /&gt;
&lt;br /&gt;
=== Texture generation ===&lt;br /&gt;
&lt;br /&gt;
There are two ways to obtain these textures:&lt;br /&gt;
&lt;br /&gt;
==== The easy way ====&lt;br /&gt;
&lt;br /&gt;
When our resources allow for it, some users generate these textures and make them available for download. They may be obtained via torrent with this magnet link:&lt;br /&gt;
&lt;br /&gt;
    magnet:?xt=urn:btih:6df05a15c863040fd31278dfd1f719523b639cf2&amp;amp;dn=EarthView.World.August-2020.06&lt;br /&gt;
&lt;br /&gt;
and may also be available for download at this url:&lt;br /&gt;
&lt;br /&gt;
    [https://curl.irmp.ucl.ac.be/~chris/upload/fg/earthview/ Earthview/]&lt;br /&gt;
&lt;br /&gt;
A bash script to automatically download the full per-month data from above url [http://ix.io/3ogk is available here]. It downloads the dataset for every month, or it symlinks a dataset for a specified month into a specified place, see help of the script (run without arguments or with '-h'). To choose which resolution(s) to download or which image file format(s) to download the variables in the script needs to be edited. Needs an unix environment with bash and wget.&lt;br /&gt;
&lt;br /&gt;
==== The interesting way ====&lt;br /&gt;
&lt;br /&gt;
Most likely the easy way is no longer available, or you are curious. Chris_Blues made a wonderful Bash-script that will download the NASA images and do the texture generation for you, in the correct way. It is available on github, together with the instructions on how to use it:&lt;br /&gt;
&lt;br /&gt;
    [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview]&lt;br /&gt;
&lt;br /&gt;
This program can generate world, clouds and normal maps with height data included in the alpha channel, and at various resolutions ranging from 1024x1024 to 16384x16384 pixels.&lt;br /&gt;
&lt;br /&gt;
==== Remarks ====&lt;br /&gt;
&lt;br /&gt;
Notice that all the input images are provided by NASA and any usage of the textures should be made in accordance with their distribution policy. They are directly accessible for download at [http://visibleearth.nasa.gov/ Visible Earth], look into the Blue Marble section and search for a texture set of your choice.&lt;br /&gt;
&lt;br /&gt;
NASA provides different seasons for the Earth images, even one set of images per month. [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview] allows you to chose the month for which you want to generate your set of tiles.&lt;br /&gt;
&lt;br /&gt;
Graphics cards prefer powers of two in texture sizes, so [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview] resizes the tiles to 1024x1024, 2048x2048, 4096x4096, 8192x8192 or 16384x16384 pixels. Be aware of the original image resolution, there is no much gain into using a super-sampled tile. For instance, the current cloud maps provided by NASA have a resolution of typically 10000 pixels. Using 8192x8192 sampling is the best option, the gain of super-sampling it at 16384x16384 is very small. Similar thing holds true for heights and normalmaps (16384x16384 for them is also supersampled, so prefer at most 8192x8192 for them).&lt;br /&gt;
&lt;br /&gt;
=== Installing and using customized textures ===&lt;br /&gt;
&lt;br /&gt;
The texture tiles loaded by Earthview reside in&lt;br /&gt;
&lt;br /&gt;
   $FGData/Models/Astro/Textures&lt;br /&gt;
&lt;br /&gt;
where $FGData depends on the installation path of flightgear-fgdata. If you only want to use &amp;quot;png&amp;quot; texture tiles, simply replace all the '''world_*.png''', '''clouds_*.png''' and '''normalmap_earth_*.png''' files by your own.&lt;br /&gt;
&lt;br /&gt;
If you want to use &amp;quot;dds&amp;quot; mipmapped images, then you have to edit a few &amp;quot;ac&amp;quot; files to tell Earthview to use them. These configuration files reside in&lt;br /&gt;
&lt;br /&gt;
  $FGData/Models/Astro&lt;br /&gt;
&lt;br /&gt;
and are&lt;br /&gt;
&lt;br /&gt;
  earth_*.ac&lt;br /&gt;
&lt;br /&gt;
On Unix systems, the program '''sed''' is your friend (but make a backup before).&lt;br /&gt;
&lt;br /&gt;
* Remarks&lt;br /&gt;
It is possible to assign any image you fancy to be used as a tile by Earthview. For this, you can edit the file '''earth_unitscale_rawuv.ac''' to load your images, and edit '''earth.xml''' such that it points to your just edited 3d model via &amp;lt;path&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/path&amp;gt;. You can do the same for '''cloudsphere.xml'''. However, assigning textures in this manner, as they are to the &amp;quot;rawuv&amp;quot; sphere, creates visible seams where the texture sheets end. This is particularly visible if parallax mapping is rendered as the computation requires shifting the textures over the sphere.&lt;br /&gt;
&lt;br /&gt;
The solution is to add margins that encompass a bit of the neighbouring tiles. This is what [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview] is doing (as well as the texture set provided). These bordered tiles don't use '''earth_unitscale_rawuv.ac''' but instead '''earth_unitscale_hires.ac''', which is the default (see [https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=15754&amp;amp;start=135#p207629 this forum post] for the original discussion). In other words, if you use [https://github.com/chris-blues/Nasa2FGearthview Nasa2FGearthview] to generate your own textures, you do not need to change '''earth.xml''' nor '''earth_unitscale_rawuv.ac'''. Notice that you still need to edit '''earth_unitscale_hires.ac''' (and the rest of the '''earth_*.ac''') if you want to use dds tiles!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Open tips ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Since there is no limit to customization, and if you can afford 50GB of disk space, you can create a whole set of directories containing Earth textures for each month of the year, as for instance:&lt;br /&gt;
&lt;br /&gt;
   EarthView.World.January-2020.06/&lt;br /&gt;
   EarthView.World.February-2020.06/&lt;br /&gt;
   ...&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
On linux, a simple &amp;quot;cron&amp;quot; job can automatically link the content of one of these directories to '''$FGData/Models/Astro/Textures/''', like this one:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   TEXTUREDIR=&amp;quot;/usr/share/games/flightgear-extra/Models/Textures&amp;quot;&lt;br /&gt;
   TIMESTAMP=&amp;quot;2020.06&amp;quot;&lt;br /&gt;
   MONTH=$(date +%B)&lt;br /&gt;
   WORLDRES=&amp;quot;16384&amp;quot;&lt;br /&gt;
   echo &amp;quot;Going to: $TEXTUREDIR&amp;quot;&lt;br /&gt;
   cd $TEXTUREDIR&lt;br /&gt;
   echo &amp;quot;Linking world textures of: $MONTH&amp;quot;&lt;br /&gt;
   ln -s -f ../EarthView.World.${MONTH}-${TIMESTAMP}/${WORLDRES}/world_*.dds .&lt;br /&gt;
   ln -s -f ../EarthView.World.${MONTH}-${TIMESTAMP}/${WORLDRES}/world_*.png .&lt;br /&gt;
   echo &amp;quot;done&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And you'll be flying Earth with textures matching the current month!&lt;br /&gt;
&lt;br /&gt;
* You may also fancy textures from other celestial bodies, as for instance the Moon. Textures generator available here [https://github.com/eatdust/LROC2FGearthview LROC2FGearthview] and shaders there [https://github.com/eatdust/moonshaders moonshaders], see the original discussion on the forum [https://forum.flightgear.org/viewtopic.php?f=87&amp;amp;t=15754&amp;amp;start=375#p369043 viewtopic.php?f=87&amp;amp;t=15754&amp;amp;start=375#p369043].&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
Technically, Earth is rendered as a ~58 km sized sphere positioned 1/100 of the actual altitude away from the spacecraft. It's position is constantly adjusted to give the same visual size using ray optics equations, and its attitude is rotated to place you 'above' the correct latitude and longitude. For 100 km altitude, the camera is thus actually just 1000 m away from the sphere.&lt;br /&gt;
&lt;br /&gt;
Compared to almost anything else, the performance impact of re-positioning the sphere every frame is minimal.&lt;br /&gt;
&lt;br /&gt;
The reason is that graphics cards operate with floating point precision, and a sphere with the real size of Earth would create (potentially architecture dependent) massive numerical problems (the default far plane clipping distance in FG is some 120.000 m). The same is in fact true for the skydome - it's actually a half dome some 20 km away from the camera, made to appear behind everything else by rendering magic. Or, in other words, we can't simply render a 'real earth' and a 'real atmosphere' because that would potentially overtax the GPU - real time rendering is always trickery of some sort.&lt;br /&gt;
&lt;br /&gt;
The implementation has the negative consequence that you may not move the view point too far from the spacecraft (the ray optics illusion works for one object, but not for two simultaneously) - in particular flyby view or tower view will give you odd results with Earthview.&lt;br /&gt;
&lt;br /&gt;
The real terrain engine is not technically switched off, but (assuming normal visibility settings) the terrain mesh is just too far to trigger either tile loading or rendering - as you get back from orbit, the terrain will load underneath Earthview, and if you end it at a reasonable altitude (say between 80.000 and 120.000 ft) you can go right back to the native FG terrain with minimum fuss.&lt;br /&gt;
&lt;br /&gt;
== Screenshots Gallery ==&lt;br /&gt;
{{screenshot cat&lt;br /&gt;
| category = Screenshots of Earthview&lt;br /&gt;
| subject  = the Earthview orbital rendering engine&lt;br /&gt;
| image    = Shuttle FG01.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A sum up of some nice screenshots, and what is achievable while playing with all the options that Earthview offers us.&lt;br /&gt;
&lt;br /&gt;
Sunset and Diffraction&lt;br /&gt;
&lt;br /&gt;
[[File:Black knight UFO Shuttle sunset.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Black Knight UFO Shuttle&lt;br /&gt;
&lt;br /&gt;
[[File:Black_knight_UFO.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
500Nm above the World&lt;br /&gt;
&lt;br /&gt;
[[File:Far_side_of_the_world.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
South Pole and Lighting game&lt;br /&gt;
&lt;br /&gt;
[[File:Shuttle_over_South_Pole_500_Nm.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Good night World&lt;br /&gt;
&lt;br /&gt;
[[File:SOTM_2019-09_Firing_at_Dawn_by_GinGin.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
California Fly By&lt;br /&gt;
&lt;br /&gt;
[[File:Edwards_RTLS_earthview.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Lonely External Tank&lt;br /&gt;
&lt;br /&gt;
[[File:External_Tank_on_Orbit.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Ready for Orbital Operations Eileen&lt;br /&gt;
&lt;br /&gt;
[[File:Orbital_ops_bay_opened_earthview.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[AutoEarthView]] - An addon that automatically starts/stops Earthview based on the altitude&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=AutoEarthView&amp;diff=145300</id>
		<title>AutoEarthView</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=AutoEarthView&amp;diff=145300"/>
		<updated>2026-06-22T02:17:42Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| title                  = AutoEarthView Add-on&lt;br /&gt;
| logo                   = Fgaddonslogo202x89.png |thumb&lt;br /&gt;
| image                  = AutoEarthView.png&lt;br /&gt;
| developedby            = flyer02@gitlab&lt;br /&gt;
| initialrelease         = June 21, 2026&lt;br /&gt;
| latestrelease          = 0.9.0, June 21, 2026&lt;br /&gt;
| writtenin              = Nasal&lt;br /&gt;
| developmentstatus      = Stable&lt;br /&gt;
| type                   = Addon&lt;br /&gt;
| platform               = Min FG version 2024.1&lt;br /&gt;
| license                = [[GNU General Public License]] v3&lt;br /&gt;
| website                = https://gitlab.com/flyer02/AutoEarthView&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
AutoEarthView is a FlightGear [[addon]] that automatically enables/disables [[Earthview|Earthview orbital rendering]] based on the altitude, making it no longer necessary to manually open the EarthView dialog. It automatically starts Earthview when you ascend above a configurable altitude threshold and stops it when you descend below another threshold.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* '''Automatic activation''' – Earthview starts when climbing above the start threshold&lt;br /&gt;
* '''Automatic deactivation''' – Earthview stops when descending below the stop threshold  &lt;br /&gt;
* '''Persistent settings''' – All preferences are saved and restored between sessions&lt;br /&gt;
* '''Real-time configuration''' – Adjust thresholds on the fly via a simple dialog&lt;br /&gt;
* '''Toggle on/off''' – Enable or disable the automation at any time&lt;br /&gt;
* '''Minimal performance impact''' – Altitude checks run every 0.5 seconds&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
1. Download the source code from the [https://gitlab.com/flyer02/AutoEarthView/-/releases latest release] and extract it to a directory on your computer. If you want to get the development version, you can run &amp;lt;code&amp;gt;git clone https://gitlab.com/flyer02/AutoEarthView --depth 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. In the launcher, select the Add-ons page from the icon bar on the left, then find the section Add-on Module folders and click the Add(+) button. Select the folder where you put the addon. Once the addon is shown in the list, make sure its check box is selected. The selected folder path should end with &amp;quot;AutoEarthView&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Accessing the Dialog ===&lt;br /&gt;
&lt;br /&gt;
Navigate to the menu bar: '''AutoEarthView → Options'''&lt;br /&gt;
&lt;br /&gt;
=== Configuration Options ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting !! Description !! Default&lt;br /&gt;
|-&lt;br /&gt;
| '''Start threshold''' || Altitude (in feet) at which Earthview automatically starts during climb || 63,000 ft&lt;br /&gt;
|-&lt;br /&gt;
| '''Stop threshold''' || Altitude (in feet) at which Earthview automatically stops during descent || 30,000 ft&lt;br /&gt;
|-&lt;br /&gt;
| '''Enabled''' || Master toggle to enable/disable the automation || Enabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dialog Controls ===&lt;br /&gt;
&lt;br /&gt;
* '''Start threshold''' – Input field for the climb activation altitude&lt;br /&gt;
* '''Stop threshold''' – Input field for the descent deactivation altitude  &lt;br /&gt;
* '''Enabled''' – Checkbox to turn automation on/off&lt;br /&gt;
* '''Reset to defaults''' – Restores factory settings&lt;br /&gt;
&lt;br /&gt;
=== Menu Bar ===&lt;br /&gt;
&lt;br /&gt;
The addon adds a new menu: '''AutoEarthView''' with two items:&lt;br /&gt;
* '''Options''' – Opens the configuration dialog&lt;br /&gt;
* '''About''' – Displays addon information&lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
&lt;br /&gt;
The addon monitors your aircraft's altitude in real-time. When you cross the start threshold during a climb, Earthview is automatically enabled. When you cross the stop threshold during a descent, Earthview is automatically disabled.&lt;br /&gt;
&lt;br /&gt;
 Climbing:  altitude ≥ 63,000 ft  → Earthview starts automatically&lt;br /&gt;
 Descending: altitude ≤ 30,000 ft → Earthview stops automatically&lt;br /&gt;
&lt;br /&gt;
== Configuration File ==&lt;br /&gt;
&lt;br /&gt;
Settings are stored in &amp;lt;code&amp;gt;~/.fgfs/Export/Addons/org.flightgear.addons.AutoEarthView/save.txt&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;C:\Users\your username\AppData\Roaming\flightgear.org\Export\Addons\org.flightgear.addons.AutoEarthView\save.txt&amp;lt;/code&amp;gt; on Windows.&lt;br /&gt;
&lt;br /&gt;
​[[Category:FlightGear addons]]&lt;br /&gt;
​[[Category:Spaceflight]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=AutoEarthView&amp;diff=145299</id>
		<title>AutoEarthView</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=AutoEarthView&amp;diff=145299"/>
		<updated>2026-06-22T02:11:47Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| title                  = AutoEarthView Add-on&lt;br /&gt;
| logo                   = Fgaddonslogo202x89.png |thumb&lt;br /&gt;
| image                  = AutoEarthView.png&lt;br /&gt;
| developedby            = flyer02@gitlab&lt;br /&gt;
| initialrelease         = June 21, 2026&lt;br /&gt;
| latestrelease          = 0.9.0, June 21, 2026&lt;br /&gt;
| writtenin              = Nasal&lt;br /&gt;
| developmentstatus      = Stable&lt;br /&gt;
| type                   = Addon&lt;br /&gt;
| platform               = Min FG version 2024.1&lt;br /&gt;
| license                = [[GNU General Public License]] v3&lt;br /&gt;
| website                = https://gitlab.com/flyer02/AutoEarthView&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
AutoEarthView is a FlightGear [[addon]] that automatically enables/disables [[Earthview|Earthview orbital rendering]] based on aircraft altitude, making it no longer necessary to manually open the EarthView dialog. It automatically starts Earthview when you ascend above a configurable altitude threshold and stops it when you descend below another threshold.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* '''Automatic activation''' – Earthview starts when climbing above the start threshold&lt;br /&gt;
* '''Automatic deactivation''' – Earthview stops when descending below the stop threshold  &lt;br /&gt;
* '''Persistent settings''' – All preferences are saved and restored between sessions&lt;br /&gt;
* '''Real-time configuration''' – Adjust thresholds on the fly via a simple dialog&lt;br /&gt;
* '''Toggle on/off''' – Enable or disable the automation at any time&lt;br /&gt;
* '''Minimal performance impact''' – Altitude checks run every 0.5 seconds&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
1. Download the source code from the [https://gitlab.com/flyer02/AutoEarthView/-/releases latest release] and extract it to a directory on your computer. If you want to get the development version, you can run &amp;lt;code&amp;gt;git clone https://gitlab.com/flyer02/AutoEarthView --depth 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. In the launcher, select the Add-ons page from the icon bar on the left, then find the section Add-on Module folders and click the Add(+) button. Select the folder where you put the addon. Once the addon is shown in the list, make sure its check box is selected. The selected folder path should end with &amp;quot;AutoEarthView&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Accessing the Dialog ===&lt;br /&gt;
&lt;br /&gt;
Navigate to the menu bar: '''AutoEarthView → Options'''&lt;br /&gt;
&lt;br /&gt;
=== Configuration Options ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting !! Description !! Default&lt;br /&gt;
|-&lt;br /&gt;
| '''Start threshold''' || Altitude (in feet) at which Earthview automatically starts during climb || 63,000 ft&lt;br /&gt;
|-&lt;br /&gt;
| '''Stop threshold''' || Altitude (in feet) at which Earthview automatically stops during descent || 30,000 ft&lt;br /&gt;
|-&lt;br /&gt;
| '''Enabled''' || Master toggle to enable/disable the automation || Enabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dialog Controls ===&lt;br /&gt;
&lt;br /&gt;
* '''Start threshold''' – Input field for the climb activation altitude&lt;br /&gt;
* '''Stop threshold''' – Input field for the descent deactivation altitude  &lt;br /&gt;
* '''Enabled''' – Checkbox to turn automation on/off&lt;br /&gt;
* '''Reset to defaults''' – Restores factory settings&lt;br /&gt;
&lt;br /&gt;
=== Menu Bar ===&lt;br /&gt;
&lt;br /&gt;
The addon adds a new menu: '''AutoEarthView''' with two items:&lt;br /&gt;
* '''Options''' – Opens the configuration dialog&lt;br /&gt;
* '''About''' – Displays addon information&lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
&lt;br /&gt;
The addon monitors your aircraft's altitude in real-time. When you cross the start threshold during a climb, Earthview is automatically enabled. When you cross the stop threshold during a descent, Earthview is automatically disabled.&lt;br /&gt;
&lt;br /&gt;
 Climbing:  altitude ≥ 63,000 ft  → Earthview starts automatically&lt;br /&gt;
 Descending: altitude ≤ 30,000 ft → Earthview stops automatically&lt;br /&gt;
&lt;br /&gt;
== Configuration File ==&lt;br /&gt;
&lt;br /&gt;
Settings are stored in &amp;lt;code&amp;gt;~/.fgfs/Export/Addons/org.flightgear.addons.AutoEarthView/save.txt&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;C:\Users\your username\AppData\Roaming\flightgear.org\Export\Addons\org.flightgear.addons.AutoEarthView\save.txt&amp;lt;/code&amp;gt; on Windows.&lt;br /&gt;
&lt;br /&gt;
​[[Category:FlightGear addons]]&lt;br /&gt;
​[[Category:Spaceflight]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=AutoEarthView&amp;diff=145298</id>
		<title>AutoEarthView</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=AutoEarthView&amp;diff=145298"/>
		<updated>2026-06-22T02:11:22Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: Created page with &amp;quot;{{Infobox Software | title                  = AutoEarthView Add-on | logo                   = Fgaddonslogo202x89.png |thumb | image                  = AutoEarthView.png | developedby            = flyer02@gitlab | initialrelease         = June 21, 2026 | latestrelease          = 0.9.0, June 21, 2026 | writtenin              = Nasal | developmentstatus      = Stable | type                   = Addon | platform               = Min FG version 2024.1 | license                =...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| title                  = AutoEarthView Add-on&lt;br /&gt;
| logo                   = Fgaddonslogo202x89.png |thumb&lt;br /&gt;
| image                  = AutoEarthView.png&lt;br /&gt;
| developedby            = flyer02@gitlab&lt;br /&gt;
| initialrelease         = June 21, 2026&lt;br /&gt;
| latestrelease          = 0.9.0, June 21, 2026&lt;br /&gt;
| writtenin              = Nasal&lt;br /&gt;
| developmentstatus      = Stable&lt;br /&gt;
| type                   = Addon&lt;br /&gt;
| platform               = Min FG version 2024.1&lt;br /&gt;
| license                = [[GNU General Public License]] v3&lt;br /&gt;
| website                = https://gitlab.com/flyer02/AutoEarthView&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
AutoEarthView is a FlightGear [[addon]] that automatically enables/disables [[Earthview|Earthview orbital rendering]] based on aircraft altitude, making it no longer necessary to manually open the EarthView dialog. It automatically starts Earthview when you ascend above a configurable altitude threshold and stops it when you descend below another threshold.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* '''Automatic activation''' – Earthview starts when climbing above the start threshold&lt;br /&gt;
* '''Automatic deactivation''' – Earthview stops when descending below the stop threshold  &lt;br /&gt;
* '''Persistent settings''' – All preferences are saved and restored between sessions&lt;br /&gt;
* '''Real-time configuration''' – Adjust thresholds on the fly via a simple dialog&lt;br /&gt;
* '''Toggle on/off''' – Enable or disable the automation at any time&lt;br /&gt;
* '''Minimal performance impact''' – Altitude checks run every 0.5 seconds&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
1. Download the source code from the [latest release](https://gitlab.com/flyer02/AutoEarthView/-/releases) and extract it to a directory on your computer. If you want to get the development version, you can run &amp;lt;code&amp;gt;git clone https://gitlab.com/flyer02/AutoEarthView --depth 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. In the launcher, select the Add-ons page from the icon bar on the left, then find the section Add-on Module folders and click the Add(+) button. Select the folder where you put the addon. Once the addon is shown in the list, make sure its check box is selected. The selected folder path should end with &amp;quot;AutoEarthView&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Accessing the Dialog ===&lt;br /&gt;
&lt;br /&gt;
Navigate to the menu bar: '''AutoEarthView → Options'''&lt;br /&gt;
&lt;br /&gt;
=== Configuration Options ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting !! Description !! Default&lt;br /&gt;
|-&lt;br /&gt;
| '''Start threshold''' || Altitude (in feet) at which Earthview automatically starts during climb || 63,000 ft&lt;br /&gt;
|-&lt;br /&gt;
| '''Stop threshold''' || Altitude (in feet) at which Earthview automatically stops during descent || 30,000 ft&lt;br /&gt;
|-&lt;br /&gt;
| '''Enabled''' || Master toggle to enable/disable the automation || Enabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dialog Controls ===&lt;br /&gt;
&lt;br /&gt;
* '''Start threshold''' – Input field for the climb activation altitude&lt;br /&gt;
* '''Stop threshold''' – Input field for the descent deactivation altitude  &lt;br /&gt;
* '''Enabled''' – Checkbox to turn automation on/off&lt;br /&gt;
* '''Reset to defaults''' – Restores factory settings&lt;br /&gt;
&lt;br /&gt;
=== Menu Bar ===&lt;br /&gt;
&lt;br /&gt;
The addon adds a new menu: '''AutoEarthView''' with two items:&lt;br /&gt;
* '''Options''' – Opens the configuration dialog&lt;br /&gt;
* '''About''' – Displays addon information&lt;br /&gt;
&lt;br /&gt;
== How It Works ==&lt;br /&gt;
&lt;br /&gt;
The addon monitors your aircraft's altitude in real-time. When you cross the start threshold during a climb, Earthview is automatically enabled. When you cross the stop threshold during a descent, Earthview is automatically disabled.&lt;br /&gt;
&lt;br /&gt;
 Climbing:  altitude ≥ 63,000 ft  → Earthview starts automatically&lt;br /&gt;
 Descending: altitude ≤ 30,000 ft → Earthview stops automatically&lt;br /&gt;
&lt;br /&gt;
== Configuration File ==&lt;br /&gt;
&lt;br /&gt;
Settings are stored in &amp;lt;code&amp;gt;~/.fgfs/Export/Addons/org.flightgear.addons.AutoEarthView/save.txt&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;C:\Users\your username\AppData\Roaming\flightgear.org\Export\Addons\org.flightgear.addons.AutoEarthView\save.txt&amp;lt;/code&amp;gt; on Windows.&lt;br /&gt;
&lt;br /&gt;
​[[Category:FlightGear addons]]&lt;br /&gt;
​[[Category:Spaceflight]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=File:AutoEarthView.png&amp;diff=145297</id>
		<title>File:AutoEarthView.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=File:AutoEarthView.png&amp;diff=145297"/>
		<updated>2026-06-22T02:00:31Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: Uploaded own work with UploadWizard&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{int:filedesc}}==&lt;br /&gt;
{{Information&lt;br /&gt;
|description={{en|1=AutoEarthView dialog}}&lt;br /&gt;
|date=2026-06-22&lt;br /&gt;
|source={{own}}&lt;br /&gt;
|author=[[User:Fgf5|Fgf5]]&lt;br /&gt;
|permission=&lt;br /&gt;
|other versions=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=={{int:license-header}}==&lt;br /&gt;
{{self|cc-by-sa-4.0}}&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Aerotow_Everywhere_Add-on&amp;diff=145296</id>
		<title>Aerotow Everywhere Add-on</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Aerotow_Everywhere_Add-on&amp;diff=145296"/>
		<updated>2026-06-22T01:58:17Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| title                  = Aerotow Everywhere Add-on&lt;br /&gt;
| logo                   = Fgaddonslogo202x89.png |thumb&lt;br /&gt;
| image                  = Aerotow add-on 1.png&lt;br /&gt;
| alt                    = Aerotow Everywhere Add-on - the tow plane taxis in front of the glider.&lt;br /&gt;
| developedby            = Roman Ludwicki (PlayeRom, SP-ROM)&lt;br /&gt;
| initialrelease         = August 14, 2022&lt;br /&gt;
| latestrelease          = 1.9.3, September 25, 2025&lt;br /&gt;
| writtenin              = Nasal&lt;br /&gt;
| developmentstatus      = Stable (2023)&lt;br /&gt;
| type                   = Addon&lt;br /&gt;
| platform               = Min FG version 2024.1.1&lt;br /&gt;
| license                = [[GNU General Public License]] v3&lt;br /&gt;
| website                = https://github.com/PlayeRom/flightgear-addon-aerotow-everywhere&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is an add-on designed to include an AI aircraft that will be able to tow a glider. The main idea is to be able to do this at any airport and  with any glider. Technically, this add-on adds the aerotow-dragger AI scenario dynamically, so you won't have to create XML with the scenario manually anymore.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
This add-on creates a flight plan in real-time based on the airport you are at. Unfortunately this causes a problem which you will have to solve manually by following the instructions below.&lt;br /&gt;
Namely, the flight plan for AI aircraft, by default, must be stored in the &amp;lt;code&amp;gt;[[$FG_ROOT]]/AI/FlightPlans/&amp;lt;/code&amp;gt; directory. But for security reasons, Nasal scripts cannot save files to that directory, but can save e.g. to &amp;lt;code&amp;gt;[[$FG_HOME]]/Export/&amp;lt;/code&amp;gt;. Therefore, the run-time created flight plan will just be saved to &amp;lt;code&amp;gt;[[$FG_HOME]]/Export/Addons/org.flightgear.addons.Aerotow/AI/FlightPlans/&amp;lt;/code&amp;gt;. The problem is that FlightGear does not know that it is supposed to look for the flight plan file in this location as well, so you have to tell it manually by using the &amp;lt;code&amp;gt;--data&amp;lt;/code&amp;gt; [[Command_line_options|command line option]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[[$FG_HOME]]&amp;lt;/code&amp;gt; is the FlightGear home path. It differs depending on the operating system.&lt;br /&gt;
Under Linux/macOS &amp;lt;code&amp;gt;[[$FG_HOME]]&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;/home/{username}/.fgfs/&amp;lt;/code&amp;gt;.&lt;br /&gt;
Under Windows &amp;lt;code&amp;gt;[[$FG_HOME]]&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;C:\Users\{username}\AppData\Roaming\flightgear.org\&amp;lt;/code&amp;gt;.&lt;br /&gt;
Where &amp;lt;code&amp;gt;{username}&amp;lt;/code&amp;gt; is the name of the user logged into the operating system.&lt;br /&gt;
&lt;br /&gt;
# {{repo link&lt;br /&gt;
| site = gh&lt;br /&gt;
| user = PlayeRom&lt;br /&gt;
| repo = flightgear-addon-aerotow-everywhere/releases&lt;br /&gt;
| text = Download &amp;quot;Aerotow Everywhere&amp;quot; add-on&lt;br /&gt;
}} and unzip it.&lt;br /&gt;
# In Launcher go to &amp;quot;Add-ons&amp;quot; tab. Click &amp;quot;Add&amp;quot; button by &amp;quot;Add-on Module folders&amp;quot; section and select folder with unzipped &amp;quot;Aerotow Everywhere&amp;quot; add-on directory (or add command line options: &amp;lt;code&amp;gt;--addon=path&amp;lt;/code&amp;gt;), and click &amp;quot;Fly!&amp;quot;. After loading the simulator, a &amp;lt;code&amp;gt;$FG_HOME/Export/Addons/org.flightgear.addons.Aerotow&amp;lt;/code&amp;gt; directory should be created.&lt;br /&gt;
# Close FlightGear for now.&lt;br /&gt;
# In the file explorer of your operating system, find the directory &amp;lt;code&amp;gt;$FG_HOME/Export/Addons/org.flightgear.addons.Aerotow&amp;lt;/code&amp;gt;. This path must be added by the &amp;lt;code&amp;gt;--data&amp;lt;/code&amp;gt; command line option, so it will be treated as an additional FGData directory. In Launcher go to &amp;quot;Settings&amp;quot; tab and in &amp;quot;Additionnal Setting&amp;quot; type for example on the Linux system: &amp;lt;code&amp;gt;--data=/home/{username}/.fgfs/Export/Addons/org.flightgear.addons.Aerotow&amp;lt;/code&amp;gt; or on the Windows: &amp;lt;code&amp;gt;--data=C:\Users\{username}\AppData\Roaming\flightgear.org\Export\Addons\org.flightgear.addons.Aerotow&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Run simulator again, now everything should be working.&lt;br /&gt;
&lt;br /&gt;
== How to start? ==&lt;br /&gt;
&lt;br /&gt;
Start FlightGear at any airport with your aircraft as a glider, such as ASK 21.&lt;br /&gt;
&lt;br /&gt;
From the top menu, select &amp;quot;Aerotow Everywhere&amp;quot; -&amp;gt; &amp;quot;Call for Piper J3 Cub aircraft&amp;quot;, &amp;quot;Robin DR400&amp;quot;, &amp;quot;Cessna 182&amp;quot; or &amp;quot;Douglas C-47&amp;quot;. (Yes, you can choose from many aircrafts). The AI aircraft will appear to your right and align to the centerline of the runway in front of you. At this time you should hook up to the aircraft, most often by pressing the {{key press|Ctrl|o}} key (check help of your glider). The AI aircraft will begin to accelerate and take off.&lt;br /&gt;
&lt;br /&gt;
You can also take off in the bush. Then the tow plane will position itself in front of you (glider's course), so what heading you have is important. If you move away from the runway threshold further than 100 m, then the take-off of the tow plane will be as in the bush, i.e. according to the glider heading and not the runway.&lt;br /&gt;
&lt;br /&gt;
== How does the AI tow aircraft fly by default? ==&lt;br /&gt;
&lt;br /&gt;
[[File:Aerotow add-on 1.png|thumb|Aerotow Everywhere Addo-on - the tow plane taxis in front of the glider.]]&lt;br /&gt;
&lt;br /&gt;
The tow plane always takes off in front of your runway and flies along the runway for 5 km, then turns back and flies downwind for 6 km, then turns back again and flies another 6 km. During this flight it is constantly gaining altitude. Then, after having flown the entire given route, it lands at the airport from which it took off or when start in the bush turns in an unknown direction and flies at a constant altitude. If the aircraft lands at the airport, the scenario starts again, i.e. the aircraft respawn to take-off again.&lt;br /&gt;
&lt;br /&gt;
You can disconnect from the aircraft at any time, most often by pressing the {{key press|o}} key (check help of your glider).&lt;br /&gt;
&lt;br /&gt;
Default route:&lt;br /&gt;
 ^ - airport with heading direction to north&lt;br /&gt;
 1 - 1st waypoint&lt;br /&gt;
 2 - 2nd waypoint, etc.&lt;br /&gt;
&lt;br /&gt;
    2 . . 1   5&lt;br /&gt;
    .     .   .&lt;br /&gt;
    .     .   .&lt;br /&gt;
    .     .   .&lt;br /&gt;
    .     .   .&lt;br /&gt;
    .     .   .&lt;br /&gt;
    .     .   .&lt;br /&gt;
    .     .   .&lt;br /&gt;
    .     .   .&lt;br /&gt;
    .     .   .&lt;br /&gt;
    .     ^   .&lt;br /&gt;
    .         .&lt;br /&gt;
    .         .&lt;br /&gt;
    3 . . . . 4&lt;br /&gt;
&lt;br /&gt;
== Menu of add-on ==&lt;br /&gt;
&lt;br /&gt;
This add-on add a new item to main menu named &amp;quot;Aerotow Everywhere&amp;quot; with following items:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;Aerotow Route&amp;lt;/code&amp;gt; - display the dialog for change aerotow route.&lt;br /&gt;
# &amp;lt;code&amp;gt;Towrope Configuration&amp;lt;/code&amp;gt; - display the dialog for change towrope parameters.&lt;br /&gt;
# &amp;lt;code&amp;gt;Call for Piper J3 Cub aircraft&amp;lt;/code&amp;gt; - load AI tow scenario with Piper J3 Cub.&lt;br /&gt;
# &amp;lt;code&amp;gt;Call for Robin DR400 aircraft&amp;lt;/code&amp;gt; - load AI tow scenario with Robin DR400. This aircraft has better performance and can take you higher then Piper Cub.&lt;br /&gt;
# &amp;lt;code&amp;gt;Call for Cessna 182 aircraft&amp;lt;/code&amp;gt; - load AI tow scenario with Cessna 182. This aircraft has little bit better performance than Robin.&lt;br /&gt;
# &amp;lt;code&amp;gt;Call for Douglas C-47 aircraft&amp;lt;/code&amp;gt; - load AI tow scenario with Douglas C-47. Dedicated mainly to the &amp;quot;Horsa Assault Glider&amp;quot;.&lt;br /&gt;
# &amp;lt;code&amp;gt;Call for Handley Page Halifax&amp;lt;/code&amp;gt; - load AI tow scenario with Handley Page Halifax. Dedicated mainly to the &amp;quot;Horsa Assault Glider&amp;quot;.&lt;br /&gt;
# &amp;lt;code&amp;gt;Disable tow aircraft&amp;lt;/code&amp;gt; - unload AI tow scenario.&lt;br /&gt;
# &amp;lt;code&amp;gt;Add thermal&amp;lt;/code&amp;gt; - display the dialog for configuring and adding thermal.&lt;br /&gt;
# &amp;lt;code&amp;gt;Help&amp;lt;/code&amp;gt; - display help dialog.&lt;br /&gt;
# &amp;lt;code&amp;gt;About&amp;lt;/code&amp;gt; - display about dialog with add-on information.&lt;br /&gt;
&lt;br /&gt;
== Aerotow Route == &lt;br /&gt;
&lt;br /&gt;
You can change the AI aircraft's default route, for this go to menu &amp;quot;Aerotow Everywhere&amp;quot; -&amp;gt; &amp;quot;Aerotow Route&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Aerotow aircraft ===&lt;br /&gt;
&lt;br /&gt;
On the top of the &amp;quot;Aerotow Route&amp;quot; dialog you have selector to change aircraft type. It's only for calculate performance and display how the altitude will change.&lt;br /&gt;
&lt;br /&gt;
=== Max alt (AGL) ===&lt;br /&gt;
&lt;br /&gt;
Here you can set limit of AGL altitude. 0 means without limits - the plane will always increase its altitude during its flight. AGL is always in terms of the place you are starting from.&lt;br /&gt;
&lt;br /&gt;
=== Route ===&lt;br /&gt;
&lt;br /&gt;
Next you have initial heading, distance and altitude change. &amp;quot;Initial heading&amp;quot; depend of the runway where you are located. The aircraft will always take-off along the runway, a distance of 100 m, where it will gain 20 ft in altitude above the terrain. These parameters you cannot change unless you change the airport/runway.&lt;br /&gt;
&lt;br /&gt;
Next you can see a table with fields where you can change values. Each row represents a single waypoint of flight plan of AI aircraft. For each waypoint you have following columns:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;Heading change (deg)&amp;lt;/code&amp;gt; - information on how the heading of the aircraft should change in relation to the previous one. A value of &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; means no change, so continue with the same heading. And e.g. &amp;lt;code&amp;gt;-90&amp;lt;/code&amp;gt; means a left turn of 90 degrees, &amp;lt;code&amp;gt;60&amp;lt;/code&amp;gt; means a right turn of 60 degrees, etc.&lt;br /&gt;
# &amp;lt;code&amp;gt;Distance (m)&amp;lt;/code&amp;gt; - distance in meters from the previous waypoint to the present one.&lt;br /&gt;
# &amp;lt;code&amp;gt;Alt change (AGL ft)&amp;lt;/code&amp;gt; - information on how much the altitude on this leg of the route will increase (in feet above ground.) This information depend of selected airplane. AGL is always in terms of the place you are starting from (not the waypoint place).&lt;br /&gt;
&lt;br /&gt;
If you enter a value less than or equal to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;Distance (m)&amp;lt;/code&amp;gt; field this means that here the route is end and the next rows will not be included to the flight plan.&lt;br /&gt;
&lt;br /&gt;
You have a maximum of 10 waypoints to use, hope that's enough.&lt;br /&gt;
&lt;br /&gt;
On the below of the dialog you can see a total amount of distance (in meters) and total altitude in feet above ground level.&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt; - close the route dialog.&lt;br /&gt;
# &amp;lt;code&amp;gt;Default&amp;lt;/code&amp;gt; - set default waypoints (your changes will be lost.)&lt;br /&gt;
&lt;br /&gt;
== Adding thermals ==&lt;br /&gt;
&lt;br /&gt;
An additional feature of this add-on is the possibility of placing the thermals just in front of the glider. To do this, go to menu &amp;quot;Aerotow Everywhere&amp;quot; -&amp;gt; &amp;quot;Add thermal&amp;quot; where you can configure the following parameters:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;Distance&amp;lt;/code&amp;gt; - the distance in metres at which the thermals will be placed in front of the gliders.&lt;br /&gt;
# &amp;lt;code&amp;gt;Strength&amp;lt;/code&amp;gt; - thermal strength in feet per second.&lt;br /&gt;
# &amp;lt;code&amp;gt;Diameter&amp;lt;/code&amp;gt; - diameter of thermal in feet.&lt;br /&gt;
# &amp;lt;code&amp;gt;Height&amp;lt;/code&amp;gt; - height of thermal in feet above mean sea level.&lt;br /&gt;
&lt;br /&gt;
Click &amp;lt;code&amp;gt;Add thermal&amp;lt;/code&amp;gt; button for add the thermal.&lt;br /&gt;
&lt;br /&gt;
Many thanks to the FG forum user &amp;quot;wlbragg&amp;quot; for proposing and presenting a solution to this feature.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
# This add-on doesn't check if there are any obstacles in the AI aircraft's path, e.g. terrain, buildings, power lines, etc. Keep this in mind when choosing an airport or planning your route.&lt;br /&gt;
# Minimum FlightGear version: 2024.1. Because only 2024 version is able to search for flight plans in additional FGData folders added by &amp;lt;code&amp;gt;--data&amp;lt;/code&amp;gt; command line option.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== When I select &amp;quot;Aerotow Everywhere&amp;quot; -&amp;gt; &amp;quot;Call for Piper J3 Cub aircraft&amp;quot; or other plane from menu, I see &amp;quot;Let's fly!&amp;quot; message but nothing happened. The tow plane does not appear. ===&lt;br /&gt;
&lt;br /&gt;
Probably you didn't include the &amp;lt;code&amp;gt;--data&amp;lt;/code&amp;gt; command line option with the path where FlightGear should look for additional flight plan files for AI. Unfortunately, the simulator does not inform us that there was a problem with finding the flight plan file, so everything looks like it should work but does not.&lt;br /&gt;
&lt;br /&gt;
For fix it, in the file explorer of your operating system, find the directory &amp;lt;code&amp;gt;[[$FG_HOME]]/Export/Addons/org.flightgear.addons.Aerotow&amp;lt;/code&amp;gt;. This path must be added by the &amp;lt;code&amp;gt;--data&amp;lt;/code&amp;gt; command line option, so it will be treated as an additional FGData directory where FlightGear will find the flight plan. In Launcher go to &amp;quot;Settings&amp;quot; tab and in &amp;quot;Additionnal Setting&amp;quot; type (on the Linux system):&lt;br /&gt;
&lt;br /&gt;
 --data=/home/{username}/.fgfs/Export/Addons/org.flightgear.addons.Aerotow&lt;br /&gt;
&lt;br /&gt;
or on the Windows:&lt;br /&gt;
&lt;br /&gt;
 --data=C:\Users\{username}\AppData\Roaming\flightgear.org\Export\Addons\org.flightgear.addons.Aerotow&lt;br /&gt;
&lt;br /&gt;
Run simulator again, now everything should be working.&lt;br /&gt;
&lt;br /&gt;
== What is the difference with &amp;quot;Drag robot&amp;quot;? ==&lt;br /&gt;
&lt;br /&gt;
Some gliders have a &amp;quot;Drag robot&amp;quot; function implemented, which basically, you could say, does the same thing, tows our glider. &amp;quot;Drag robot&amp;quot; uses the trick of positioning the model of the plane. The &amp;quot;drag robot&amp;quot; always spins semicircles in a random way from left to right.&lt;br /&gt;
&lt;br /&gt;
This add-on can be independent of the glider and available to anyone where &amp;quot;Drag robot&amp;quot; is unavailable. This add-on applies a flight plan AI scenario for an AI aircraft which means that the aircraft &amp;quot;really flies&amp;quot; (we have rotating propeller, adjusting the landing gear, etc.) You can also set the route in which the plane should fly. In addition, we have the sound of the AI aircraft engine.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Drag robot&amp;quot; has &amp;quot;Advanced Configuration&amp;quot; dialog to adjust plane parameters, what is not available in Aerotow Everywhere Add-on.&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear addons]]&lt;br /&gt;
[[Category:Nasal software]]&lt;br /&gt;
[[Category:Glider tugs]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=World_Scenery&amp;diff=144968</id>
		<title>World Scenery</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=World_Scenery&amp;diff=144968"/>
		<updated>2026-06-10T18:08:17Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''World Scenery''' is the name of the corresponding Terrain and [[Scenery]] data for [[FlightGear]].&lt;br /&gt;
The latest published release is [[FlightGear_World_Scenery_2.0|World Scenery 2.0]].&lt;br /&gt;
&lt;br /&gt;
== World Scenery releases ==&lt;br /&gt;
* [[World Scenery 3.0]] - currently experimental&lt;br /&gt;
* [[World Scenery 2.0]] - November, 2013&lt;br /&gt;
* World Scenery 1.0.1 - October 27, 2008&lt;br /&gt;
* [[World Scenery v1.0.0]] - March 4, 2008&lt;br /&gt;
* World Scenery v0.9.10 - January 17, 2006&lt;br /&gt;
&lt;br /&gt;
== Version Notes ==&lt;br /&gt;
=== World Scenery 3.0 ===&lt;br /&gt;
A new, LoD-based approach to scenery using landclass textures over a regular elevation mesh. For more information see [[World Scenery 3.0]].&lt;br /&gt;
&lt;br /&gt;
=== World Scenery 2.0 ===&lt;br /&gt;
3D models on the terrain such as landmarks and airports are contributed and maintained under the Scenery Object database, with new World Scenery releases including updates to models since the last release. However, new models can usually be updated using the site before the next WS release.&lt;br /&gt;
=== World Scenery 1.0.1 === &lt;br /&gt;
Released October 27, 2008, it works with [[FlightGear 1.9.0]] and [[FlightGear 1.0]], and probably some older releases although not all scenery objects may be fully supported. Elevation data for 1.0.1 uses SRTM3 version 2, SRTM30/GTOPO30 version 2 from ftp://e0srp01u.ecs.nasa.gov/srtm/version2/ .&lt;br /&gt;
=== World Scenery v1.0.0 ===&lt;br /&gt;
=== World Scenery v0.9.10 ===&lt;br /&gt;
Released 17th January 2006.&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[FlightGear Scenery Database]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=World_Scenery&amp;diff=144967</id>
		<title>World Scenery</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=World_Scenery&amp;diff=144967"/>
		<updated>2026-06-10T18:07:24Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: remove link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''World Scenery''' is the name of the corresponding Terrain and [[Scenery]] data for [[FlightGear]].&lt;br /&gt;
The latest published release is [[FlightGear_World_Scenery_2.0|World Scenery 2.0]] released in November 2013.&lt;br /&gt;
&lt;br /&gt;
== World Scenery releases ==&lt;br /&gt;
* [[World Scenery 3.0]] - currently in Alpha testing&lt;br /&gt;
* [[World Scenery 2.0]] - November, 2013&lt;br /&gt;
* World Scenery 1.0.1 - October 27, 2008&lt;br /&gt;
* [[World Scenery v1.0.0]] - March 4, 2008&lt;br /&gt;
* World Scenery v0.9.10 - January 17, 2006&lt;br /&gt;
&lt;br /&gt;
== Version Notes ==&lt;br /&gt;
&lt;br /&gt;
=== World Scenery 3.0 ===&lt;br /&gt;
A new, LoD-based approach to scenery using landclass textures over a regular elevation mesh. For more information see [[World Scenery 3.0]].&lt;br /&gt;
&lt;br /&gt;
=== World Scenery 2.0 ===&lt;br /&gt;
3D models on the terrain such as landmarks and airports are contributed and maintained under the Scenery Object database, with new World Scenery releases including updates to models since the last release. However, new models can usually be updated using the site before the next WS release.&lt;br /&gt;
=== World Scenery 1.0.1 === &lt;br /&gt;
Released October 27, 2008, it works with [[FlightGear 1.9.0]] and [[FlightGear 1.0]], and probably some older releases although not all scenery objects may be fully supported. Elevation data for 1.0.1 uses SRTM3 version 2, SRTM30/GTOPO30 version 2 from ftp://e0srp01u.ecs.nasa.gov/srtm/version2/ .&lt;br /&gt;
=== World Scenery v1.0.0 ===&lt;br /&gt;
=== World Scenery v0.9.10 ===&lt;br /&gt;
Released 17th January 2006.&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[FlightGear Scenery Database]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Links&amp;diff=144966</id>
		<title>Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Links&amp;diff=144966"/>
		<updated>2026-06-10T17:59:26Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FlightGear ==&lt;br /&gt;
=== Source code ===&lt;br /&gt;
{{Main article|FlightGear Git}}&lt;br /&gt;
&lt;br /&gt;
=== Mirrors ===&lt;br /&gt;
See [https://www.flightgear.org/download/mirrors flightgear.org/download/mirrors] for more info.&lt;br /&gt;
&lt;br /&gt;
=== Hangar ===&lt;br /&gt;
{{Main article|FlightGear hangars}}&lt;br /&gt;
&lt;br /&gt;
=== Multiplayer ===&lt;br /&gt;
{{Main article|Howto:Multiplayer#Servers}}&lt;br /&gt;
&lt;br /&gt;
=== Scenery ===&lt;br /&gt;
* [https://scenery.flightgear.org/ scenery.flightgear.org] — the database of [[scenery]] objects&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
See [https://liveries.flightgear.org/ liveries.flightgear.org].&lt;br /&gt;
&lt;br /&gt;
=== Support ===&lt;br /&gt;
* [https://www.flightgear.org/support/manual/ flightgear.org/support/manual/] - the manual&lt;br /&gt;
* [[Main Page|wiki.flightgear.org]] — this wiki&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
=== Forums ===&lt;br /&gt;
[https://forum.flightgear.org/ The official forum]&lt;br /&gt;
&lt;br /&gt;
* [https://fr.flightgear.org/forums/ French 1]&lt;br /&gt;
* [https://equipe-flightgear.forumactif.com/ French 2]&lt;br /&gt;
* [https://forum.fguk.me/ FGUK]&lt;br /&gt;
&lt;br /&gt;
=== Discord servers ===&lt;br /&gt;
{{Main article|Discord}}&lt;br /&gt;
&lt;br /&gt;
=== YouTube channels ===&lt;br /&gt;
{{Main article|YouTube channels}}&lt;br /&gt;
&lt;br /&gt;
== Related projects ==&lt;br /&gt;
{{Main article|FlightGear related projects}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Links&amp;diff=144965</id>
		<title>Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Links&amp;diff=144965"/>
		<updated>2026-06-10T17:54:39Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: rewritten&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FlightGear ==&lt;br /&gt;
=== Source code ===&lt;br /&gt;
{{Main article|FlightGear Git}}&lt;br /&gt;
&lt;br /&gt;
=== Mirrors ===&lt;br /&gt;
See [https://www.flightgear.org/download/mirrors flightgear.org/download/mirrors] for more info.&lt;br /&gt;
&lt;br /&gt;
=== Hangar ===&lt;br /&gt;
{{Main article|FlightGear hangars}}&lt;br /&gt;
&lt;br /&gt;
=== Multiplayer ===&lt;br /&gt;
{{Main article|Howto:Multiplayer#Servers}}&lt;br /&gt;
&lt;br /&gt;
=== Scenery ===&lt;br /&gt;
* [https://scenery.flightgear.org/ scenery.flightgear.org] — the database of [[scenery]] objects&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
See [https://liveries.flightgear.org/ liveries.flightgear.org].&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
* [[Main Page|wiki.flightgear.org]] — this wiki&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
=== Forums ===&lt;br /&gt;
[https://forum.flightgear.org/ The official forum]&lt;br /&gt;
&lt;br /&gt;
* [https://fr.flightgear.org/forums/ French 1]&lt;br /&gt;
* [https://equipe-flightgear.forumactif.com/ French 2]&lt;br /&gt;
* [https://forum.fguk.me/ FGUK]&lt;br /&gt;
&lt;br /&gt;
=== Discord servers ===&lt;br /&gt;
{{Main article|Discord}}&lt;br /&gt;
&lt;br /&gt;
=== YouTube channels ===&lt;br /&gt;
{{Main article|YouTube channels}}&lt;br /&gt;
&lt;br /&gt;
== Related projects ==&lt;br /&gt;
{{Main article|FlightGear related projects}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Volunteer&amp;diff=144964</id>
		<title>Volunteer</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Volunteer&amp;diff=144964"/>
		<updated>2026-06-10T17:32:28Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Tell us about your own ideas and feature requests for improving FlightGear */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Volunteer Intro}}&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
Another easy way for getting started contributing is to create nice FlightGear screenshots. You can upload these to the wiki where they can then be used to illustrate articles and to highlight articles via the [[:Category:Picture of the week|picture of the week]] on the main page.&lt;br /&gt;
&lt;br /&gt;
[[Howto: Make nice screenshots]] provides some tips on how to create stunning shots, while [[Help:Upload]] discusses how to upload screenshots to the wiki.&lt;br /&gt;
&lt;br /&gt;
=== Videos ===&lt;br /&gt;
Many users like to capture their flights in FlightGear as a video, [[YouTube channels|YouTube]] for example is an excellent way for sharing such videos with fellow FlightGear users. YouTube videos can also be directly embedded in forum postings and wiki articles.&lt;br /&gt;
&lt;br /&gt;
=== Screencasts (video tutorials) ===&lt;br /&gt;
Creating FlightGear related video tutorials is another excellent way for getting started contributing. &lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
{{forum|72|FlightGear Documentation}}&lt;br /&gt;
&lt;br /&gt;
=== FAQ-Maintainers ===&lt;br /&gt;
The FlightGear project is looking for people who are willing to help maintain the FAQ which, given the constant development of the project, is chronically out of date. If you you would like to get involved, follow the {{forum link|text=forum}} to stay current on the latest news, problems, and of course on what questions are asked more frequently, and simply start editing the [[FAQ|wiki FAQ]].&lt;br /&gt;
&lt;br /&gt;
=== Maintaining the wiki ===&lt;br /&gt;
You can easily [[Special:UserLogin|register an account]] and help [[Portal:Wiki|improve the wiki]], and provide your help in reviewing articles, fixing their look and readability, updating them and adding what you think is missing, for example many articles could be greatly improved just by adding a handful of relevant screenshots for illustration purposes. Proof reading of existing articles is also greatly appreciated. &lt;br /&gt;
&lt;br /&gt;
Registering takes less than a minute. After registration, you'll have to confirm your registration by clicking on the link sent to you by email.&lt;br /&gt;
&lt;br /&gt;
=== Translating the wiki and FlightGear ===&lt;br /&gt;
You can also help localize the wiki by [[Help:Translate|translating]] important articles into different languages. Please see the [[translation requests]].&lt;br /&gt;
&lt;br /&gt;
Also, FlightGear itself can be easily translated by updating the files in [[$FG_ROOT]]/Translations. For details please see [[Howto: Translate FlightGear|Translating FlightGear]].&lt;br /&gt;
&lt;br /&gt;
=== Wiki article writers ===&lt;br /&gt;
Various aspects of FlightGear are currently not yet sufficiently documented, and available documentation is often not really suitable to be used by non-developers. This results in users being unaware of the wide range of features and possibilities that FlightGear supports already. &lt;br /&gt;
&lt;br /&gt;
As an &amp;quot;article writer&amp;quot; you should be able to document your own experiences with FlightGear in a clear and concise [[FlightGear wiki:Manual of Style|style]], so that others can easily follow your instructions in order to make use of the less known features of FlightGear. These articles don't need to be very comprehensive, they shall only provide users with easy to follow instructions on how to achieve something, and possibly some caveats and hints.&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Volunteer: Writing]]&lt;br /&gt;
&lt;br /&gt;
=== Contributing to the manual ===&lt;br /&gt;
The wiki is not the only documentation here, of course. FlightGear comes with a set of illustrated documentation, notably [[FlightGear Manual|&amp;quot;The Manual&amp;quot;]]. If you are skilled and a little bit familiar with LaTex, your help would be really welcome. More on this at the [[manual]] wiki page. You'll find the source code in the {{getstart source|text=Getstart repository}}.&lt;br /&gt;
&lt;br /&gt;
=== Documentation Editors/Reviewers ===&lt;br /&gt;
{{Main article|Howto:Write a FlightGear Review}}&lt;br /&gt;
The documentation that comes with FlightGear base package might be inaccurate (outdated) due to the advances in FlightGear's code. You can check the current documentation and identify areas for improvement, by directly making corresponding suggestions for augmentations, or even writing new help documents altogether, while staying current with the mailing list.&lt;br /&gt;
&lt;br /&gt;
Smaller corrections shall be sent by email to the developer mailing list, preferably in unified diff format (for patch to work). Alternatively, small text files can also be sent directly to the mailing list, more complex modifications should be only made available by uploading them to a webpage and linking to the corresponding files from your emails.&lt;br /&gt;
&lt;br /&gt;
If you intend to redo a major part of the current documentation, first discuss this with the developers, to avoid documenting code that may also be under development or deprecation.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Creating interactive tutorials ===&lt;br /&gt;
FlightGear has a built-in [[Tutorials|tutorial]] system that is based on its scripting language [[Nasal]], this system is very flexible and can be used for creating interactive tutorials (or even missions) for use in FlightGear itself, in other words these tutorials run directly in the simulator. &lt;br /&gt;
&lt;br /&gt;
Creating new tutorials, or updating and improving existing ones, is another great way for getting more familiar with FlightGear. For details please see [[Tutorials]].&lt;br /&gt;
&lt;br /&gt;
=== Providing patches for aircraft's -set.xml status fields ===&lt;br /&gt;
One way you could easily contribute would be to submit patches to HEAD setting the &amp;quot;status&amp;quot; flag on each aircraft accurately. While it will require learning a bit about SCM, and XML, that would be a fine contribution. For a details on how the status should be arrived at see  [[Aircraft status indication]].&lt;br /&gt;
&lt;br /&gt;
=== Creating Scenery Models ===&lt;br /&gt;
The FlightGear project maintains a steadily growing repository of [http://scenemodels.flightgear.org 3D models] for adding some eye-candy to the scenery. The world has always enough room left for your [http://scenemodels.flightgear.org/contribute.php contribution]. Please take the time to investigate what is already there and enjoy populating your favourite area.&lt;br /&gt;
&lt;br /&gt;
Note that you don't have to create any models yourself. You can simply [[Howto: Place 3D objects with the UFO|place existing models using the UFO]]. For example, placing objects in the scenery with the [[UFO]] and submitting them to the database is pretty straightforward and takes very little time. Even an hour spent doing this makes a difference.&lt;br /&gt;
&lt;br /&gt;
If anyway you'd like to [[Modeling - Getting Started|test your modeling skills]], here some suggestions:&lt;br /&gt;
* We need people to go out and take good pictures of all the buildings at their local airports, build models, and create textures (that could be different people for each task).&lt;br /&gt;
* We need people to start modelling identifiable human-made landmarks like bridges, stadiums, and major buildings. Around the San Francisco Bay area, bridges are especially important. Once you have identified some buildings or objects you would like to have (Aircraft carriers, fuel bowsers, cars, towers, ...) you will need to check out the tools for creating and placing these objects. &lt;br /&gt;
&lt;br /&gt;
It would be helpful if people would model the area they are interested in. Generally contributions are going to be from FlightGear users who find scenery lacking in some area and choose to improve it. You are encouraged to research your own area for airport, navaid and scenery information, to contribute the data or dive right in to airport and scenery design.&lt;br /&gt;
&lt;br /&gt;
=== Making airports ===&lt;br /&gt;
Sometimes you'd like to populate your favourite airport with objects, but you find it has a wrong layout or that it doesn't exist at all! So, you'll want to [[Howto:Make an airport|make or improve that layout]], which can be done with [[WED]]. Remember that we're maintaining an open (GPL) airport database in common with X-Plane simulator.&lt;br /&gt;
&lt;br /&gt;
Other than just fix the look, you might want to add interactive details like [[AI Traffic]] and maybe update navaids and comm frequencies. We need people to go over paper lists and airport diagrams for countries that don't publish air navigation data free online (i.e. almost everyone but the U.S.) and fill in the blanks in our navaid and airport databases.&lt;br /&gt;
&lt;br /&gt;
To be sure the airport you're interested in is not already being worked on, check the [[Airports under construction]] article. Also, note that since we switched to a newer format for the airport database, there are many airports that need to be converted from the older (810) format to the newer (850). All the info is in [[Howto:Make an airport]].&lt;br /&gt;
&lt;br /&gt;
=== Contributing to the scenery terrain ===&lt;br /&gt;
We need people to collect geodata to give us more accurate roads, rivers, etc., especially outside the U.S. and Europe. Note that since we're now allowed to use OpenStreetMap data for this, you might consider contributing to that project too. With time, more and more features will be imported from OSM, beginning with roads and rails, and going on with power lines and antennas and whatnot.&lt;br /&gt;
&lt;br /&gt;
The first step into this is learning how to [[Using TerraGear|use TerraGear]]. Remember that all the data you plan to use must be GPL compatible. You might also consider editing some of that source data and contribute it to the Scenery Project that would make good use of it!&lt;br /&gt;
&lt;br /&gt;
=== Core development ===&lt;br /&gt;
{{Main article|Howto:Start core development}}&lt;br /&gt;
If you know Git, consider contributing to the [[Howto:Start core development|core development]] at [https://gitlab.com/flightgear gitlab.com/flightgear]. Apart from the three core repositories (simgear, flightgear and terragear), you don't need to have an in-depth understanding of C++.&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
=== Submitting bugs to the Bug Tracker ===&lt;br /&gt;
Bugs can be reported to {{tickets|the issue tracker}} (select the respective project, or &amp;lt;code&amp;gt;flightgear&amp;lt;/code&amp;gt; if unsure). Reporting bugs accurately helps make bug fixing significantly easier for the developers. Another thing that is very helpful, is reviewing posted bug reports and see if you can reproduce/confirm them on your system.&lt;br /&gt;
&lt;br /&gt;
=== Artwork Creators/Contributors ===&lt;br /&gt;
FlightGear itself would not be possible without the contribution of various types of artwork:&lt;br /&gt;
* Aircraft developers need photographs, images and sounds to realistically model a particular aircraft.&lt;br /&gt;
* The splash screen displayed when loading the simulator can be personalized, and you can [[Howto: Create custom splash screens|create one for your favourite aircraft]].&lt;br /&gt;
* Sound recordings of aircraft are also very valuable - particularly engine sounds for unusual aircraft.&lt;br /&gt;
&lt;br /&gt;
In general, you can find requests and post your offers of this kind in the Developers forum, but you can also browse [[:Category:Aircraft by status|existing aircraft projects]] and see if there's anything you'd like to improve.&lt;br /&gt;
&lt;br /&gt;
=== Pre-Release Testers ===&lt;br /&gt;
Prior to a release, release candidates are provided to the community. By directly providing feedback about your experiences with FlightGear's development code, you will become a crucial part of the development process and you will basically serve as quality control for FlightGear, your experiences will determine whether FlightGear's development code is ready for a next official release or not. See the [[Release plan]] to find out when release candidates will be distributed.&lt;br /&gt;
&lt;br /&gt;
Note: If you are interested in actually doing development for FlightGear, make sure to check out the [[Portal:Developer|Developer section]].&lt;br /&gt;
&lt;br /&gt;
=== Hosting a multiplayer server ===&lt;br /&gt;
If you have access to an Unix based server, another good opportunity for contributing would be to set up a multiplayer server for use with FlightGear, for details please check out [[Howto: Set up a multiplayer server]].&lt;br /&gt;
&lt;br /&gt;
=== Tell us if FlightGear works with your hardware ===&lt;br /&gt;
You can help fellow FlightGear users by telling us if FlightGear works with your hardware. Please see [[Hardware Recommendations]].&lt;br /&gt;
&lt;br /&gt;
=== Participate in the FlightGear Forums ===&lt;br /&gt;
If you haven't done so already, please consider registering at the {{forum link|text=FlightGear forum}}, this is a very simple thing to do, but it makes it very easy to obtain and provide help and other support within the FlightGear community.&lt;br /&gt;
&lt;br /&gt;
Taking extra care in your posting to avoid requiring the attention of the moderators is in some ways also a contribution. Doing so helps self-police the forums so that the moderators can spend their time doing constructive development.&lt;br /&gt;
&lt;br /&gt;
=== Check out the Discord server ===&lt;br /&gt;
{{Main article|Discord}}&lt;br /&gt;
To talk to fellow FlightGear users in realtime, you may want to check out our [[Discord]] server (and other unofficial servers). This is also an excellent way for getting and providing community help.&lt;br /&gt;
&lt;br /&gt;
=== Tell us about your own ideas and feature requests for improving FlightGear ===&lt;br /&gt;
If you think you have a good idea or feature request for improving FlightGear, the FlightGear forum and the [[Discord]] server are also excellent ways to get feedback.&lt;br /&gt;
&lt;br /&gt;
=== Help us write the FlightGear Newsletter ===&lt;br /&gt;
The FlightGear newsletter is a community driven newsletter that is created and edited using the wiki. All FlightGear users are invited to contribute to the newsletter. The only thing that is required is a wiki account, which is free and easy to register.&lt;br /&gt;
&lt;br /&gt;
Please feel free to add news about your own FlightGear related projects, or projects started by others to the newsletter.&lt;br /&gt;
&lt;br /&gt;
You can find the draft of next month's newsletter at: [[Next newsletter]]&lt;br /&gt;
&lt;br /&gt;
Just tracking the forums, mailing lists or the IRC channel should provide you with plenty of opportunities for things that could be added to the newsletter. One simple thing for getting started - even without writing anything - is uploading screen shots showing recent FlightGear developments for use in the FlightGear newsletter.&lt;br /&gt;
&lt;br /&gt;
=== Reviews ===&lt;br /&gt;
Another thing that can be easily done is reviewing FlightGear (or just certain parts of it, like for example scenery and/or aircraft) and submit your reviews to some of the flight simulation portals. Of course, you can also directly write your reviews using the FlightGear wiki, see: [[FlightGear Reviews]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Contribution requests]]&lt;br /&gt;
[[Category:Community]]&lt;br /&gt;
&lt;br /&gt;
[[es:Tener a bien]]&lt;br /&gt;
[[fr:Volontaires]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=New_to_FlightGear&amp;diff=144963</id>
		<title>New to FlightGear</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=New_to_FlightGear&amp;diff=144963"/>
		<updated>2026-06-10T17:13:30Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Starting FlightGear */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welcome to [[FlightGear]]!''' Here we will try to get you up in the virtual air in the shortest time possible. We will also introduce you to some of the features of this flight simulator and also a few information on its community.&lt;br /&gt;
&lt;br /&gt;
== Installation and setup ==&lt;br /&gt;
=== Hardware requirements ===&lt;br /&gt;
For FlightGear to run smoothly, it requires a video card with OpenGL drivers 4.0 or higher. This is usually not a problem, but take a look at the [[hardware recommendations]] to have a better idea.&lt;br /&gt;
&lt;br /&gt;
=== Getting FlightGear ===&lt;br /&gt;
You may download the latest files from the [https://www.flightgear.org/download/ FlightGear download] page. Choose the source or binary files appropriate for your particular system. {{Wikipedia|AppImage|AppImage}} binary files for Linux are also available with 2020.3 LTS and later. Most Linux users will find that most distributions have a packaged version of FlightGear (the package name could be &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;flightgear&amp;lt;/code&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
Depending on your technical expertise you may choose the [[Git]] development version of FlightGear, which typically has more features and can be required by some of the latest developmental aircraft, but can be unstable and is more complicated to get for non-Windows users. In general, the development version is not advised to the average user, but if you are willing to do some testing there is a nightly build available for [https://www.flightgear.org/download/nightly/ download]. If you are using a Git version controlled copy of FlightGear, you may choose to synchronise your aircraft using the version controlled [[FGAddon|FGAddon aircraft development repository]].&lt;br /&gt;
&lt;br /&gt;
=== Installing on Windows ===&lt;br /&gt;
After you downloaded the installer, run it and follow its instructions to install FlightGear.&lt;br /&gt;
&lt;br /&gt;
Defender SmartScreen on Windows may block the installation simply because the binary file is not signed with a key that Microsoft respects. Of course, the key is paid. In this case, we need to click on the inconspicuous &amp;quot;More info&amp;quot; link. Only then will the &amp;quot;Run anyway&amp;quot; button appear. You can safely trust that this is not a dangerous application, as long as you have actually downloaded it from official sources.&lt;br /&gt;
&lt;br /&gt;
If you're using third-party antivirus software for some reason, it may be blocking FlightGear from installing. This isn't something we can control, so it's entirely up to you how you want to handle it.&lt;br /&gt;
&lt;br /&gt;
With the Windows installer, you may choose where to install FlightGear. The [[$FG_ROOT]] directory would be &amp;lt;code&amp;gt;&amp;amp;lt;your chosen directory&amp;amp;gt;/data&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Installing on macOS ===&lt;br /&gt;
Installing FlightGear on macOS is very simple. Just drag and drop the FlightGear icon to the &amp;lt;code&amp;gt;/Applications&amp;lt;/code&amp;gt; folder. That is it. &lt;br /&gt;
&lt;br /&gt;
The first time you launch FlightGear, its icon on the Dock bounces for several seconds while loading aircraft and airport info. When the GUI launcher appears, select the aircraft and airport, then click &amp;quot;Fly!&amp;quot; to launch the simulator. You can configure more options using the GUI launcher. See the [http://flightgear.sourceforge.net/manual/next/en/getstart-ench4.html#takeoff-how-to-start-the-program official manual] for more details.&lt;br /&gt;
&lt;br /&gt;
If you would like to launch FlightGear using command-line, launch the Terminal app and type the following.&lt;br /&gt;
&lt;br /&gt;
 cd /Applications/FlightGear.app/Contents/MacOS&lt;br /&gt;
 ./fgfs --options..... &lt;br /&gt;
&lt;br /&gt;
The [[$FG_ROOT]] and [[$FG_SCENERY]] are not set on macOS. If you want to specify these variables yourself for command-line use, run the followings on the Terminal app:&lt;br /&gt;
&lt;br /&gt;
 FG_ROOT=/Applications/FlightGear.app/Contents/Resources/data&lt;br /&gt;
 FG_SCENERY=[[$FG_ROOT]]/Scenery&lt;br /&gt;
&lt;br /&gt;
After launching the GUI launcher, you will have the alias to [[$FG_ROOT]] at &amp;lt;code&amp;gt;$HOME/Documents/FlightGear/&amp;amp;lt;version&amp;amp;gt;&amp;lt;/code&amp;gt; so you can browse the data folder using Finder.&lt;br /&gt;
&lt;br /&gt;
Note: Once you have installed FlightGear, Mac users can locate their [[$FG_ROOT]] folder by opening their applications folder in Finder, right clicking on FlightGear, and clicking &amp;quot;Show Package Contents&amp;quot;. This will take you inside the FlightGear folder. You are now able to access all files including Data/Aircraft to [[Howto: Install aircraft#Macintosh OS X|install new aircraft]].&lt;br /&gt;
&lt;br /&gt;
=== Installing from source ===&lt;br /&gt;
Main article: [[Building FlightGear]]&lt;br /&gt;
&lt;br /&gt;
=== Getting scenery ===&lt;br /&gt;
A limited set of [[scenery]] comes installed with FlightGear. For FlightGear 2024.1 this consists of &lt;br /&gt;
* The area surrounding the featured airport for the release which is [[Keflavik_Airport|Keflavik International Airport]] (BIKF)&lt;br /&gt;
* The tutorial airport for the [[Cessna_172P|Cessna 172P]] which is [[Hilo_International_Airport|Hilo International Airport]] (PHTO)&lt;br /&gt;
&lt;br /&gt;
In FlightGear, scenery is generally stored in you [[$FG_ROOT]] directory, and is divided into three kinds of data:&lt;br /&gt;
* '''Airports''' holds airport data, like runway usage and parking spots.&lt;br /&gt;
* '''Objects''' and '''Models''' are the buildings, bridges and radio towers, etc. that represent three-dimensional structures.&lt;br /&gt;
* '''Terrain''' represents the contours, elevations and type of ground you fly/taxi over.&lt;br /&gt;
&lt;br /&gt;
The current way of &amp;quot;installing&amp;quot; new scenery is enabling [[TerraSync]], which will automatically download and update any place you visit - even on the fly! If you have a slow Internet connection and/or computer you could instead use a scenery manager, for example [[TerraMaster]].  In addition you can also manually download and install new scenery parts, either the official [[World Scenery]] or custom scenery.&lt;br /&gt;
&lt;br /&gt;
The scenery is also available on the [https://www.flightgear.org/download/mirrors/ mirrors page] of the FlightGear website, and can be installed following [[Howto: Install scenery]]. '''This is recommended for users with weak internet connections or weak computers!'''&lt;br /&gt;
&lt;br /&gt;
Custom scenery is available in many places. For example, on the {{forum link|f=5|text=FlightGear forum}} or within repositories. An internet search should be able to find them. See [[Suggested_custom_scenery|suggested custom scenery]] page for a few recent releases.&lt;br /&gt;
&lt;br /&gt;
FlightGear 2020.3.7 LTS and later added an experimental rollout of 3 dimensional buildings, roads, and objects based on OpenStreetMap data for the entire world to automatically downloaded TerraSync data - see [[OSM2City 1st Worldbuild|1st OSM2City world-build]] notes (March 2021).  Some manual downloads of 3d structures for regions or entire countries is available on the [[Areas populated with osm2city scenery|osm2City downloads]] wiki page.&lt;br /&gt;
&lt;br /&gt;
=== Getting aircraft ===&lt;br /&gt;
Additional [[aircraft]] can be downloaded and installed through the [[Qt-launcher|launcher]]. Alternatively, you can go to the FlightGear website and navigate to the [http://www.flightgear.org/download/ download page], then choose the aircraft download link that fits your FlightGear version. In addition there are many third party [[hangars]]. For the installation, see [[Howto: Install aircraft]].&lt;br /&gt;
&lt;br /&gt;
== Running FlightGear ==&lt;br /&gt;
=== Starting FlightGear ===&lt;br /&gt;
The easiest way to start FlightGear is to use the desktop icon. This starts the graphical interface [[FlightGear Qt launcher]] where you can choose aircraft, start position etc.&amp;lt;!-- The following reminder should probably be removed once the launcher makes it clear there is further things to take care of using in-sim menus to get FG set up --&amp;gt; Remember the Qt launcher only has basic options to get you started. A lot of options for graphics, scenery, [[Weather|weather]], [https://www.flightgear.org/tours/simulating-the-ever-changing-scenery/ environment], [[Input_device|input devices]] etc. are available from the [[menu]] inside the simulator.&lt;br /&gt;
&lt;br /&gt;
Many users choose however to start FlightGear directly from the command line. The executable name is &amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt; and can be run without options. If it is &amp;quot;not found&amp;quot;, it is likely not in your [https://en.wikipedia.org/wiki/PATH_(variable) path]. The location depends on your particular system and choices you made during compile and installation. There is a list of [[Command Line Parameters]] which must be used to change many options, like the aircraft you want. The most important:&lt;br /&gt;
 &lt;br /&gt;
 fgfs --launcher             # opens the FlightGear Qt launcher&lt;br /&gt;
 fgfs --show-aircraft        # displays a list of installed aircraft&lt;br /&gt;
 fgfs --aircraft=c172p       # start FG with the aircraft &amp;quot;c172p&amp;quot; (from the list)&lt;br /&gt;
&lt;br /&gt;
The Qt launcher also lets users add command line parameters for options that are normally changed from the menu inside the simulator, as well as quite advanced options that are only available from the command line.&lt;br /&gt;
&lt;br /&gt;
=== Configuring rendering and UI ===&lt;br /&gt;
[[File:Rendering options 2024.1.png|thumb|View &amp;gt; Rendering Options dialog.]]&lt;br /&gt;
If your render quality or framerate is too low, click &amp;quot;View &amp;gt; Rendering Options&amp;quot; to adjust the graphic settings. For newer hardware, it's recommended to set &amp;quot;graphics quality&amp;quot; to high and check &amp;quot;use disk space for faster loading&amp;quot;, &amp;quot;animated jetways&amp;quot; and &amp;quot;satellite photoscenery&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If the menu text appears too small on high DPI or large screens, you can manually [[Menubar#How to Change the Default Menubar Font Size|change the menubar font size]] by editing the data file, or simply click &amp;quot;Debug &amp;gt; Cycle GUI Style&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Using the keyboard and/or mouse ===&lt;br /&gt;
Users with limited access to a [[joystick]] or other controllers sometimes use the keyboard or mouse to control their aircraft. Using the keyboard to fly can be difficult and the mouse is recommended over the keyboard for flying, yet even a cheap joystick would improve the experience so much.&lt;br /&gt;
&lt;br /&gt;
To get help with keyboard commands, with FlightGear running, go to the ''Help'' menu, look under ''Basic Keys'' (for simulator related commands) and ''Common Aircraft Keys'' (for commands universal to all aircraft) and ''Aircraft Help'' (for key commands specific to your aircraft). If the main menu is hidden, press {{key press|F10}}. If you come from other simulators, check [[key commands compared to other simulators]] for an overview of the difference between the key commands of that sim and FlightGear.&lt;br /&gt;
&lt;br /&gt;
To use the mouse to fly the aircraft, press {{key press|Tab}} (the cursor should change to a cross) and move the mouse to direct the aircraft. Press {{key press|Tab}} again to look around (cursor should show a two sided arrow), and press {{key press|Tab}} again to return to normal mode, used to click stuff in the cockpit. You can click &amp;quot;File &amp;gt; Input Devices &amp;gt; Mouse Config&amp;quot; to adjust the mouse sensitivity.&lt;br /&gt;
&lt;br /&gt;
For most users lacking a rudder axis control, it’s difficult to manually coordinate [[aileron]] and [[rudder]] movements during a turn. To enable auto-coordination and make flight easier, you may click &amp;quot;Settings&amp;quot;, then click the &amp;quot;Show more&amp;quot; button on the right of &amp;quot;General&amp;quot;, and finally click &amp;quot;Enable auto-coordination&amp;quot; in the launcher.&lt;br /&gt;
&lt;br /&gt;
=== First time in the cockpit ===&lt;br /&gt;
Finding your way around the cockpit may be challenging the first time.&lt;br /&gt;
&lt;br /&gt;
You can use {{key press|Ctrl|V}} to switch to the cockpit view. If the text on the panel are too small, you can use the view mode of the mouse (press Tab until you get a cursor shaped like a double arrow) to pan and the mouse wheel to zoom, or pan with the joystick hat and zoom with {{key press|X}} and {{key press|Shift|X}}.&lt;br /&gt;
&lt;br /&gt;
One of the first steps that many take on entering an unfamiliar cockpit is to press {{key press|Ctrl|C}} to highlight all the &amp;quot;hotspots&amp;quot;, that is instrument controls, buttons, knobs, etc. Many aircraft also offer a specific help menu.&lt;br /&gt;
&lt;br /&gt;
Some functions, such as starter or magneto, may be difficult to use or simply lack clickable &amp;quot;hotspots&amp;quot;, especially in aircraft models which are in development. In most cases you can use the keyboard. The keyboard always work according to the assignments listed on the &amp;quot;Help &amp;gt; Aircraft help&amp;quot; or &amp;quot;Help &amp;gt; Common aircraft keys&amp;quot; menu, but sometimes some keys are reassigned by an aircraft or configuration. Again, remember to check all the help dialogs.&lt;br /&gt;
&lt;br /&gt;
=== Starting the engine ===&lt;br /&gt;
You are eager to fly, but the engine is off. Well, turning on the engines is not always easy. Most aircraft have an ''autostart'' entry in their custom menu, but here is a general procedure that should work in many cases:&lt;br /&gt;
&lt;br /&gt;
In general to start the engine on a piston-engine type aircraft, you need (after making sure the game is not paused {{key press|p}}):&lt;br /&gt;
# Fuel: Some aircraft start the simulation with no fuel. You can add it in ''Equipment'' &amp;amp;gt; ''Fuel and Payload''.&lt;br /&gt;
# Correct fuel mixture: This is generally ''rich'', so push the red knob all the way in, or use the key {{key press|m}} to enrich ({{key press|Shift|m}} leans.)&lt;br /&gt;
# Magnetos set on ''both'': Turn the key or press {{key press|&amp;amp;#125;}} ''three times'' to move through ''R'', ''L'', ''Both''.&lt;br /&gt;
# Throttle: Some engines start better with a little gas.&lt;br /&gt;
# Run the starter: Click the ''Start'' position of the key on the panel, or press {{key press|s}}. Hold the starter for sufficient time, even 10 seconds.&lt;br /&gt;
&lt;br /&gt;
Starting all engines in a multi-engine aircraft is similar to the single engine - except you must follow the same start sequence for each and every engine. FlightGear provides a convenient way to do this for all engines at once: Press {{key press|~}} and all the procedure above will work for all the engines. Note though that the default 2D panel is connected to ''only one engine'' and the {{key press|~}} trick might not work. Also, give some gas to be sure that all the engines are on.&lt;br /&gt;
&lt;br /&gt;
These instructions may not work for jet aircraft, helicopters, or other types of aircraft with complex start procedures. Check the instructions in the aircraft help menu (press {{key press|?}}) and/or look at [[Aircraft|the aircraft's article on this wiki]]. In general to start the engine on a jet engine type aircraft, you need to:&lt;br /&gt;
# Set cutoff ''ON'' &lt;br /&gt;
# Engage the starter&lt;br /&gt;
# Once the engines spools up to approximately 5% N1, set cutoff ''OFF''&lt;br /&gt;
# Disengage the starter once the engine has reached operational speed&lt;br /&gt;
&lt;br /&gt;
== Learning to fly ==&lt;br /&gt;
=== FlightGear's Manual ===&lt;br /&gt;
FlightGear has an official [https://www.flightgear.org/support/manual/ manual] that covers the basics of flight. As a beginner, you may want to start with [https://flightgear.gitlab.io/getstart/release-{{current release|cr}}/en/HTML/getstart-ench8.html Chapter 8: A Basic Flight Simulator Tutorial].&lt;br /&gt;
&lt;br /&gt;
=== Tutorials ===&lt;br /&gt;
Many aircraft have their own interactive [[tutorials|tutorial]]. With tutorials, you can learn to operate particular aircraft but also learn to fly. You can access tutorials by going to ''Help'' &amp;amp;gt; ''Tutorial''. A great place to start is the tutorial for the [[Cessna 172P]] aircraft, commonly used in real life to learn to fly fixed-winged aircraft.&lt;br /&gt;
&lt;br /&gt;
If the tutorial starts without a runway and surrounded by water, your setup of FlightGear is missing the scenery for the airport at which the tutorial was supposed to run. To get scenery see the [[#Getting scenery]] section above.&lt;br /&gt;
&lt;br /&gt;
== Making your first flight ==&lt;br /&gt;
=== Realism ===&lt;br /&gt;
One of the most frequent questions novice pilots ask about any flight simulator, but more so to FlightGear, is &amp;quot;Why is my aircraft turning left all the time?&amp;quot; Although it could be due to wind gusts crossing the runway, it is more likely due to the [[Understanding Propeller Torque and P-Factor|propeller torque and p-factor]].&lt;br /&gt;
&lt;br /&gt;
In certain other flight simulators, despite marketing slogans to the contrary, some settings are turned down to make the aircraft easier to fly. This reduces effects such as the above. The realism is always turned up in FlightGear.&lt;br /&gt;
&lt;br /&gt;
Here are some of the FlightGear realism points, which may be confusing to first time pilots:&lt;br /&gt;
* &amp;quot;Left turning syndrome&amp;quot; for the previously mentioned reasons.&lt;br /&gt;
* Compass turning error: A compass, when subjected to the forces of flight, tends to turn in the opposite direction for a brief period before settling on the correct heading. This is not a malfunction (see also the Wikipedia article {{wikipedia|Aircraft compass turns}}).&lt;br /&gt;
* The Vertical Speed Indicator (VSI) is also subject to error.&lt;br /&gt;
* The [[Horizontal Situation Indicator]] (HSI) is driven by a gyroscope (that is why it is sometimes called a Directional Gyroscope), which is subject to ''gyro drift''. The indicator will drift from its current heading and must be periodically (every ~15 minutes) calibrated to agree with the magnetic compass heading.&lt;br /&gt;
* You cannot just cancel a turn or climb by centering the yoke or stick. You must turn or push the stick the other way to get to level and level flight. But even then, the plane will not maintain its altitude or heading by itself. A common mistake is trying to find a hands off yoke position. While with trimming one could leave the plane for a couple of seconds, one must use autopilot or constantly adjust the yoke.&lt;br /&gt;
&lt;br /&gt;
Many forces act on an aircraft in flight as well as on the [[avionics and instruments]] used for control and navigation, and may be counter-intuitive. Pilots must learn to recognize these phenomena and compensate for their effects. ''FlightGear models instrument errors that exist in the real world''. If you don't want it, press {{key press|h}} to enable the HUD.&lt;br /&gt;
&lt;br /&gt;
=== Airports and navigation aids ===&lt;br /&gt;
When you first start FlightGear, whether from the command line or the graphical interface of the launchers, you may wonder how to determine what airports are available. The launcher displays a list of airports, but you will not see details such as tower or [[ILS]] frequencies. You will not find a map showing [[VOR]]s and their frequencies. What can you do? See [[Getting aeronautical charts]].&lt;br /&gt;
&lt;br /&gt;
In-sim, there is a map you can use in ''Main Menu'' &amp;amp;gt; ''Equipment'' &amp;amp;gt; ''Map'', which will allow you to see navigation data and the position of airports and aids. For more help with navigation see [[Understanding navigation]].&lt;br /&gt;
&lt;br /&gt;
=== Flying using the autopilot ===&lt;br /&gt;
A generic [[autopilot]] is available from the ''Autopilot &amp;gt; Autopilot Settings'' menu, while many aircraft come with their own ''specific'' autopilot, frequently a model of the real life one.&lt;br /&gt;
&lt;br /&gt;
For aircraft that provide their own autopilot, you should use the autopilot controls available in the virtual cockpit. This means clicking on the instrument panel in the virtual cockpit. The Autopilot menu may be grayed out and unavailable when the aircraft supplies its own autopilot in some aircraft, including the Airbuses and the [[Cessna 172P|C172P]].&lt;br /&gt;
&lt;br /&gt;
The Cessna 172 comes with a [[Bendix/King KAP140 Autopilot]] in its virtual cockpit. You can use both the autopilot device in the cockpit and the [[Autopilot#Autopilot Settings|autopilot settings]] from the menu.&lt;br /&gt;
&lt;br /&gt;
== Advanced ==&lt;br /&gt;
=== Flying ===&lt;br /&gt;
{{Main article|Aircraft}}&lt;br /&gt;
&lt;br /&gt;
* If you continue to fly light civilian aircraft, [[Cessna 182S]] which is more complex than C172P and [[Piper PA28 Warrior II|PA28]] are good choices.&lt;br /&gt;
* If you are interested in flying airlines, [[Airbus A320 family]], Boeing [[Boeing 777|777]]/[[Boeing 787-8 Dreamliner|787]], [[MD-11]] and [[MD-80]] are suggested.&lt;br /&gt;
* If you are fascinated by fighter aircrafts, choose a highly rated military aircraft (such as [[General Dynamics F-16 Fighting Falcon|F-16]]/[[F-15]]) from [[Aircraft#Modern military aircraft|here]], and enable multiplayer damage or install [[Bombable]].&lt;br /&gt;
* If you switch to helicopters, it is recommended to fly [[Eurocopter EC130 B4]].&lt;br /&gt;
&lt;br /&gt;
Besides common aircraft, there are also detailed [[Space Shuttle|space shuttles]] available.&lt;br /&gt;
&lt;br /&gt;
=== Scenery ===&lt;br /&gt;
It is fascinating to explore the [[scenery]] (or just test the graphics/frame rate) with [[UFO]]. First of all, [[#Configuring rendering and UI|increase your graphics quality]]. If you don't see buildings initially, keep FG open and wait for a while for [[TerraSync]] to finish downloading and for the buildings to appear.&lt;br /&gt;
There are plenty of [[Suggested airports|well-developed airports]] and scenery areas. You can also explore the scenery objects on the [https://scenery.flightgear.org/map model map].&lt;br /&gt;
&lt;br /&gt;
=== Multiplayer ===&lt;br /&gt;
FlightGear has some multiplayer servers that will let you fly in more lively skies, see [[Howto: Multiplayer]]. There are also [[OpenRadar]] and [[ATC-pie]], standalone programs that will let you be an [[Air traffic control|air traffic controller]].&lt;br /&gt;
&lt;br /&gt;
There is also a [[MPMap|multiplayer map]] that lets you see who is online right now, and even what [[navaids]] are nearby.&lt;br /&gt;
&lt;br /&gt;
=== Menu items ===&lt;br /&gt;
For a quick reference about the usage of each menu item in FlightGear, see [[menu]].&lt;br /&gt;
&lt;br /&gt;
=== Addons ===&lt;br /&gt;
FlightGear has a lot of third-party [[Addon|addons]] containing enhancements. For beginners, [[Logbook Add-on|Logbook]] and [[Which Runway Add-on|Which Runway]] may be the most useful addons.&lt;br /&gt;
&lt;br /&gt;
== The FlightGear community ==&lt;br /&gt;
=== Getting help ===&lt;br /&gt;
This page is designed to give the user the essential things they need to know about using FlightGear for the first time. Besides the [[Portal:User|User portal]] of this wiki, there are other pages you may want to read:&lt;br /&gt;
*[[Troubleshooting problems]] to help you with the most common issues;&lt;br /&gt;
*[[Frequently asked questions]];&lt;br /&gt;
...and communication channels that can be used to obtain information or request help:&lt;br /&gt;
*The [[FlightGear Manual]], a ''must read'' for beginners;&lt;br /&gt;
*{{forum link|text=FlightGear Forum}} and its subforums;&lt;br /&gt;
*[[Discord|FlightGear's Discord server]], the quickest way to get help;&lt;br /&gt;
*[[FlightGear IRC channel]];&lt;br /&gt;
*[[Mailing list|FlightGear users mailing list]], biggest chance to get in contact with core developers;&lt;br /&gt;
*Documents bundled with the release package.&lt;br /&gt;
&lt;br /&gt;
=== Customizing FlightGear without compiling it ===&lt;br /&gt;
[https://www.flightgear.org/download/ Our website] offers precompiled binaries for download and install on Windows, macOS and Linux. In addition, most Linux distributions provide a packaged version in their repositories.&lt;br /&gt;
&lt;br /&gt;
Although the install is binary, most of FlightGear's systems are open to configuration through [[XML]] files and [[NASAL scripting]]. You are free ''and encouraged'' to make changes to aircraft flight models, scenery, textures, OpenGL [[shader]]s and any other feature you wish to change for your personal satisfaction or to share with other FlightGear users. If this is what you intend to do, take a look at the [[Portal:Developer|Developer portal]].&lt;br /&gt;
&lt;br /&gt;
=== How you can help ===&lt;br /&gt;
{{Main article|Volunteer}}&lt;br /&gt;
FlightGear is an open source, volunteer based project. That means that whatever you find here comes from passion, spare time and nothing else. This includes the simulator, the scenery, the aircraft, the wiki, the {{forum link|text=forum}} and everything else. Volunteers, in essence ''people that do things'', are fundamental to this project. Without them, it would not make a single step forward. So it is essential that contributors have fun in what they do.&lt;br /&gt;
&lt;br /&gt;
If you plan to contribute to this project, you should take a look at some articles that will give you some hints:&lt;br /&gt;
*[[Howto:Understand the FlightGear development process]]&lt;br /&gt;
*[[Implementing new features for FlightGear]]&lt;br /&gt;
*[[How the FlightGear project works]]&lt;br /&gt;
&lt;br /&gt;
The fields where their help would be appreciated are many:&lt;br /&gt;
;Testing:&lt;br /&gt;
*[[Building FlightGear|Build]] the latest Git code&lt;br /&gt;
*[https://gitlab.com/flightgear/flightgear/-/issues File bug reports]&lt;br /&gt;
*Running FlightGear via valgrind to track down memory leaks&lt;br /&gt;
&lt;br /&gt;
;Support:&lt;br /&gt;
*Help new users with downloading, compiling, installing and running FlightGear ({{forum link|text=on the forum}} or on [[Discord]])&lt;br /&gt;
*Provide ideas &amp;amp; suggestions, see: [[Feature Requests / Proposals / Ideas]]&lt;br /&gt;
*Help [[Portal:Wiki|clean up this wiki]]&lt;br /&gt;
*Help provide new contents for missing wiki pages&lt;br /&gt;
&lt;br /&gt;
;Development:&lt;br /&gt;
*Core codebase:&lt;br /&gt;
**Provide [[Howto:Start core development|source code / data / documentation contributions]]&lt;br /&gt;
**Provide [[Bugs|bug fixes]] or new features&lt;br /&gt;
*Aircraft development (3D modeling, textures, FDMs, scripting)&lt;br /&gt;
*Scenery development (terrain, model, weather)&lt;br /&gt;
*Get involved in any of the other FlightGear-affiliated projects&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear]]&lt;br /&gt;
&lt;br /&gt;
[[ca:Nou a FlightGear]]&lt;br /&gt;
[[de:Neu bei FlightGear]]&lt;br /&gt;
[[es:Nuevo en FlightGear]]&lt;br /&gt;
[[fi:Uusi_käyttäjä]]&lt;br /&gt;
[[fr:Nouveau sur flightgear]]&lt;br /&gt;
[[it:Nuovo per FlightGear]]&lt;br /&gt;
[[ja:FlightGear入門]]&lt;br /&gt;
[[nl:Nieuw bij FlightGear]]&lt;br /&gt;
[[pl:Nowy w FlightGear]]&lt;br /&gt;
[[pt:Novo no FlightGear]]&lt;br /&gt;
[[sr:Novi u FlightGear-u]]&lt;br /&gt;
[[th:New to FlightGear]]&lt;br /&gt;
[[zh:FlightGear入门]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Zh/FlightGear%E5%85%A5%E9%97%A8&amp;diff=144962</id>
		<title>Zh/FlightGear入门</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Zh/FlightGear%E5%85%A5%E9%97%A8&amp;diff=144962"/>
		<updated>2026-06-10T17:13:10Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* 运行FlightGear */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''欢迎来到[[FlightGear]]！''' 在这里，我们将尝试让你在最短的时间内升入虚拟天空。并将向你介绍这款飞行模拟器的一些功能，以及其社区的一些信息。&lt;br /&gt;
&lt;br /&gt;
== 安装与设置 ==&lt;br /&gt;
=== 硬件要求 ===&lt;br /&gt;
为了让FlightGear流畅运行，它需要一块支持OpenGL 4.0或更高版本驱动的显卡。这通常不是问题，但你可以查看[[hardware recommendations|硬件推荐]]以获得更清晰的了解。&lt;br /&gt;
&lt;br /&gt;
=== 获取FlightGear ===&lt;br /&gt;
{| class=toccolours align=&amp;quot;center&amp;quot; style=&amp;quot;text-align: center; width: 80%; font-size: 85%; clear:both; margin-top:1em; margin-bottom:-0.5em; border-left: 15px solid orange;&amp;quot;&lt;br /&gt;
| '''强烈建议中国内地用户从[https://mirrors.tuna.tsinghua.edu.cn/flightgear/ftp/ TUNA镜像站]下载FlightGear，以保证下载速度。'''&lt;br /&gt;
安装文件位于其中的&amp;lt;code&amp;gt;release-&amp;amp;lt;大版本号&amp;amp;gt;&amp;lt;/code&amp;gt;文件夹下，Windows用户请选择下载该文件夹下的&amp;lt;code&amp;gt;FlightGear-&amp;amp;lt;小版本号&amp;amp;gt;.exe&amp;lt;/code&amp;gt;。该镜像站也提供部分机模与地景下载。&lt;br /&gt;
'''此外，[[FlightGear China|FlightGear中国飞友会（或FGPRC）]][https://www.fgprc.org.cn 官网]也可下载macOS和Windows平台最新LTS版本的FlightGear。'''&lt;br /&gt;
|}&lt;br /&gt;
你可以从 [https://www.flightgear.org/download/ FlightGear下载] 页面下载最新文件。选择适合你特定系统的源代码或二进制文件。Linux系统的{{Wikipedia|AppImage|AppImage}}二进制文件也可用于2020.3 LTS及更高版本。大多数Linux用户会发现，大多数发行版都有一个打包版本的FlightGear（包名可能是&amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt;或&amp;lt;code&amp;gt;flightgear&amp;lt;/code&amp;gt;）。&lt;br /&gt;
&lt;br /&gt;
根据你的技术专长，你可以选择FlightGear的[[Git]]开发版本，该版本通常具有更多功能，并且是一些最新开发中的飞机所必需的，但可能不稳定，并且对非Windows用户来说更复杂。一般来说，不建议普通用户使用开发版本，但如果你愿意进行一些测试，可以下载[https://www.flightgear.org/download/nightly/ 夜间构建版本]。如果你使用的是Git版本控制的FlightGear副本，你可以选择使用版本控制的[[FGAddon|FGAddon飞机开发仓库]]来同步你的飞机。&lt;br /&gt;
&lt;br /&gt;
=== 在Windows上安装 ===&lt;br /&gt;
下载安装程序后，运行它并按照其说明安装FlightGear。&lt;br /&gt;
&lt;br /&gt;
Windows上的Defender SmartScreen可能会阻止安装，仅仅是因为二进制文件没有使用微软认可的密钥进行签名。当然，这个密钥是收费的。在这种情况下，我们需要点击不起眼的“更多信息”链接。只有这样，“仍要运行”按钮才会出现。只要你确实是从官方来源下载的，就可以放心地相信这不是一个危险的应用程序。&lt;br /&gt;
&lt;br /&gt;
如果你出于某种原因使用了第三方防病毒软件，它可能会阻止FlightGear安装。这不是我们能控制的，所以完全由你自己决定如何处理。&lt;br /&gt;
&lt;br /&gt;
使用Windows安装程序时，你可以选择安装FlightGear的位置。[[$FG_ROOT]]目录将是&amp;lt;code&amp;gt;&amp;amp;lt;你选择的目录&amp;amp;gt;/data&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
=== 在macOS上安装 ===&lt;br /&gt;
在macOS上安装FlightGear非常简单。只需将FlightGear图标拖放到&amp;lt;code&amp;gt;/Applications&amp;lt;/code&amp;gt;文件夹中即可。就是这样。&lt;br /&gt;
&lt;br /&gt;
第一次启动FlightGear时，它在加载飞机和机场信息时，Dock上的图标会跳动几秒钟。当GUI启动器出现时，选择飞机和机场，然后点击“Fly!”启动模拟器。你可以使用GUI启动器配置更多选项。有关更多详细信息，请参阅[官方手册](http://flightgear.sourceforge.net/manual/next/en/getstart-ench4.html#takeoff-how-to-start-the-program)。&lt;br /&gt;
&lt;br /&gt;
如果你想使用命令行启动FlightGear，请启动终端应用程序并输入以下内容。&lt;br /&gt;
&lt;br /&gt;
 cd /Applications/FlightGear.app/Contents/MacOS&lt;br /&gt;
 ./fgfs --options..... &lt;br /&gt;
&lt;br /&gt;
在macOS上未设置[[$FG_ROOT]]和[[$FG_SCENERY]]。如果你想自己为命令行使用指定这些变量，请在终端应用程序中运行以下命令：&lt;br /&gt;
&lt;br /&gt;
 FG_ROOT=/Applications/FlightGear.app/Contents/Resources/data&lt;br /&gt;
 FG_SCENERY=[[$FG_ROOT]]/Scenery&lt;br /&gt;
&lt;br /&gt;
启动GUI启动器后，你将在&amp;lt;code&amp;gt;$HOME/Documents/FlightGear/&amp;amp;lt;版本&amp;amp;gt;&amp;lt;/code&amp;gt;处拥有指向[[$FG_ROOT]]的别名，因此你可以使用Finder浏览数据文件夹。&lt;br /&gt;
&lt;br /&gt;
注意：安装FlightGear后，Mac用户可以通过在Finder中打开应用程序文件夹，右键单击FlightGear，然后单击“显示包内容”来找到他们的[[$FG_ROOT]]文件夹。这将带你进入FlightGear文件夹内部。你现在可以访问所有文件，包括Data/Aircraft，以[[Howto: Install aircraft#Macintosh OS X|安装新飞机]]。&lt;br /&gt;
&lt;br /&gt;
=== 从源代码安装 ===&lt;br /&gt;
主条目：[[Building FlightGear]]&lt;br /&gt;
&lt;br /&gt;
=== 获取地景 ===&lt;br /&gt;
FlightGear安装时附带有限的一组[[scenery|地景]]。对于FlightGear 2024.1，这包括：&lt;br /&gt;
* 发布版特色机场[[Keflavik_Airport|凯夫拉维克国际机场]] (BIKF) 周围的区域&lt;br /&gt;
* [[Cessna_172P|塞斯纳172P]]的教程机场[[Hilo_International_Airport|希洛国际机场]] (PHTO)&lt;br /&gt;
&lt;br /&gt;
在FlightGear中，地景通常存储在你的[[$FG_ROOT]]目录中，并分为三种数据：&lt;br /&gt;
* '''机场''' 包含机场数据，如跑道使用和停机位。&lt;br /&gt;
* '''物体''' 和 '''模型''' 是建筑物、桥梁和无线电塔等，代表三维结构。&lt;br /&gt;
* '''地形''' 代表你飞行/滑行经过的地面的轮廓、高程和类型。&lt;br /&gt;
&lt;br /&gt;
当前“安装”新地景的方法是启用[[TerraSync]]，它将自动下载并更新你访问的任何地方——甚至在飞行过程中！如果你网络连接和/或电脑较慢，你可以改用风景管理器，例如[[TerraMaster]]。此外，你也可以手动下载并安装新的地景部分，无论是官方的[[World Scenery|世界地景]]还是自定义地景。&lt;br /&gt;
&lt;br /&gt;
地景也可在FlightGear网站的[https://www.flightgear.org/download/mirrors/ 镜像页面]上获得，并可以按照[[Howto: Install scenery|如何安装地景]]进行安装。'''建议网络连接或电脑较弱的用户使用此方法！'''&lt;br /&gt;
&lt;br /&gt;
自定义地景在很多地方都有。例如，在{{forum link|f=5|text=FlightGear论坛}}或代码仓库中。互联网搜索应该能够找到它们。有关最近的一些发布，请参阅[[Suggested_custom_scenery|建议的自定义地景]]页面。&lt;br /&gt;
&lt;br /&gt;
FlightGear 2020.3.7 LTS及更高版本增加了基于OpenStreetMap数据的全球三维建筑、道路和物体的实验性推出，用于自动下载的TerraSync数据——请参阅[[OSM2City 1st Worldbuild|首次OSM2City世界构建]]说明（2021年3月）。在[[Areas populated with osm2city scenery|osm2City下载]]维基页面上，提供了一些针对地区或整个国家的三维结构的手动下载。&lt;br /&gt;
&lt;br /&gt;
=== 获取飞机 ===&lt;br /&gt;
可以通过[[Qt-launcher|启动器]]下载并安装额外的[[aircraft|飞机]]。或者，你可以访问FlightGear网站并导航到[http://www.flightgear.org/download/ 下载页面]，然后选择适合你FlightGear版本的飞机下载链接。此外，还有许多第三方[[hangars|机库]]。有关安装，请参阅[[Howto: Install aircraft|如何安装飞机]]。&lt;br /&gt;
&lt;br /&gt;
== 运行FlightGear ==&lt;br /&gt;
=== 启动FlightGear ===&lt;br /&gt;
启动FlightGear最简单的方法是使用桌面图标。这将启动图形界面的[[FlightGear Qt launcher|FlightGear Qt启动器]]，你可以在其中选择飞机、起始位置等。&amp;lt;!-- 一旦启动器明确表示更多设置需通过模拟器内菜单完成，此提醒可移除 --&amp;gt;Qt启动器仅提供基本选项帮你入门。更多图形、地景、[[Weather|天气]]、[https://www.flightgear.org/tours/simulating-the-ever-changing-scenery/ 环境]、[[Input_device|输入设备]]等选项，可通过模拟器内的[[menu|菜单]]调整。&lt;br /&gt;
&lt;br /&gt;
不过，许多用户也直接从命令行启动FlightGear。可执行文件名为&amp;lt;code&amp;gt;fgfs&amp;lt;/code&amp;gt;，不带参数即可运行。若提示“未找到”，则可能不在你的[https://en.wikipedia.org/wiki/PATH_(variable) PATH]中。路径取决于你的系统以及编译安装时的选择。通过[[Command Line Parameters|命令行参数]]可修改诸多选项，例如指定飞机。最常用的有：&lt;br /&gt;
&lt;br /&gt;
 fgfs --launcher             # 打开FlightGear Qt启动器&lt;br /&gt;
 fgfs --show-aircraft        # 列出已安装的飞机&lt;br /&gt;
 fgfs --aircraft=c172p       # 启动飞机c172p&lt;br /&gt;
&lt;br /&gt;
Qt启动器也支持添加命令行参数，用于调整通常由模拟器内菜单控制的选项，以及一些仅命令行可用的高级选项。&lt;br /&gt;
&lt;br /&gt;
=== 配置渲染和UI ===&lt;br /&gt;
[[File:Rendering options 2024.1.png|thumb|View &amp;gt; Rendering Options 对话框]]&lt;br /&gt;
如果渲染质量或帧率过低，点击 &amp;quot;View &amp;gt; Rendering Options&amp;quot; 调整图形设置。对于较新硬件，建议将 &amp;quot;graphics quality&amp;quot; 设为 high，并勾选 &amp;quot;use disk space for faster loading&amp;quot;、&amp;quot;animated jetways&amp;quot; 和 &amp;quot;satellite photoscenery&amp;quot;。&lt;br /&gt;
&lt;br /&gt;
若菜单文字在高DPI或大屏幕上显示过小，可手动编辑数据文件[[Menubar#How to Change the Default Menubar Font Size|修改菜单栏字体大小]]，或直接点击 &amp;quot;Debug &amp;gt; Cycle GUI Style&amp;quot;。&lt;br /&gt;
&lt;br /&gt;
=== 使用键盘与/或鼠标 ===&lt;br /&gt;
缺少摇杆或其他控制器的用户有时会用键盘或鼠标来驾驶飞机。键盘飞行较难，推荐用鼠标代替键盘，但即使一个廉价摇杆也能大幅提升体验。&lt;br /&gt;
&lt;br /&gt;
获取键盘命令帮助：在FlightGear运行时，打开 &amp;quot;Help&amp;quot; 菜单，查看 &amp;quot;Basic Keys&amp;quot;（模拟器相关命令）、&amp;quot;Common Aircraft Keys&amp;quot;（所有飞机通用命令）和 &amp;quot;Aircraft Help&amp;quot;（当前飞机特有命令）。若主菜单隐藏，按 {{key press|F10}}。若你从其他模拟器转来，可参考[[key commands compared to other simulators|键位对比]]了解差异。&lt;br /&gt;
&lt;br /&gt;
用鼠标飞行：按 {{key press|Tab}}（光标变为十字），移动鼠标即可操控飞机。再按一次 {{key press|Tab}} 可环顾四周（光标变为双箭头），第三次按 {{key press|Tab}} 返回正常模式（用于点击驾驶舱控件）。可在 &amp;quot;File &amp;gt; Input Devices &amp;gt; Mouse Config&amp;quot; 中调整鼠标灵敏度。&lt;br /&gt;
&lt;br /&gt;
多数用户没有方向舵轴，转弯时手动协调[[aileron|副翼]]与[[rudder|方向舵]]较困难。要启用自动协调，可在启动器中依次点击 &amp;quot;设置&amp;quot; → &amp;quot;通用&amp;quot; 右侧的 &amp;quot;显示更多&amp;quot; → 勾选 &amp;quot;启用自动协调&amp;quot;。&lt;br /&gt;
&lt;br /&gt;
=== 首次进入驾驶舱 ===&lt;br /&gt;
初次进入驾驶舱可能找不到北。&lt;br /&gt;
&lt;br /&gt;
按 {{key press|Ctrl|V}} 可切换到驾驶舱视角。若面板文字太小，可用鼠标视图模式（按 Tab 直到光标变为双箭头）平移，用滚轮缩放；或用摇杆苦力帽平移，{{key press|X}} / {{key press|Shift|X}} 缩放。&lt;br /&gt;
&lt;br /&gt;
许多人进入陌生驾驶舱后的第一件事是按下 {{key press|Ctrl|C}} 高亮所有 &amp;quot;hotspots&amp;quot;（仪表、按钮、旋钮等）。许多飞机也提供专门的帮助菜单。&lt;br /&gt;
&lt;br /&gt;
某些功能（如启动器、磁电机）可能难以点击或干脆没有 &amp;quot;hotspots&amp;quot;，尤其在开发中的飞机模型上。多数情况下可用键盘操作。键位分配始终列在 &amp;quot;Help &amp;gt; Aircraft Help&amp;quot; 或 &amp;quot;Help &amp;gt; Common Aircraft Keys&amp;quot; 菜单中，但有时会被飞机或配置重新定义。别忘了查看所有帮助对话框。&lt;br /&gt;
&lt;br /&gt;
=== 启动发动机 ===&lt;br /&gt;
你急着要飞，但发动机没转。打开发动机并不总是那么容易。大多数飞机在自定义菜单中有 &amp;quot;autostart&amp;quot; 项，但以下通用步骤通常有效：&lt;br /&gt;
&lt;br /&gt;
启动活塞式发动机（先确认游戏未暂停，按 {{key press|p}} 检查）：&lt;br /&gt;
# 燃油：某些飞机启动时无燃油。可在 &amp;quot;Equipment&amp;quot; &amp;gt; &amp;quot;Fuel and Payload&amp;quot; 中添加。&lt;br /&gt;
# 混合比：通常应为 &amp;quot;rich&amp;quot;，将红色旋钮完全推入，或按 {{key press|m}} 加浓（{{key press|Shift|m}} 减稀）。&lt;br /&gt;
# 磁电机设为 &amp;quot;both&amp;quot;：转动钥匙或按 {{key press|&amp;amp;#125;}} ''三次''，依次经过 &amp;quot;R&amp;quot;、&amp;quot;L&amp;quot;、&amp;quot;Both&amp;quot;。&lt;br /&gt;
# 油门：少许油门有助于启动。&lt;br /&gt;
# 启动：点击面板上钥匙的 &amp;quot;Start&amp;quot; 位置，或按 {{key press|s}}。按住启动器足够长时间（甚至10秒）。&lt;br /&gt;
&lt;br /&gt;
启动多引擎飞机的所有引擎：与单引擎类似，但需对每台引擎执行相同步骤。FlightGear 提供了一键操作：按 {{key press|~}}，上述所有步骤将同时作用于所有引擎。注意默认的2D面板仅连接 ''一台引擎''，{{key press|~}} 可能无效。另外，稍给一些油门确保所有引擎都启动。&lt;br /&gt;
&lt;br /&gt;
上述步骤不适用于喷气机、直升机或其他复杂启动流程的机型。请查看飞机帮助菜单（按 {{key press|?}}）或本维基上[[Aircraft|该飞机的条目]]。通常，启动喷气发动机的步骤为：&lt;br /&gt;
# 将切断（cutoff）设为开（ON）&lt;br /&gt;
# 启动启动器（starter）&lt;br /&gt;
# 发动机转速提升到大约5% N1时，将切断设为关（OFF）&lt;br /&gt;
# 达到工作转速后，断开启动器&lt;br /&gt;
&lt;br /&gt;
== 学习飞行 ==&lt;br /&gt;
=== FlightGear 手册 ===&lt;br /&gt;
FlightGear 有涵盖飞行基础的[https://www.flightgear.org/support/manual/ 官方手册]。初学者可从[https://flightgear.gitlab.io/getstart/release-{{current release|cr}}/en/HTML/getstart-ench8.html 第8章：基础飞行模拟器教程]开始。&lt;br /&gt;
&lt;br /&gt;
=== 教程 ===&lt;br /&gt;
许多飞机自带交互式[[tutorials|教程]]。通过教程，你不仅能学习特定机型的操作，也能学习飞行。进入 &amp;quot;Help&amp;quot; &amp;gt; &amp;quot;Tutorial&amp;quot; 即可。[[Cessna 172P|塞斯纳172P]] 的教程是个不错的起点，这款飞机在现实中常用于固定翼飞行训练。&lt;br /&gt;
&lt;br /&gt;
如果教程开始时没有跑道，周围全是水，说明你的 FlightGear 缺少教程所需机场的地景。请参照上文 [[#Getting scenery|获取地景]] 一节。&lt;br /&gt;
&lt;br /&gt;
== 第一次飞行 ==&lt;br /&gt;
=== 真实感 ===&lt;br /&gt;
新手常问的一个问题是：“为什么我的飞机总向左转？” 这虽然可能是跑道侧风所致，但更常见的原因是[[Understanding Propeller Torque and P-Factor|螺旋桨扭矩和P因子]]。&lt;br /&gt;
&lt;br /&gt;
其他某些模拟器为了降低难度，会调低这类效应。而 FlightGear 始终将真实度拉满。&lt;br /&gt;
&lt;br /&gt;
以下是一些可能让新手困惑的真实感特性：&lt;br /&gt;
* 前述的“左转问题”&lt;br /&gt;
* 罗盘转弯误差：罗盘受飞行力影响，会在稳定到正确航向之前短暂反向偏转。这不是故障（参见维基百科 {{wikipedia|Aircraft compass turns|Aircraft compass turns}}）。&lt;br /&gt;
* 垂直速度指示器（VSI）也存在误差。&lt;br /&gt;
* [[Horizontal Situation Indicator|HSI]] 由陀螺仪驱动（因此也称 Directional Gyroscope），存在“陀螺漂移”。需要定期（约每15分钟）按磁罗盘航向校准。&lt;br /&gt;
* 无法通过回中驾驶杆来取消转弯或爬升。必须向相反方向压杆才能恢复水平直线飞行。即便如此，飞机也不会保持高度和航向。常见错误是试图找到一个“放手”位置。通过配平可让飞机自行稳定几秒，但仍需使用自动驾驶仪或不断调整驾驶杆。&lt;br /&gt;
&lt;br /&gt;
飞机飞行中以及用于控制和导航的[[avionics and instruments|航电与仪表]]会受到多种力的作用，有些反直觉。飞行员必须学会识别并补偿这些效应。''FlightGear 模拟了现实世界中存在的仪表误差''。如果你不需要，按{{key press|h}}显示HUD.&lt;br /&gt;
&lt;br /&gt;
=== 机场与导航设备 ===&lt;br /&gt;
首次启动 FlightGear 时，你可能想知道哪些机场可用。启动器显示机场列表，但不会提供塔台或[[ILS]]频率等细节，也没有显示[[VOR]]及其频率的地图。怎么办？请参阅[[Getting aeronautical charts|获取航图]]。&lt;br /&gt;
&lt;br /&gt;
模拟器内可通过 &amp;quot;Main Menu&amp;quot; &amp;gt; &amp;quot;Equipment&amp;quot; &amp;gt; &amp;quot;Map&amp;quot; 打开地图，查看导航数据、机场及导航设备的位置。更多导航帮助请见[[Understanding navigation|理解导航]]。&lt;br /&gt;
&lt;br /&gt;
=== 使用自动驾驶仪 ===&lt;br /&gt;
从 &amp;quot;Autopilot &amp;gt; Autopilot Settings&amp;quot; 菜单可获得通用[[autopilot|自动驾驶仪]]，而许多飞机自带“特定”自动驾驶仪，通常仿自真实型号。&lt;br /&gt;
&lt;br /&gt;
对于自带自动驾驶仪的飞机，应使用虚拟驾驶舱中的自动驾驶控件（即点击仪表板）。在某些飞机（如空客和[[Cessna 172P|C172P]]）中，当飞机提供自己的自动驾驶仪时，&amp;quot;Autopilot&amp;quot; 菜单可能会变灰不可用。&lt;br /&gt;
&lt;br /&gt;
塞斯纳172的驾驶舱内置了[[Kap140|KAP140]]自动驾驶仪。你可以同时使用驾驶舱中的自动驾驶设备和菜单中的[[Autopilot#Autopilot Settings|autopilot settings]]。&lt;br /&gt;
&lt;br /&gt;
== 进阶 ==&lt;br /&gt;
=== 飞行 ===&lt;br /&gt;
{{Main article|Aircraft}}&lt;br /&gt;
&lt;br /&gt;
* 若继续飞通航机，推荐 [[Cessna 182S]]（比 c172p 更复杂）和 [[Piper PA28 Warrior II|PA28]]。&lt;br /&gt;
* 若对航线飞行感兴趣，可尝试 [[Airbus A320 family]]、波音 [[Boeing 777|777]]/[[Boeing 787-8 Dreamliner|787]]、[[MD-11]] 和 [[MD-80]]。&lt;br /&gt;
* 若迷恋战斗机，请从 [[Aircraft#Modern military aircraft|这里]] 选择高评分军用机（如 [[General Dynamics F-16 Fighting Falcon|F-16]]/[[F-15]]），并启用多人模式伤害或安装 [[Bombable]]。&lt;br /&gt;
* 若转向直升机，建议从 [[Eurocopter EC130 B4]] 开始。&lt;br /&gt;
&lt;br /&gt;
除了常规飞机以外，还有精细的 [[Space Shuttle|航天飞机]] 机模。&lt;br /&gt;
&lt;br /&gt;
=== 地景 ===&lt;br /&gt;
用 [[UFO]] 探索[[scenery|地景]]（或测试图形/帧率）很有意思。首先，[[#Configuring rendering and UI|提高图形质量]]。若一开始看不到建筑，保持 FG 运行，等待 [[TerraSync]] 下载完成，建筑便会显现。&lt;br /&gt;
有许多[[Suggested airports|高质量机场]]和地景区域。你也可以在 [https://scenery.flightgear.org/model 模型地图] 上浏览地景物。&lt;br /&gt;
&lt;br /&gt;
=== 多人模式 ===&lt;br /&gt;
FlightGear 有多人服务器，可让你在更热闹的天空中飞行，见 [[Howto: Multiplayer]]。另有第三方程序 [[OpenRadar]] 和 [[ATC-pie]]，可让你扮演 [[Air traffic control|空中交通管制员]]。&lt;br /&gt;
&lt;br /&gt;
还有一张[[MPMap|多人地图]]，可查看当前在线玩家及其附近的 [[navaids]]。&lt;br /&gt;
&lt;br /&gt;
=== 菜单项 ===&lt;br /&gt;
关于 FlightGear 每个菜单项的快速参考，见 [[menu]]。&lt;br /&gt;
&lt;br /&gt;
=== 附加模组 ===&lt;br /&gt;
FlightGear 有许多第三方 [[Addon|模组]] 提供增强。对初学者来说，[[Logbook Add-on|Logbook]] 和 [[Which Runway Add-on|Which Runway]] 可能是最实用的两个模组。&lt;br /&gt;
&lt;br /&gt;
== FlightGear社区 ==&lt;br /&gt;
=== 获取帮助 ===&lt;br /&gt;
本页面旨在为用户提供首次使用FlightGear时需要了解的基本信息。除了本维基的[[Portal:User|用户门户]]，你可能还想阅读其他页面：&lt;br /&gt;
*[[Troubleshooting problems|问题排查]]帮助你解决最常见的问题；&lt;br /&gt;
*[[Frequently asked questions|常见问题解答]]；&lt;br /&gt;
...以及可用于获取信息或请求帮助的沟通渠道：&lt;br /&gt;
*[[FlightGear Manual|FlightGear手册]]，初学者''必读''；&lt;br /&gt;
*{{forum link|text=FlightGear论坛}}及其子论坛；&lt;br /&gt;
*[[Discord|Discord服务器]]，获取帮助的最快方式；&lt;br /&gt;
*[[FlightGear IRC channel|IRC频道]]；&lt;br /&gt;
*[[Mailing list|FlightGear用户邮件列表]]，与核心开发人员联系；&lt;br /&gt;
*安装包附带的文档。&lt;br /&gt;
&lt;br /&gt;
=== 无需编译即可自定义FlightGear ===&lt;br /&gt;
[https://www.flightgear.org/download/ 我们的网站]提供了预编译的二进制文件，供Windows、macOS和Linux下载和安装。此外，大多数Linux发行版在其仓库中提供了一个打包版本。&lt;br /&gt;
&lt;br /&gt;
尽管安装是二进制的，但FlightGear的大部分系统都可以通过[[XML]]文件和[[Nasal|NASAL脚本]]进行配置。欢迎并鼓励你根据自己的喜好或与其他FlightGear用户分享，对飞机飞行模型、地景、纹理、OpenGL[[shader|着色器]]以及任何你想要更改的功能进行修改。如果你打算这样做，请查看[[Portal:Developer|开发者门户]]。&lt;br /&gt;
&lt;br /&gt;
=== 你如何提供帮助 ===&lt;br /&gt;
{{Main article|Volunteer}}&lt;br /&gt;
FlightGear是一个开源、基于志愿者的项目。这意味着你在这里找到的一切都源于热情、业余时间，别无其他。这包括模拟器、地景、飞机、维基、{{forum link|text=论坛}}以及所有其他东西。志愿者，本质上就是''做事的人''，对这个项目至关重要。没有他们，项目将无法前进一步。因此，贡献者能够享受他们所做的事情的乐趣至关重要。&lt;br /&gt;
&lt;br /&gt;
如果你计划为这个项目做出贡献，你应该看看一些会给你一些提示的文章：&lt;br /&gt;
*[[Howto:Understand the FlightGear development process|理解FlightGear开发流程]]&lt;br /&gt;
*[[Implementing new features for FlightGear|为FlightGear实现新功能]]&lt;br /&gt;
*[[How the FlightGear project works|FlightGear项目如何运作]]&lt;br /&gt;
&lt;br /&gt;
需要他们帮助的领域有很多：&lt;br /&gt;
;测试:&lt;br /&gt;
*[[Building FlightGear|构建]]最新的Git代码&lt;br /&gt;
*[https://gitlab.com/flightgear/flightgear/-/issues 提交错误报告]&lt;br /&gt;
*用Valgrind运行FlightGear以追踪内存泄漏&lt;br /&gt;
&lt;br /&gt;
;支持:&lt;br /&gt;
*帮助新用户下载、编译、安装和运行FlightGear（{{forum link|text=在论坛上}}或在[[Discord]]上）&lt;br /&gt;
*提供想法与建议，请参阅：[[Feature Requests / Proposals / Ideas|功能请求/提案/想法]]&lt;br /&gt;
*帮助[[Portal:Wiki|清理此维基]]&lt;br /&gt;
*帮助为缺失的维基页面提供新内容&lt;br /&gt;
&lt;br /&gt;
;开发:&lt;br /&gt;
*核心代码库：&lt;br /&gt;
**提供[[Howto:Start core development|源代码/数据/文档贡献]]&lt;br /&gt;
**提供[[Bugs|故障修复]]或新功能&lt;br /&gt;
*飞机开发（3D建模、纹理、飞行动力学模型、脚本）&lt;br /&gt;
*地景开发（地形、模型、天气）&lt;br /&gt;
*参与任何其他FlightGear附属项目&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear]]&lt;br /&gt;
&lt;br /&gt;
[[ca:Nou a FlightGear]]&lt;br /&gt;
[[de:Neu bei FlightGear]]&lt;br /&gt;
[[es:Nuevo en FlightGear]]&lt;br /&gt;
[[en:New to FlightGear]]&lt;br /&gt;
[[fi:Uusi_käyttäjä]]&lt;br /&gt;
[[fr:Nouveau sur flightgear]]&lt;br /&gt;
[[it:Nuovo per FlightGear]]&lt;br /&gt;
[[ja:FlightGear入門]]&lt;br /&gt;
[[nl:Nieuw bij FlightGear]]&lt;br /&gt;
[[pl:Nowy w FlightGear]]&lt;br /&gt;
[[pt:Novo no FlightGear]]&lt;br /&gt;
[[sr:Novi u FlightGear-u]]&lt;br /&gt;
[[th:New to FlightGear]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Space_Shuttle&amp;diff=144884</id>
		<title>Space Shuttle</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Space_Shuttle&amp;diff=144884"/>
		<updated>2026-06-04T22:22:44Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: /* Educational Links / Shuttle technical files */ format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
{{hatnote|See also [[Space Shuttle (FG Space Program)]] for the other Space Shuttle.}}&lt;br /&gt;
[[File:Spacetripready.png]][[File:Checklistready.png]]&lt;br /&gt;
&lt;br /&gt;
{{Space Shuttle navigation}}&lt;br /&gt;
&lt;br /&gt;
The NASA '''Space Shuttle''' was the world's first operational space plane capable of reaching orbit. It was operated from 1981 to 2011 on a total of 135 missions during which two orbiters, Challenger and Columbia, were lost in accidents.&lt;br /&gt;
&lt;br /&gt;
The Shuttle launch system components include the Orbiter Vehicle (OV), a pair of solid rocket boosters (SRBs) and the external tank (ET) containing the liquid hydrogen and oxygen fuel for the engines of the orbiter. Of these, only the external tank is expendable; the SRBs splash into the sea shortly after launch and are recovered, and the orbiter itself returns to a landing site where it lands like an airplane.&lt;br /&gt;
&lt;br /&gt;
The mixture of a rocket-like launch, a spacecraft-like near ballistic early atmospheric phase and an airplane like approach and landing makes the Space Shuttle a truly unique flying experience.&lt;br /&gt;
&lt;br /&gt;
== Project Aim ==&lt;br /&gt;
&lt;br /&gt;
The aim of the Shuttle Project is to create a highly realistic simulation of the capabilities of the Space Shuttle in FlightGear. While most of the time the real Shuttle is under the control of automatic guidance systems, there are fallback modes to control the spacecraft manually, the so-called CSS (control stick steering) modes, and it is these modes we primarily try to implement.&lt;br /&gt;
&lt;br /&gt;
In addition to the real avionics and control modes, the idea is also to provide various 'educational' modes and instruments in order to explore and appreciate certain aspects of a Shuttle mission more. &lt;br /&gt;
&lt;br /&gt;
The [http://ntrs.nasa.gov  NASA technical reports server] supplies a large base of wind tunnel and in-situ performance data of both the mated launch vehicle and the orbiter, and the aerodynamics of the simulated shuttle is based on these documents. The authoritative source for procedures for trajectory management, instrumentation, limits and emergency procedures is the [https://web.archive.org/web/20200602210929/https://www.nasa.gov/centers/johnson/pdf/390651main_shuttle_crew_operations_manual.pdf Space Shuttle Crew Operations Manual] and currently a normal mission, i.e. ascent, orbital insertion, de-orbit, entry, terminal area energy management and landing can be flown largely 'by the book', i.e. following the real procedure for CSS. &lt;br /&gt;
&lt;br /&gt;
In the following, descriptions refer to the development version - the last stable or the release version may not have all features described.&lt;br /&gt;
&lt;br /&gt;
=== Limit and failure modeling ===&lt;br /&gt;
&lt;br /&gt;
The project contains code to simulate the various structural and aerodynamical limits as well as component failures based on sections 4 and 6 of the Space Shuttle crew manual.&lt;br /&gt;
&lt;br /&gt;
The general philosophy on limit modeling is that they can be treated dependent on a user setting as 'soft', 'hard' and 'realistic'. Where applicable, warnings when the state of the orbiter is getting dangerously close to a limit are called out in addition to a recommendation how to deal with the situation. Dependent on the trajectory of the orbiter, there may or may not be sufficient time to redeem the situation.&lt;br /&gt;
&lt;br /&gt;
; soft&lt;br /&gt;
: Limit violations are called out, but their violation has no consequences for aerodynamics or component failures.&lt;br /&gt;
&lt;br /&gt;
; hard&lt;br /&gt;
: Any limit violation immediately ends the simulation.&lt;br /&gt;
&lt;br /&gt;
; realistic&lt;br /&gt;
: In reality, components do not necessarily fail immediately if used outside their design specs. This option applies a probabilistic failure model in which the chance for a component to fail grows with the degree of limit violation. The failure may or may not be immediately visible, e.g. too much qbar upon ascent may damage the heat shield, but this may not be apparent (unless specifically checked) until the heat shield fails upon atmospheric entry.&lt;br /&gt;
&lt;br /&gt;
Component failure is modeled gradually where applicable - while a tire can only blow or not blow, an airfoil or a thruster for instance may lose a certain percentage of its efficiency.&lt;br /&gt;
&lt;br /&gt;
In addition to failures induced by limit violations, the simulation also supports failure scenarios designed to model typical failure modes which could be expected to occur during operations, such as for instance engine failures or lock-up on ascent, coolant loop failures or leaks or similar. Rather complex chains of failures are modeled, for instance a failure of a coolant water spray boiler will lead to subsequent overheating of an APU unit - if this is not realized and proper action taken, the APU will fail subsequently, causing in turn a failure of one hydraulic system which potentially causes downstream failures of airfoil actuators or main engine gimbal capability.&lt;br /&gt;
&lt;br /&gt;
== The mated launch vehicle ==&lt;br /&gt;
&lt;br /&gt;
At liftoff, thrust for the shuttle is provided by its three main engines (SSMEs) and the two SRBs. The assembled launch configuration has a height of 184.2 ft (56.1 m) and a mass of about 4,470,000 lb or 2.030 tons (in addition to payload), over 90% of this being propellant. The main engines would at this point be incapable of lifting the launch stack.&lt;br /&gt;
&lt;br /&gt;
The SRBs burn an ammonium perchlorate composite fuel with a relatively low ISP of 268 s in vacuum, supplying 2,800,000 lbf of liftoff thrust each, this is supplemented by the SSME burning liquid hydrogen/oxygen with an ISP of 455 s, supplying an additional total liftoff thrust of 1,180,000 lbf. At liftoff, the shuttle hence reaches a thrust/weight ratio over 1.6, i.e. it leaves the launch pad rapidly.&lt;br /&gt;
&lt;br /&gt;
Control during ascent is provided by thrust vectoring of both the SRB and SSME nozzles. The real-world CSS scheme is a 'stick controls rates' scheme which for stick to neutral does 'attitude hold' which makes it possible to control the launch trajectory very precisely. &lt;br /&gt;
&lt;br /&gt;
=== The Solid Rocket Boosters ===&lt;br /&gt;
&lt;br /&gt;
Each SRB weighs about 1,300,000 lb, out of which 1,100,000 is propellant weight. The propellant of the SRBs is shaped to provide a high liftoff thrust, followed by a thrust reduction during the phase of the highest dynamical pressure (max. qbar). The actual thrust as a function of time is fairly complicated:&lt;br /&gt;
&lt;br /&gt;
[[File:SRB thrust.png|400px|thumb|none|Thrust characteristics of the Space Shuttle Solid Rocket Boosters]]&lt;br /&gt;
&lt;br /&gt;
The distribution is faithfully modeled in FG and the definitions to match the real thrust characteristics is taken from the [http://jsbsim.sourceforge.net/download.html JSBSim code repository]&lt;br /&gt;
&lt;br /&gt;
The SRBs can not be throttled, once ignited, they provide thrust as explained above. SRB ignition takes place some three seconds after main engine ignition, and once they ramp up to full thrust, the shuttle has no choice but to leave the launch pad. For thrust vectoring, SRB nozzles can be gimbaled up to 8 deg in both pitch and yaw axes, a roll moment is created by gimbaling the two SRBs in opposite directions.&lt;br /&gt;
&lt;br /&gt;
[[File:SRB 2.jpg|800px|thumbnail|none|Early ascent on combined SRB and SSME thrust]]&lt;br /&gt;
[[File:Sonic boom.webp|800px|thumbnail|none|Sonic boom and max dynamical pressure]]&lt;br /&gt;
&lt;br /&gt;
As of May 2015, SRB separation happens automatically once the thrust drops below some threshold to avoid having to drag dead weight, but there is no provision to manually separate. The SRBs are pushed away from the remaining launch vehicle by separation motor burns. These (including the separation animation with still burning SRBs) are modeled in FG, however due to technical issues with the submodel code at high velocities, thrust of the separation motors in the sim is set larger than in reality to provide the same visual separation dynamics. &lt;br /&gt;
&lt;br /&gt;
The SRBs are implemented as ballistic submodels, i.e. they follow a correct trajectory and ascent with the shuttle, however since (unlike the shuttle) they are not accelerating, they visually fall behind quite quickly.&lt;br /&gt;
&lt;br /&gt;
=== The Main Engines ===&lt;br /&gt;
&lt;br /&gt;
The three main engines (SSMEs) are used during ascent and burn propellant from the ET. They are mounted in a triangular configuration at the stern, tilted by 13 degrees with respect to the spacecraft main axis and can be gimbaled by 10.5 degrees in the pitch and by 8.5 degrees in the yaw axis. The reason for the tilted arrangement is to have a sensible CoG of the OV together with the ET during the later ascent stages. The heavy oxygen is stored forward in the ET, leading to a fairly forward CoG for the mated vehicle such that the SSMEs can be vectored through the CoG. This assembly is faithfully modeled in FG.&lt;br /&gt;
&lt;br /&gt;
[[File:SSME.jpg|800px|thumbnail|none|Late ascent phase on SSME thrust]]&lt;br /&gt;
&lt;br /&gt;
The engines can be throttled between 67 and 109% of rated power, this is necessary to keep the launch vehicle within structural limits during the high qbar phase in the atmosphere and later close to MECO as the propellant in the ET is almost depleted. Thrust increases during ascent as the exhaust gases do no longer have to push against an atmosphere. Both liftoff and vacuum thrust of the modeled engines are in agreement with published values.&lt;br /&gt;
&lt;br /&gt;
Since the SSME's are mounted much closer to each other than the SRBs, the Shuttle loses significant yaw and roll maneuverability after SRB separation. However as the spacecraft is nearly out of the atmosphere by then, no such maneuverability reserves are actually needed.&lt;br /&gt;
&lt;br /&gt;
In FG, the throttle controls all three SSMEs during ascent. Engines ignite once throttle is moved above 67%, this triggers the SRB ignition. If the throttle is moved below 67%, the engines will stop, however they will restart once throttle is moved again up as long as fuel is available in the ET.&lt;br /&gt;
&lt;br /&gt;
The engine numbering by NASA has the center engine as number 1, the left engine as number 2 and the right engine as number 3 and these numbers are used in in-sim callouts of engine failures. For some failure modes, engines will not respond to throttle any more, in this case the cutoff switches have to be used. These are {{Key press|Control|q}} for engine 1,  {{Key press|Control|w}} for engine 2 and {{Key press|Control|e}} for engine 3. An engine that has been shut down by the cutoff switch will not re-ignite.&lt;br /&gt;
&lt;br /&gt;
The propellant for the SSMEs is carried in the ET. The tank has a liftoff weight of approximately 1,680,000 lb (760 tons) and a dry weight of about 66,000 lb (dependent on version - the Space Shuttle menu offers an option to fly older and heavier tanks). The ET is the only expendable component of the launch stack, it is dropped after MECO upon almost reaching orbit and then the shuttle uses the OMS to attain orbit while the tank re-enters the atmosphere half an orbit later and breaks up during entry.&lt;br /&gt;
&lt;br /&gt;
[[File:Et_sep.jpg|800px|thumbnail|none|External tank separation]]&lt;br /&gt;
&lt;br /&gt;
In FG, the tank is normally separated using {{Key press|d}}. This is vetoed if the Shuttle has unsafe yaw, pitch or roll motion in which case the RCS should be used to stabilize the orbiter before ET separation. If an emergency separation needs to be performed, {{Key press|Control|d}} overrides the veto. At separation, a translational RCS burn will automatically push the shuttle away from the tank.&lt;br /&gt;
&lt;br /&gt;
After separation, the ET will approximately co-orbit with the OV, i.e. unless the Shuttle ignites the OMS engines, the tank will be visible for a long time, slowly drifting off, and it is quite possible to use the Shuttle's RCS engines to do a visual inspection of the tank.&lt;br /&gt;
&lt;br /&gt;
[[File:ET_sep_2.jpg|800px|thumbnail|none|The ET seen from the Shuttle]]&lt;br /&gt;
&lt;br /&gt;
=== A note on aerodynamics of the mated vehicle ===&lt;br /&gt;
&lt;br /&gt;
With the ET and SRBs attached, the launch stack has quite different aerodynamical characteristics than the OV alone, for instance the stack is more yaw-stable than the orbiter and its pitching moment as function of alpha and rolling moment as function of beta are very different. Where such data could be obtained from wind tunnel tests with the mated stack, it has been used in the simulation.&lt;br /&gt;
&lt;br /&gt;
As in reality, the simulated shuttle has an automated downward elevon deflection schedule with Mach number upon ascent to provide further load relief for the wings (with corresponding aerodynamical forces acting).&lt;br /&gt;
&lt;br /&gt;
In general though, aerodynamical effects are subleading, the ascent dynamics is dominated by the thruster forces and the flight control systems have a large margin to compensate for them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The Ascent Performances ===&lt;br /&gt;
&lt;br /&gt;
Space Shuttle Main Engine thrust, [https://en.wikipedia.org/wiki/Specific_impulse ISP], and consumption is now within a percent of the real datas (Dev version of December 2020)&lt;br /&gt;
The mixture ratio in real was around 6, and it is what we observe in the sim (6 times more liquid Oxygen burnt than liquid Hydrogen). Hence, Main Engine Cut Off (MECO) time is matching real one. Plus, the propellant remaining at MECO, called the Final Performance Reserve (FPR) is now within a percent (15000 pounds). It makes launch with high payload into a high inclination Orbit (towards ISS typically) really interesting and limitating performance wise, like in real.&lt;br /&gt;
&lt;br /&gt;
An interesting read about that FPR, written by a former Shuttle Flight Controller: [https://waynehale.wordpress.com/2014/10/08/understanding-sts-93-the-key-is-mixture-ratio/ Wayne Hale: The key is Mixture Ratio]&lt;br /&gt;
&lt;br /&gt;
You can find below some in sim datas compared to real one coming from the Shuttle Crew Operations Manual (SCOM).&lt;br /&gt;
&lt;br /&gt;
[[File:Stage_1_in_sim.png|600px|thumbnail|none|Stage 1 Velocity Vs Time in Sim]][[File:Stage_1_scom.jpg|600px|thumbnail|none|Stage 1 Velocity Vs Time in real]]&lt;br /&gt;
[[File:Stage_2_in_sim.png|600px|thumbnail|none|Stage 2 Velocity Vs Time in Sim]][[File:Stage_2_scom.jpg|600px|thumbnail|none|Stage 2 Velocity Vs Time in real]]&lt;br /&gt;
&lt;br /&gt;
=== CSS DAP schemes for ascent ===&lt;br /&gt;
&lt;br /&gt;
During ascent, the stick controls thrust vectoring for both SSMEs and SRBs. The following two DAP schemes are available:&lt;br /&gt;
&lt;br /&gt;
; Thrust vectoring&lt;br /&gt;
: This is the real CSS ascent mode for the shuttle in which stick motion controls rate, stick to neutral commands an attitude hold. Internally a PID controller vectors the thrusters and uses the stick input as a bias for the error. This is a very stable scheme and can be easily used to achieve high precision in controlling ascent speed or orbital inclination.&lt;br /&gt;
&lt;br /&gt;
; Thrust vectoring (gimbal)&lt;br /&gt;
: This is an educational scheme in which the stick motion directly controls the engine gimbal, i.e. the pilot needs to do the task of the PID controller himself. To make things somewhat easier, the engines are automatically vectored through the stack's CoG, i.e. outside the atmosphere stick neutral corresponds to zero moments acting on the stack. In the atmosphere, the control input hence needs to compensate for aerodynamical forces. Launch in this scheme is fairly rough and it is not possible to reach high precision, but it is possible to fly into orbit and gain a first-hand experience of the forces acting on the stack.&lt;br /&gt;
&lt;br /&gt;
{{Key press|m}} switches between the ascent DAPs. {{Key press|Control|m}} switches from the ascent to the orbital DAP modes (do not use an orbital DAP for ascent control unless you know very well what you're doing).&lt;br /&gt;
&lt;br /&gt;
=== Ascent structural and aerodynamical limits ===&lt;br /&gt;
&lt;br /&gt;
The following structural and aerodynamical limits need to be observed during ascent:&lt;br /&gt;
&lt;br /&gt;
* Dynamical pressure qbar &amp;lt; 819 lb/sqf (modeled)&lt;br /&gt;
&lt;br /&gt;
This is a structural limit for the orbiter and mated stack, in actual operations the orbiter should be kept below 650 lb/sqf.&lt;br /&gt;
&lt;br /&gt;
* Wing bending moment coefficient CBW between -0.019 and 0.019 at max. qbar (modeled)&lt;br /&gt;
&lt;br /&gt;
At max qbar, the wing bending moment is a function of Mach number and AoA. Since Mach number is close to 1.4 in this phase of the flight, this limit basically translates into alpha between -8 degrees and 2 degrees. This can only be achieved if the orbiter is in inverted flight.&lt;br /&gt;
&lt;br /&gt;
* Translational accelerations Nx between 0 and 3.11 g (modeled), Ny between -0.18 and 0.18 g (not modeled) and Nz between -0.06 and 0.73 g (not modeled).&lt;br /&gt;
&lt;br /&gt;
These are structural limits of the mated stack to acceleration rather than aerodynamical forces. Especially the Nx (acceleration along the orbiter axis, i.e. main engine thrust) is important and requires to throttle down the SSMEs towards the end of the burn time.&lt;br /&gt;
&lt;br /&gt;
* Late ascent trajectory may not drop below 265.000 ft (modeled)&lt;br /&gt;
&lt;br /&gt;
This is a heat load limit for the external tank insulation, if the thermal protection of the ET fails, it will explode.&lt;br /&gt;
&lt;br /&gt;
== The Shuttle in orbit ==&lt;br /&gt;
&lt;br /&gt;
For maneuvering in orbit, the OV is equipped with three RCS thruster clusters and the two OMS engines. The propellant for these systems is  monomethylhydrazine (MMH) oxydized with  dinitrogen tetroxide, resulting in a specific impulse of 312 s. This is an hypergolic fuel combination (i.e. ignites automatically). OMS and RCS tanks have an interconnect valve, however only the RCS can be fired from the OMS propellant reserves, not vice versa (currently not modeled).&lt;br /&gt;
&lt;br /&gt;
The OMS engines are located at the rear of the spacecraft in pods attached to the fuselage. Two of the RCS clusters are attached to the OMS pods, one is located at the spacecraft nose.&lt;br /&gt;
&lt;br /&gt;
=== The Orbital Maneuvering System engines ===&lt;br /&gt;
&lt;br /&gt;
The two OMS engines provide a thrust of 6,000 lb and, using the propellant reserves of 7,773 lb of nitrogen tetrozide and 4,718 lb of MMH can induce a total velocity change of about 1000 ft/sec if all propellant is spent. Typically half of this is used to push the OV into a proper orbit after ET separation and for the de-orbit burn, the rest is available for orbital maneuvers such as inclination adjustments.&lt;br /&gt;
&lt;br /&gt;
Once in orbit, in FG throttle control is transferred to both OMS engines. They can be throttled from zero to 100% of nominal thrust and are automatically vectored by the flight controls through the CoG of the orbiter. The real shuttle has a DAP for thrust vectoring of the OMS engines as well as the option of using a single engine with partial thrust vectoring, only the first option is currently modeled.&lt;br /&gt;
&lt;br /&gt;
[[File:OMS_burn.jpg|800px|thumbnail|none|OMS burn for orbital insertion]]&lt;br /&gt;
[[File:MS cockpit view Orbit.webp|800px|thumbnail|none|Orbit cockpit configuration]]&lt;br /&gt;
&lt;br /&gt;
=== OMS DAP schemes  ===&lt;br /&gt;
&lt;br /&gt;
In orbit, the throttle controls OMS engine thrust. The following  DAP schemes are available:&lt;br /&gt;
&lt;br /&gt;
; OMS TVC&lt;br /&gt;
: This is a stick-controls-rates scheme which utilizes thrust vectoring for the OMS engines. It resembles in principle the ascent thrust vectoring, except for the fact that the OMS engines are far less powerful and hence rates and the transition to the set rate are a lot slower. Note that this DAP will only control the Shuttle if the OMS is firing.&lt;br /&gt;
&lt;br /&gt;
If TVC for the OMS is not feasible (for instance because the OMS engine gimbal actuators are damaged), the OMS engines can also be fired with an RCS attitude-holding rotational DAP active (for example '''RCS DAP-A'''. In this case, attitude control is provided by the RCS thrusters and thrust by the OMS engines.&lt;br /&gt;
&lt;br /&gt;
=== The Reaction Control System ===&lt;br /&gt;
&lt;br /&gt;
The RCS system consists of three modules, one forward at the nose and two at the OMS pods. The forward module contains 14 primary and 2 secondary thrusters, each aft module carries 12 primary and two secondary thrusters. Propellant reserves in each module are 1,477 lb of oxidizer and 928 lb of MMH. Each primary thruster has 870 lb of thrust with an ISP of 289 s, the secondary Vernier thrusters produce a mere 24 lb each with an ISP of 228 s. Due to geometric constraints, the thrusters are not aligned with the main spacecraft axes or in the same plane (for instance, there is no purely downward firing nose thruster, as its nozzle would have to fire through the heat shield). The layout of the whole system is shown below:&lt;br /&gt;
&lt;br /&gt;
[[File:RCS Jet IDs.gif|600px|Space Shuttle RCS layout]]&lt;br /&gt;
&lt;br /&gt;
Not all thrusters point orthogonal, and not all thrusters have the same nominal thrust - the complete list is as follows&lt;br /&gt;
&lt;br /&gt;
[[File:RCS Break Down Table.gif|600px|List of Space Shuttle RCS thrusters and orientation]]&lt;br /&gt;
&lt;br /&gt;
All of these thrusters are faithfully modeled in FG with their actual orientation and nominal thrust values, including the system of Vernier thrusters, equipping the Space Shuttle with a grand total of 51 distinct engines.&lt;br /&gt;
&lt;br /&gt;
=== RCS DAP schemes ===&lt;br /&gt;
&lt;br /&gt;
The real Space Shuttle has a multitude of (partially mission-specific) DAP schemes, each with different gains and deadbands, which control the thruster firing pattern in response to the controllers. A fair selection of these is implemented in FG. In the real Shuttle cockpit, there is both a rotational hand controller (RHC) and a translational hand controller (THC) to initiate either rotations of the shuttle or translational accelerations (e.g. for approach and docking). In FG, {{Key press|m}} corresponds to switching from THC to RHC to OMS control and back, {{Key press|Shift|m}} switches between the different DAPs and {{Key press|Control|m}} is the override switch to aerodynamical controls. The HUD will display the currently selected mode for clarity.&lt;br /&gt;
&lt;br /&gt;
Due to the geometry of the thruster arrangement, there is significant mode mixing. For instance, a lateral translation firing nose and right pod thruster with the same thrust would also induce a yaw motion (since the modules do not have the same distance to the CoG) and a roll (since they are not in the CoG plane and in fact not even in the same plane). In most implemented modes, the FCS logic takes care of most of these effects by firing additional thruster to cancel the unwanted motion, however in some modes this is not easily possible and mode mixing has to be anticipated and accounted for manually. This is in fact the same as in the real Shuttle.&lt;br /&gt;
&lt;br /&gt;
The Shuttle has four different control pushbuttons (implemented in the menu) to control the basic way the orbital DAP works. These are AUTO, INRTL, LVLH and FREE.&lt;br /&gt;
&lt;br /&gt;
If AUTO is selected, the RCS is controlled by the on-board flight software (specifically either the pointing and tracking routines available on the UNIV PTG display or the automatic burn attitude maneuvering routines available on the MNVR display). In this mode, stick control input is not used. Note that if an automatic maneuver program is selected, the controls need to be switched to AUTO prior to the start of the program. If this is not done, a SEL AUTO warning message is created.&lt;br /&gt;
&lt;br /&gt;
In INRTL (inertial), the stick controls roll rates and the Shuttle holds inertial altitude for stick to neutral. The orbiting Shuttle in this mode thus has an apparent slow attitude drift with respect to the horizon. &lt;br /&gt;
&lt;br /&gt;
In contrast, LVLH (local vertical, local horizon) commands an attitude hold with respect to the local horizon, i.e. the Shuttle appears not to change attitude relative to Earth. Again in this scheme, the stick controls rates.&lt;br /&gt;
&lt;br /&gt;
The following DAPs are available for INRTL and LVLH:&lt;br /&gt;
&lt;br /&gt;
; RCS DAP-A&lt;br /&gt;
: A precision 'stick controls rate' scheme in which stick to neutral commands an attitude hold. The mode has fairly strict deadbands and steep gains and hence uses comparatively much propellant to stabilize attitude.&lt;br /&gt;
&lt;br /&gt;
; RCS DAP-B&lt;br /&gt;
: As DAP-A, but more permissive in terms of deadbands, trades less strictly stabilized attitude against reduced propellant consumption.&lt;br /&gt;
&lt;br /&gt;
; RCS DAP-A VERNIER&lt;br /&gt;
: A 'stick controls rate' scheme in which the Vernier thrusters are used to maneuver the Shuttle. The Verniers are not very powerful and moreover fire in an awkward geometry, so there is significant mode mixing into translations when using them and the response of the Shuttle is very slow - the mode should mainly be used for automatic attitude hold as it is very propellant-friendly.&lt;br /&gt;
&lt;br /&gt;
; RCS TRANS ATT HLD&lt;br /&gt;
: A translational DAP in which 'attitude hold' is commanded for all rotation channels. This makes this mode very stable and controllable at the expense of an increased propellant consumption - use e.g. for a precision approach to a docking.&lt;br /&gt;
&lt;br /&gt;
; RCS TRANS LOW-Z ATT HLD&lt;br /&gt;
: No upward-firing thrusters are used in this mode to avoid plume impingement on a satellite or docking target. For this reason, forward and backward firing jets are used simultaneously which are both angled slightly upward. For -Z-translations, this causes a 12 times higher fuel consumption. For weak thrust attitude control works well, for strong thrust the controller is, without using upward-pointing thrusters, unable to completely control the pitching motion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, FREE puts the orbiter into free drift. Stick to neutral then commands all RCS jets off, and stick movements control angular acceleration. The following DAPs are available for this control:&lt;br /&gt;
&lt;br /&gt;
; RCS rotation&lt;br /&gt;
: This is a simple scheme in which the stick motion controls thrust, i.e. angular acceleration. Stick to neutral commands no thrust, i.e. the Shuttle will continue its current rotation.&lt;br /&gt;
&lt;br /&gt;
; RCS ROT TAIL ONLY&lt;br /&gt;
: A 'stick controls thrust' scheme in which the nose module is not used. This causes significant mode mixing.&lt;br /&gt;
&lt;br /&gt;
; RCS ROT NOSE ONLY&lt;br /&gt;
: A 'stick controls thrust' scheme in which the OMS pod modules are not used. This causes significant mode mixing and has very limited roll control (the roll moment only comes from the position difference between left-mounted and right-mounted upward and downward firing thrusters)&lt;br /&gt;
&lt;br /&gt;
; RCS translation&lt;br /&gt;
: A translational DAP in which the stick controls translational thrust along the spacecraft x, y and z axes. Stick to idle commands no thrust, but the Shuttle will of course retain its relative velocity to a fix point until counter-thrust is used. RCS translation can be used for emergency de-orbit burns if the OMS is not available. Limited compensation is done for cross-coupling to rotational modes.&lt;br /&gt;
&lt;br /&gt;
; RCS TRANS LOW-Z&lt;br /&gt;
: To prevent thruster plume impingement on a docking target, say the ISS, in this mode all upward-firing thrusters are inhibited. To provide the deceleration force for a docking (which is needed in -Z direction), foreward and backward firing thrusters are used simultaneously - since they point about 10 degrees upward, this provides a downward acceleration without upward plume at the expense of 12 times higher than normal propellant consumption. There is strong cross-coupling to a pitching motion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following DAPs are available for re-entry (OPS 304):&lt;br /&gt;
&lt;br /&gt;
; RCS ROT ENTRY&lt;br /&gt;
: A 'stick controls rates' DAP designed for entering the atmosphere which enforces a 'no sideslip' attitude in which the nose module is not used. This has very strict deadbands and aggressive gains to combat the yaw instability of the Shuttle upon entry, significant mode mixing and is very propellant-consuming. Do not use in orbit and only activate at the entry interface once the shuttle has the correct attitude! During entry, the DAP will gradually transfer control to the 'Aerodynamical' DAP - at qbar of 10 lb/sqft the roll axis, at 40 lb/sqft the pitch axis and at around Mach 3.5 the yaw axis.&lt;br /&gt;
&lt;br /&gt;
; Aerojet&lt;br /&gt;
: The Aerojet DAP is close to the real entry DAP used by the Shuttle. Its RCS part works similar to RCS ROT ENTRY, but control is not transferred to to the Aerodynamical DAP but to the atmosphere part of Aerojet (see below) which employs the same rate control routines as the RCS part. The scheme also supports an automatic AoA control scheme in which the pilot only has to manage the roll axis during entry, which makes this the most easy to fly DAP for entry and atmospheric flight.&lt;br /&gt;
&lt;br /&gt;
For precision control, the keyboard is a more suitable input device than a joystick or a mouse since exact nulling of rates is somewhat easier with keystrokes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Orbital DAP configuration ====&lt;br /&gt;
&lt;br /&gt;
As of November 2015, the Shuttle's orbital DAPs are configurable using the SPEC 20 utility. This allows to set characteristics such as the roll rates achieved for a given controller movement, deadbands for attitude and rate holding as well as to switch the nose / aft RCS pods selectively off to conserve propellant.&lt;br /&gt;
&lt;br /&gt;
[[File:Dap_config_spec_20.jpg|600px|thumb|none|DAP utility display of the Space Shuttle]]&lt;br /&gt;
&lt;br /&gt;
Note that the DAP characteristics configuration allows to specify unstable or ineffective use of the RCS, thus changes should be entered with care.&lt;br /&gt;
&lt;br /&gt;
==== Key mapping for RCS rotation DAP ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;keytable&amp;quot;&lt;br /&gt;
! Key&lt;br /&gt;
! Function&lt;br /&gt;
|-&lt;br /&gt;
|{{Key press|4}} &lt;br /&gt;
|Roll left&lt;br /&gt;
|-&lt;br /&gt;
|{{Key press|6}} &lt;br /&gt;
|Roll right&lt;br /&gt;
|-&lt;br /&gt;
|{{Key press|2}} &lt;br /&gt;
|Pitch up&lt;br /&gt;
|-&lt;br /&gt;
|{{Key press|8}} &lt;br /&gt;
|Pitch down&lt;br /&gt;
|-&lt;br /&gt;
|{{Key press|[}} &lt;br /&gt;
|Yaw left&lt;br /&gt;
|-&lt;br /&gt;
|{{Key press|]}} &lt;br /&gt;
|Yaw right&lt;br /&gt;
|-&lt;br /&gt;
|{{Key press|5}} &lt;br /&gt;
|Cut thrust&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Key mapping for RCS translation DAP ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;keytable&amp;quot;&lt;br /&gt;
! Key&lt;br /&gt;
! Function&lt;br /&gt;
|-&lt;br /&gt;
|{{Key press|4}} &lt;br /&gt;
|Left&lt;br /&gt;
|-&lt;br /&gt;
|{{Key press|6}} &lt;br /&gt;
|Right&lt;br /&gt;
|-&lt;br /&gt;
|{{Key press|2}} &lt;br /&gt;
|Down&lt;br /&gt;
|-&lt;br /&gt;
|{{Key press|8}} &lt;br /&gt;
|Up&lt;br /&gt;
|-&lt;br /&gt;
|{{Key press|[}} &lt;br /&gt;
|Backward&lt;br /&gt;
|-&lt;br /&gt;
|{{Key press|]}} &lt;br /&gt;
|Forward&lt;br /&gt;
|-&lt;br /&gt;
|{{Key press|5}} &lt;br /&gt;
|Cut thrust&lt;br /&gt;
|}&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Spacewalk ===&lt;br /&gt;
&lt;br /&gt;
The Shuttle version as of May 2015 contains a 'proof of concept' spacewalk view designated 'EVA'. This is intended to simulate the view of an astronaut using a MMU. In the EVA view, use  {{Key press|Shift|E}} to initiate spacewalk. The stick then controls the MMU thrusters and {{Key press|m}} is used to switch between the translational and rotational modes of the MMU.&lt;br /&gt;
&lt;br /&gt;
Before spacewalk is initiated, the yaw, pitch and roll rates of the Shuttle need to be nulled (since control inputs during spacewalk refer to the MMU, the Shuttle also can't be controlled from this view). &lt;br /&gt;
&lt;br /&gt;
Once outside, the MMU can be used to float around the Shuttle, or to inspect co-orbiting objects. However, note that it is impossible to leave the EVA view unless the astronaut maneuvers back to the airlock. Currently it is not possible to see spacewalk from outside, nor can the view direction be adjusted - in a future implementation, spacewalk will be improved using the FG walker functionality.&lt;br /&gt;
&lt;br /&gt;
== Aerodynamics of the Space Shuttle Orbiter ==&lt;br /&gt;
&lt;br /&gt;
The conditions encountered by the Space Shuttle span a wide range from a thin, rarefied atmosphere at Mach 27 to a sea level atmosphere flown at about Mach 0.6. Over this range of conditions, the handling characteristics change quite dramatically.&lt;br /&gt;
&lt;br /&gt;
Somewhat simplified, one can divide the atmospheric entry in three phases - an initial near-ballistic entry phase in which airfoils are essentially useless, an aerodynamical entry phase in which the Shuttle is controlled by airfoils and aerodynamical forces are very noticeable on the trajectory, but in which the flight dynamics is completely different from that of an airplane and the final approach and landing phase during which the Shuttle is flown like an aircraft.&lt;br /&gt;
&lt;br /&gt;
[[File:Shuttle-landing04.jpg|800px|thumbnail|none|Early near-ballistic entry phase]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Glowing red 2.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During these phases, control is passed from RCS jets to the airfoils - the inboard and outboard elevons at the trailing wing edges and the rudder/speedbrake at the tail stabilizer fin. The elevons can be deflected from -40 to 25 degrees, the rudder from -25 to +25 degrees. At a qbar of 10 lb/sqf roll control is taken over by the airfoils, at 40 lb/sqf pitch control is managed by airfoils and below Mach 3.5 finally yaw control is transferred, at which point the airplane-like phase of the entry starts. In addition to the primary airfoils, the Shuttle is equipped with a body flap which can be used to adjust trim.&lt;br /&gt;
&lt;br /&gt;
During the first two phases, the Shuttle is flown with a high AoA (initially 40 degrees) to create a detatched bow shockwave which keeps the heat of atmospheric entry away from the fuselage. The characteristic hallmark of this attitude is that the stabilizer fin is shadowed by the wings - this renders the rudder ineffective above Mach 6 and makes the Shuttle yaw unstable against sideslip above Mach 2, i.e. any sideslip must be very accurately controlled by the FCS during entry or the Shuttle will tumble uncontrolled. This can not be done by the rudder, thus yaw jets remain crucial for controlling the Shuttle down to Mach 3.5.&lt;br /&gt;
&lt;br /&gt;
Another effect is that the elevons deflected upward are in the lee of the wings, significantly reducing their effectivity as compared to downward deflections. However, in the entry regime, operating the elevons upward is more advantageous due to heating constraints.&lt;br /&gt;
&lt;br /&gt;
=== Lift / Drag ===&lt;br /&gt;
&lt;br /&gt;
Despite being designed for a gliding approach and landing, the Shuttle is not actually a very good glider - even close to approach, the glide ratio (i.e. L/D) reaches about 4.5, much less than most normal planes would have.&lt;br /&gt;
&lt;br /&gt;
[[File:L-D-mach.gif|‎500px|thumbnail|none|Lift to drag as a function of AoA for different Mach numbers]]&lt;br /&gt;
&lt;br /&gt;
The maximum of L/D varies somewhat with Mach number, however for hypersonic flight thermal constraints force a high AoA and aerodynamical efficiency is a secondary concern.  Only in the supersonic to subsonic phase is the Shuttle flown close to its optimum glide ratio.&lt;br /&gt;
&lt;br /&gt;
Due to the Delta-wing design, L/D has no pronounced stall even at high AoA in any region. However, the need to have sufficient lift despite the relatively poor aerodynamics forces a high touchdown speed of about 200 kt.&lt;br /&gt;
&lt;br /&gt;
=== Longitudinal Dynamics ===&lt;br /&gt;
&lt;br /&gt;
In the near-ballistic entry phase, pitch is controlled by an attitude-hold mode of the RCS, however elevons are automatically trimmed by the FCS to negative (upward) deflections to take some of the load early on to conserve propellant.&lt;br /&gt;
&lt;br /&gt;
The pitching moment induced by the control surface varies dramatically as function of Mach number.&lt;br /&gt;
&lt;br /&gt;
[[File:Control response.gif|500px|thumbnail|none|Pitching CM moment]]&lt;br /&gt;
&lt;br /&gt;
As seen from the figure, at high Mach numbers the response is fairly flat (i.e. large elevon deflections are needed to control the Shuttle) and also non-linear (upward deflections cause much less pitching moment than downward deflection). In contrast, at low Mach numbers small elevon deflections already cause large moments and the response is almost linear. In all regimes, the pitching moment is normal force (i.e. AoA) dependent.&lt;br /&gt;
&lt;br /&gt;
Since the elevons supply both pitching and roll control, at high hypersonic Mach numbers roll controls are close to being saturated with elevons deflected near full up. To open up better roll control, below Mach 10 the speedbrake is opened to provide a pitching moment relieving the elevons, and the Shuttle's body flap can also be trimmed upward.&lt;br /&gt;
&lt;br /&gt;
=== Lateral stability ===&lt;br /&gt;
&lt;br /&gt;
As mentioned above, during most of the entry phase, the Space Shuttle has no rudder action and the yawing moment as a function of sideslip angle beta is negative, indicating instability. This means that the FCS has to manage yaw stability by commanding yaw thrusters to maintain near zero beta, which is increasingly more challenging as the Shuttle penetrates deeper into the atmosphere and aerodynamical forces grow while thrust is reduced as compared to nominal vacuum values. This implies that a sizable amount of RCS propellant (about 1/3 of the capacity to be on the safe side) needs to be available before atmospheric entry.&lt;br /&gt;
&lt;br /&gt;
Below approximately Mach 6, the rudder starts to contribute to yaw stability and from Mach 3.5 down to Mach 2 where the yawing moment finally becomes positive only the rudder is used. The roll behavior of the orbiter before any FCS is somewhat skittish as the roll moment as a function of roll rate is not a large damping term over most of the Mach range. The FCS of the Shuttle in FG therefore does not place yaw and roll axis directly under pilot control. The rudder is always commanded to minimize beta and no pilot input for the rudder should be needed or used unless sideslip is explicitly desired. The elevons are commanded to provide a simple roll damper to make control smoother.&lt;br /&gt;
&lt;br /&gt;
The real Shuttle has in addition a '''NO Y JET''' mode to stabilize the orbiter during entry in which the elevons are used to control yaw. This leads to significantly reduced roll control since roll then needs to be driven by adverse yaw till the rudder picks up sufficient airflow. This mode has been implemented since dev version of july 2017.&lt;br /&gt;
&lt;br /&gt;
=== A note on thruster efficiency in the atmosphere ===&lt;br /&gt;
&lt;br /&gt;
Thrusters used in the hypersonic rarefied airflow of the upper atmosphere do not only cause the yaw, pitch and roll moment by the thrust acting at a certain distance to the CoG, but also are subject to plume impingement on the orbiter fuselage and interactions with the air flow field.&lt;br /&gt;
&lt;br /&gt;
While impingement generically degrades the effectivity, the interaction moment can somewhat counter-intuitively act both directions. In particular the yaw moment is increased by the airflow, helping to stabilize the Shuttle.&lt;br /&gt;
&lt;br /&gt;
As of May 2015, none of these effects is modeled in Flightgear.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Control cross couplings ===&lt;br /&gt;
&lt;br /&gt;
The Shuttle has significant cross couplings between the elevon deflection in pitch and roll mode and the rudder as a function of Mach number, all of which are faithfully modeled in FG. One of the main effects is that upward elevon deflection alters the airflow at the aft fuselage, creating additional suction effects which alter aerodynamical forces.&lt;br /&gt;
&lt;br /&gt;
In particular, at supersonic speeds yaw stability is somewhat improved at high upward elevon deflection while the effect reverses at subsonic speeds. At the same time, roll control is significantly reduced at full elevon deflection, with the effect being more pronounced at low than at high Mach numbers.&lt;br /&gt;
&lt;br /&gt;
Control surface effectiveness in general drops with increasing Mach number, however the speed at which this happens is different for elevons and rudder.&lt;br /&gt;
&lt;br /&gt;
=== Aerodynamical DAP schemes ===&lt;br /&gt;
&lt;br /&gt;
There are two different control schemes available for the aerodynamical part of the Shuttle's flight - one of them based on the real Shuttle DAP, the other educational.&lt;br /&gt;
&lt;br /&gt;
; Aerojet&lt;br /&gt;
: The Aerojet DAP is closest to what the real Shuttle uses. It is a scheme in which the stick commands pitch and roll rates and stick in neutral position commands attitude hold. Above Mach 3.5, in addition an automatic pitch control mode can be activated which maintains the scheduled safe entry AoA. Flying the Shuttle is very easy in this mode - there is no operational need to use trim or rudder and response to control input is crisp and precise. During entry, Aerojet can manage even agressive roll reversals inside the stable region.&lt;br /&gt;
&lt;br /&gt;
; Aerodynamical&lt;br /&gt;
: This is an educational mode in which the Shuttle is flown similar to an airplane, i.e. the stick basically controls the airfoil positions, and in order to achieve level flight with stick neutral, trim has to be used. Since the Shuttle is yaw-unstable at high Mach numbers, this mode still has automatic stability augmentation, i.e. rudder and ailerons are commanded automatically to minimize sideslip. Entry can be flown with this mode starting in-orbit with '''RCS ROT ENTRY''' and illustrates the amount of work the rate controller has to do as well as gives a hands-on feeling for hypersonic aerodynamics. This however is somewhat challenging and it is possible to maneuver the Shuttle outside its stability envelope using too agressive maneuvers. Once below Mach 5, the Shuttle responds well and stable to direct aerodynamical control.&lt;br /&gt;
&lt;br /&gt;
=== Entry and touchdown structural and aerodynamical limits ===&lt;br /&gt;
&lt;br /&gt;
The following structural and aerodynamical limits need to be observed during entry and landing:&lt;br /&gt;
&lt;br /&gt;
* Dynamical pressure qbar &amp;lt; 375 lb/sqf (modeled)&lt;br /&gt;
&lt;br /&gt;
This is a structural limit for the orbiter and the airfoils, beyond this the actuators can no longer move the airfoils, leading to a loss of control. In nominal operations the orbiter should be kept below 250 lb/sqf.&lt;br /&gt;
&lt;br /&gt;
* Peak temperature &amp;lt; 2900 F (modeled)&lt;br /&gt;
&lt;br /&gt;
This is the approximate limit  beyond which the thermal protection system fails, with subsequent structural failure of the overheated airframe and loss of the orbiter. &lt;br /&gt;
&lt;br /&gt;
* gear extension speed &amp;lt; 312 KEAS (modeled)&lt;br /&gt;
&lt;br /&gt;
Structural limit of the gear against aerodynamical forces.&lt;br /&gt;
&lt;br /&gt;
* vertical speed upon touchdown &amp;lt; 9 ft/sec (modeled)&lt;br /&gt;
&lt;br /&gt;
This is the structural limit of the main gear struts, and their destruction is fully modeled in 'realistic' mode.&lt;br /&gt;
&lt;br /&gt;
* airspeed upon drag chute deployment &amp;lt; 230 kt (modeled)&lt;br /&gt;
&lt;br /&gt;
The drag chute has a safety pin which disconnects the chute if the airspeed is higher than the stability limit. This is fully modeled.&lt;br /&gt;
&lt;br /&gt;
* roll speed of tires &amp;lt; 230 kt (not modeled)&lt;br /&gt;
&lt;br /&gt;
This is the certified maximal speed at which the tires don't blow. &lt;br /&gt;
&lt;br /&gt;
* derotation speed &amp;lt; 2 deg/s (modeled)&lt;br /&gt;
&lt;br /&gt;
This is the structural limit for the nose gear strut, and nose gear breakage is fully modeled.&lt;br /&gt;
&lt;br /&gt;
* AoA &amp;lt; 15 deg on touchdown (modeled)&lt;br /&gt;
&lt;br /&gt;
Beyond this angle, the body flap and tail structure of the orbiter touch the ground before the main gear does.&lt;br /&gt;
&lt;br /&gt;
[[File:Fin.jpg|800px|thumbnail|none|Touchdown and drag chute deployed]]&lt;br /&gt;
&lt;br /&gt;
== Systems ==&lt;br /&gt;
&lt;br /&gt;
Most of the Shuttle's systems are designed around the philosophy that failure of any one component should allow the mission to continue and failure of two components should still allow a safe return to Earth. As a result, most systems exist triple, and the loss of one subsystem is not normally felt when operating the Shuttle, only a loss of two subsystems requires to take special action and compromises the maneuverability of the vehicle.&lt;br /&gt;
&lt;br /&gt;
In the real Shuttle, many system switches have a 'GPC' (general purpose computer) setting in which the computer controls a system automatically and an 'on' setting in which the system is manually controlled. In FG, the system control is a bit simplified as no GPC or mission control is simulated and not all existing sensor readings are simulated which would be necessary for manual control. Often 'GPC' and 'on' are merged into one setting for which, dependent on system, either the user has to always control a system manually or a control routine is activated and no manual control is possible.&lt;br /&gt;
&lt;br /&gt;
=== Electric Power Generation ===&lt;br /&gt;
&lt;br /&gt;
Electricity aboard the Shuttle is generated by three fuel cells (FCs) which produce electricity utilizing the reaction of cryogenic hydrogen and oxygen into water (which is then used in the environment system). Each fuel cell can supply about 12 kW of power, which means plenty of redundancy given the normal power consumption of the orbiter is about 14 kW.&lt;br /&gt;
&lt;br /&gt;
The fuel cells normally circulate hydrogen and oxygen in a closed loop to avoid losses, however they have to be periodically purged (reaction products vented into space) to avoid their effectivity to decrease by contamination.&lt;br /&gt;
&lt;br /&gt;
As of June 2015, the power generation as well as the coarse power balance of the orbiter is modeled (i.e. switching components on which use electricity will have to be supplied by the running FCs), however not all the details of the electrical distribution system or the reactant feed lines are done. In normal operation, the electrical power system should require very little crew intervention.&lt;br /&gt;
&lt;br /&gt;
=== Auxiliary Power Unit and Hydraulics System ===&lt;br /&gt;
&lt;br /&gt;
Thrust vector control of the SSMEs during ascent, movement of the various aerosurfaces, deployment of the landing gear and brakes/nose wheel steering all rely on hydraulic pressure to operate.&lt;br /&gt;
&lt;br /&gt;
The Space Shuttle is equipped with three independent hydraulics systems, each of them powered by an Auxiliary Power Unit (APU), a turbine utilizing hydrazine as propellant. Under normal load conditions, each APU utilized about 3 - 3.5 lb of propellant per minute. With a hydrazine load of 332 lb, this means the system can be operated for about 90 minutes under nominal conditions or be run in a power-saving mode for 110 minutes during an once around abort. This means that the APUs have to be switched off when not used - they are powered down as part of the post-MECO operations and powered up as part of the atmospheric entry preparations.&lt;br /&gt;
&lt;br /&gt;
As compared to the rest of the Shuttle's systems, the APU turbines with with 180 kW power each generate a lot of waste heat which ends up warming the hydraulic fluid and the lube oil. The APUs are operated at a temperature of over 390 K (250 F) though, so for an APU cold start it takes a bit more than 10 minutes to reach that temperature. Afterwards, the water spray boiler systems have to be used to cool hydraulic fluid and lube oil - they are supplied by three water tanks containing 142 lb of water each and can spray up to 10 lb / minute for cooling purpose. Overheating APUs can not be run for more than 2-3 minutes before they fail.&lt;br /&gt;
&lt;br /&gt;
When not in use, electrically powered hydraulic circulation pumps keep the hydraulic fluid moving such as to equalize temperatures in the components. &lt;br /&gt;
&lt;br /&gt;
In case of a hydraulic failure, Priority Rate Limiting (PRL) for the airfoils is used to allocate the remaining power as efficiently as possible. Usually the elevons move with 20 deg/s and the rudder with 14 deg/s, however in the case of multiple hydraulic failures, these numbers are reduced to 13.9 deg/s for elevons and 7 deg/s for the rudder. The orbiter is still fully controllable in this case, but not as responsive to agressive maneuvers.&lt;br /&gt;
&lt;br /&gt;
As of June 2015, the APU and hydraulic system is modeled with a fair amount of detail and operated from a dedicated menu. APUs need to be started as part of the pre-launch checklist - refer to Help/Aircraft Checklists for the detailed procedure. '''If the hydraulic system is not available during ascent, this will result in loss of the vehicle after SRB separation as there is no control over the Shuttle if the SSMEs can not be gimbaled.''' Also PRL for all airfoils is fully supported.&lt;br /&gt;
&lt;br /&gt;
Operation of the water spray boilers is realistically integrated into the heat transfer model of the Shuttle (see below), including the failure of overheating APUs.&lt;br /&gt;
&lt;br /&gt;
=== Active Thermal Control System ===&lt;br /&gt;
&lt;br /&gt;
In orbit, the Shuttle's systems use on average about 14 kW of power, which eventually ends up heating the interior of the pressure vessel. Active cooling systems carry the heat load away and radiate it into space. A water coolant loop system takes care of the avionics bays and the cabin and exchanges heat with a two loop freon coolant system which also cools systems elsewhere in the Shuttle. The freon is circulated through the radiator panels located on the inside of the payload bay doors and dumps a maximum of about 18.000 W of heat into space.&lt;br /&gt;
&lt;br /&gt;
If the payload bay doors are closed (such as during ascent or entry), the freon loop can be cooled by flash evaporators which utilize quickly evaporating water sprayed on the freon tubes as coolant. To provide the cooling performance of the radiator, this system uses about 66 lb of water per hour, i.e. can only be a temporary measure as the water storage aboard would be quickly depleted otherwise.&lt;br /&gt;
&lt;br /&gt;
The heat balance in space is also influenced by the orientation of the Shuttle relative to the Sun and Earth - sunward facing surfaces tend to heat up to 350 K whereas shaded surfaces may cool down to 150 K. To ensure ice-free thruster and other exhausts, electrical heating elements may therefore be needed.&lt;br /&gt;
&lt;br /&gt;
Orbiter heat management often combines cooling systems and attitude - for instance placing the OV into a tail to Sun inertial attitude minimizes incident heat and allows to cool the freon down so that it can act as a heat sink for about 15 minutes even without the radiator deployed, a technique known as 'cold soak'. Similarly, orienting the payload bay towards Earth ensures that even during the night, temperatures don't drop too much so that EVA work is possible. Temperatures can be equalized across the Shuttle by slowly rotating the spacecraft.&lt;br /&gt;
&lt;br /&gt;
As of June 2015, the FG Shuttle includes a fairly sophisticated simulation of the heat balance, including incident heat flux from Sun and Earth dependent on surface normal and albedo, internally generated heat in the avionics bays, heat transport via conduction and via the cooling loops, radiated heat from the surfaces the action of the flash evaporators and the radiator. Most real heat-management techniques, including cold soak and slow rotations, are fully supported.&lt;br /&gt;
&lt;br /&gt;
[[File:Shuttle coldsoak.jpg|600px|thumbnail|none|Cold-soaking the Shuttle's freon loops in preparation for de-orbit.]]&lt;br /&gt;
&lt;br /&gt;
Thermal inertia of the Orbiter is generically high - temperatures adjust at timescales of hours rather than minutes to their equilibrium values. For educational purposes, it is possible to choose simulation options which speed up the approach to thermal equilibrium by a factor or 10 or 100 respectively - this will result in an almost immediate response of the temperature distribution to e.g. changes in attitude. These options should be used with care.&lt;br /&gt;
&lt;br /&gt;
=== Main Propulsion System ===&lt;br /&gt;
&lt;br /&gt;
Under the name Main Propulsion System (MPS), the various subsystems operating the SSMEs are summarized. This includes the SSME controllers (two per engine for redundancy), the propellant feeding system supplying liquid hydrogen and oxygen to the engines and the various hydraulically operated valves, a helium system to supply purge gas flows and emergency hydraulics power and finally the engines themselves.&lt;br /&gt;
&lt;br /&gt;
The SSME's feed high-pressure propellants into the combustion chamber. Power for the turbo pumps is provided by partial pre-combustion of the propellant, and ullage pressure in the external tank is maintained by branching off a small fraction of vaporized propellant back into the tank. The precise opening of the propellant feeding valves which throttles the engines is governed by the controllers which in turn receive throttle commands from the Shuttle's guidance computers. &lt;br /&gt;
&lt;br /&gt;
For the most part, the MPS settings are controlled on the ground prior to launch and not changed during ascent, however after MECO there are about 5,200 lb of propellant trapped in the feeding manifolds which need to be dumped. During this propellant dump, high-pressure helium is used to vent liquid oxygen through the thruster exhausts while hydrogen is allowed to boil off through the fill/drain valves.&lt;br /&gt;
&lt;br /&gt;
In case of a hydraulic failure, the SSMEs can neither be gimbaled nor can their valves be changed. Each of the three hydraulic systems operated the valves of one engine, and each engine gimbal is supported by two hydraulic systems (i.e. it takes two failures to disable gimbal on one engine, but each hydraulic failure will disable valves on one engine).&lt;br /&gt;
&lt;br /&gt;
If the valve settings can no longer be changed, the engine can still continue to run, but it can't be throttled any more, a condition known as 'hydraulic lockup'. It is still possible to shut down such an engine using pressure from the helium system though. Similarly, if sensors monitoring combustion chamber conditions or the command path from guidance computer to engine controllers fail, the engine is in a condition called 'electric lockup' - the controller will continue to operate it with the last known settings. Locked-up engines usually need to be shut down manually using the cutoff switches about 30 seconds prior to nominal MECO.&lt;br /&gt;
&lt;br /&gt;
As of June 2015, the MPS is modeled in a good amount of detail, including most of the relevant valve settings, hydraulic and electric lockup, power failures on the engine controllers and the propellant dump sequence. The in-sim checklists provide instructions on how to execute the propellant dump and how to safe the engines for orbital operations.&lt;br /&gt;
&lt;br /&gt;
=== Mechanical Systems ===&lt;br /&gt;
&lt;br /&gt;
The Shuttle uses electromechanical actuators to move components which do not require hydraulic power. This includes the ET umbilical doors and the payload bay door. Each actuator contains two separate motors for redundancy, and transition time for any motion doubles if a motor is non-functional. The movement of these components is not time-critical, and hence usually slow - the complete payload bay door opening sequence takes about four minutes at normal speed to execute, twice that for actuator failures.&lt;br /&gt;
&lt;br /&gt;
The ET umbilical doors are open at launch to allow the oxidizer and fuel feedlines to enter the orbiter, and they need to be closed after reaching orbit for the thermal protection during entry to be efficient. The payload bay doors are closed during ascent and entry and only opened in orbit. This is crucial, as the freon cooling loop radiators are located on the inside of the payload bay doors, i.e. the Shuttle can not remain indefinitely in orbit without opening the payload bay.&lt;br /&gt;
&lt;br /&gt;
Opening or closing mechanical components usually involves unlatching, moving and possibly re-latching the components. &lt;br /&gt;
&lt;br /&gt;
As of June 2015, the normal operation of ET umbilical door and payload bay door is implemented, but no actuator failures. The sequences can be driven from the GUI in automatic mode, but there is in principle support to drive them in manual mode as well as described in the Shuttle Crew Operations Manual. &lt;br /&gt;
&lt;br /&gt;
Note that there's cross talk between mechanical systems and thermal modeling - tension building in the Shuttle due to uneven heating of the left and right fuselage can prevent the payload bay doors from opening or closing for instance.&lt;br /&gt;
&lt;br /&gt;
== Guidance systems ==&lt;br /&gt;
&lt;br /&gt;
=== Automated flight ===&lt;br /&gt;
&lt;br /&gt;
Automated flight is available for all nominal mission phases except for the final approach and touchdown (for which in reality no AP is available either) as well as all single engine loss intact ascent aborts and all two engine out contingency aborts ending in either emergency landing or crew bailout.&lt;br /&gt;
&lt;br /&gt;
Unlike an airplane which is usually in or close to a steady-state equilibrium (level flight at cruise altitude) when under AP control, this is almost never the case for the Shuttle. Thus, the AP requires a context to work properly - whether a current state vector is good or bad depends on what one wants to achieve. Usually this context is a guidance target (i.e. a desired orbit, a landing site, an abort MECO condition,...) and if no such target is provided, the AP will not engage.&lt;br /&gt;
&lt;br /&gt;
If there is a valid guidance target, the PFD will display error needles even if the AP is disengaged which reflect what the AP would try to do in the current situation which can be used for manual piloting. The AP can be used separately in the pitch and yaw/roll axis and independently for throttle/speedbrake control.&lt;br /&gt;
&lt;br /&gt;
Once disengaged, it is as a rule not wise to re-engage the AP if the Shuttle has deviated too much from the intended state. Many AP stages are based on closed loop guidance and will try to steer back to the desired solution, however this may not be possible.&lt;br /&gt;
&lt;br /&gt;
Also, automated flight does not mean the pilot can lean back and the Shuttle will handle all aborts on its own - some AP modes specifically need to be engaged or augmented by DPS options to properly work - see the Crew Operations Manual for detailed instructions. In particular, if in an emergency the wrong AP mode is engaged, the Shuttle may try to solve a kinematically impossible maneuver which usually results in loss of control.&lt;br /&gt;
&lt;br /&gt;
Finally, do not expect miracles from the AP. It will usually save the orbiter even after the loss of two engines, but it may not always on its own find a viable solution to a landing site in an abort scenario. In general, automated flight is much better at manging the instantaneous state (holding an alpha schedule, aiming at a waypoint) than at longer-term planning (managing gliding range after an abort,...).&lt;br /&gt;
&lt;br /&gt;
Different from the powered and gliding phase, the orbital DAP contains automatic routines for attitude management - pointing the Shuttle, tracking a location or a celestial object or automated OMS burn maneuvers.&lt;br /&gt;
&lt;br /&gt;
Operating the Shuttle AP properly is very different from operating airplane APs and requires a profound knowledge of OPS sequences and major mode transitions as well as strict adherence to the published procedures.&lt;br /&gt;
&lt;br /&gt;
=== Ascent guidance Powered Explicit Guidance (PEG) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Full explanations about the Ascent guidance might be found there: [[Shuttle guidance - Ascent guidance Powered Explicit Guidance (PEG)]]}}&lt;br /&gt;
&lt;br /&gt;
The purpose of this section is to present and discuss about the second stage ascent guidance (post SRB sep) for Nominal Orbital Insertion, and some Intact Aborts (TAL / AOA / ATO).&lt;br /&gt;
The guidance is based on the real closed loop used in the Shuttle, known as Power Explicit Guidance https://www.orbiterwiki.org/wiki/Powered_Explicit_Guidance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Documentations'''&lt;br /&gt;
&lt;br /&gt;
*A very detailled and complete topic about the guidance by Noiredd who implemented it in Matlab and KSP: https://github.com/Noiredd/PEGAS-MATLAB/blob/master/docs/upfg.md&lt;br /&gt;
*A deeper document with nice schematic drawings: Ascent Guidance Navigation and Control Shuttle Workbook (page 111) https://www.google.com/search?client=firefox-b-d&amp;amp;q=ascent+guidance+workbook+shuttle&lt;br /&gt;
*Original formulation of the Unified Power Explicit Guidance with equations and algorithms:    ''ntrs.nasa.gov/citations/19740004402''&lt;br /&gt;
*A paper about enhancements made over the years to the original ascent guidance:   ''ntrs.nasa.gov/citations/20180002035''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Overview'''&lt;br /&gt;
&lt;br /&gt;
Second stage guidance functions very differently from first stage guidance in that second stage guidance is closed loop.  Second stage guidance computes the control variables (essentially commanded attitude and attitude rates) and burn time to go (TGO) in such a way that the vehicle flies from the current state to the prescribed target conditions (altitude, velocity, flight path angle, and orbit plane) within trajectory constraints.  It solves this two point boundary value problem each cycle (every 1.92 seconds).  One limitation of second stage guidance is that it doesn't calculate if there is enough propellant to reach the desired MECO conditions.&lt;br /&gt;
[[File:PEG Meco target.webp|400px|thumbnail|none]] &lt;br /&gt;
&lt;br /&gt;
The powered explicit guidance (PEG) scheme used by second stage guidance nominally operates in two phases.  The first phase computes throttle and attitude commands based on three SSMEs and a constant thrust requirement until an acceleration of 3g is reached.  At that time, the second phase, which uses variable throttle to maintain a constant acceleration, is entered.  If an engine failure is detected, a third phase of PEG, which computes the necessary guidance commands using constant thrust to aim for the desired targets using two SSMEs, is entered (assuming no RTLS or TAL abort). &lt;br /&gt;
&lt;br /&gt;
During current shuttle operations, only two phases of PEG are used, constant thrust through 3g and then variable thrust through main engine cutoff (MECO).  STS-1 and STS-26, in order to prevent or reduce abort gaps, flew higher than normal trajectories, called lofted or abort shaped.  This method required the third PEG phase, which ran from SRB sep to T_FAIL (I-loaded MET) and achieved lofting by assuming that an engine would fail causing loss of performance at the time T_FAIL.  When T_FAIL occurred, PEG stopped assuming that an engine would fail.  A drawback with this method was discovered later, however.  The lofted trajectories caused “black zones,” or regions where an unsurvivable entry/pullout condition would be created if two engines actually did fail (CA).  For this reason and the fact that abort shaping costs thousands of pounds of nominal ascent performance (payload), the I-load, T_FAIL is now set to zero, and lofted trajectories are not currently planned. &lt;br /&gt;
[[File:PEG step.webp|600px|thumbnail|none]] &lt;br /&gt;
&lt;br /&gt;
Second stage guidance performs yaw steering to achieve the desired orbit plane.  The desired orbit plane is defined by the unitized negative angular momentum vector (I-loads), commonly referred to as the '''IY vector'''.  The x and y components of the IY vector define the nodal crossing, while the z component defines the inclination.  For missions which do not involve rendezvous with a vehicle already in orbit (referred to as the “target”), the IYs are defined during the flight design process approximately 6 months prior to launch.  These missions employ “earth fixed” yaw steering since the trajectory relative to the earth remains the same regardless of launch time.  In order to successfully launch into orbit and rendezvous with another vehicle already in space, the orbiter must end up in the same orbital plane and altitude as the other vehicle.&lt;br /&gt;
[[File:PEG insertion.webp|600px|thumbnail|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Forty seconds prior to MECO, guidance no longer seeks to achieve the altitude and orbital plane position targets.  Common terminology is, “at MECO minus 40 seconds, the position constraints are released.”  Without this constraint release, when TGO becomes small, a small change in position error would produce large changes in the thrust turning rate vector and over controlling would result.  Note also that the cutoff time (TGO) calculation includes the predicted velocity change from the time minimum throttle is commanded to burnout.  This corresponds to the predicted tailoff impulse from each active SSME and is known as fine count.  Fine count occurs 10 seconds prior to MECO for nominal ascent, ATO, and TAL and 6 seconds prior to powered pitchdown for RTLS.  It is at fine count where second stage, closed loop guidance is terminated and the SSMEs are commanded to a lower power level, usually 67% for three engines running or 91% for one or two engines running (note that the SSMEs aren't throttled back until powered pitchdown during an RTLS). Thereafter, the flight path angle constraint is released, such that TGO is computed solely on the desired velocity change (VGO).  When guidance sees the shuttle at the correct inertial velocity (VI), all SSMEs are commanded to shut down.&lt;br /&gt;
&lt;br /&gt;
=== Entry guidance algorithm ===&lt;br /&gt;
&lt;br /&gt;
{{note|Full explanations about Entry shuttle guidance might be found there: [[Shuttle guidance - Entry guidance algorithm]]}}&lt;br /&gt;
&lt;br /&gt;
A topic speaking about the entry guidance algorithm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Documentations'''&lt;br /&gt;
 &lt;br /&gt;
I didnt use hyperlinks to avoid  NASA ntrs server spam from forum robots&lt;br /&gt;
&lt;br /&gt;
*A quick overview of the Descent guidance from the Space Shuttle Technical Conference: ''ntrs.nasa.gov/citations/19850008593''&lt;br /&gt;
*A deeper look into the Entry equations formalism with that paper that you might find  under: ''Shuttle Entry Guidance JSC-14694 ''&lt;br /&gt;
*Entry guidance formulation requirements (code): ''ntrs.nasa.gov/citations/19800016873''&lt;br /&gt;
&lt;br /&gt;
All the documentations linked in the Entry/TAEM rework are even more useful now, as almost all the parts of Entry guidance are simulated and displayed parameters fed with consistent datas.&lt;br /&gt;
https://forum.flightgear.org/viewtopic.php?f=87&amp;amp;t=38777&lt;br /&gt;
&lt;br /&gt;
=== TAEM/Approach guidance algorithm ===&lt;br /&gt;
&lt;br /&gt;
{{note|Full explanations about TAEM and Approach/Autoland guidance might be found there: [[Shuttle guidance - TAEM/Approach and Autoland guidance]]}}&lt;br /&gt;
&lt;br /&gt;
This section speaks about TAEM and Autoland guidance.&lt;br /&gt;
&lt;br /&gt;
'''Documentations'''&lt;br /&gt;
&lt;br /&gt;
*Space Shuttle TAEM guidance code sum up: [https://ntrs.nasa.gov/citations/19920010688]&lt;br /&gt;
*TAEM/Approach Handbooks there: [https://forum.flightgear.org/viewtopic.php?f=87&amp;amp;t=38777]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Overview'''&lt;br /&gt;
&lt;br /&gt;
The last link mentionned above is pretty interesting to see the evolution of TAEM guidance and how it was handled.&lt;br /&gt;
The main document I used include the Optional TAEM Targeting (OTT) logic that has been used since STS-5 (before the HAC was a circle with less Energy options for test flights).&lt;br /&gt;
&lt;br /&gt;
After STS-5, HAC could be flown with the different options we are used to see .&lt;br /&gt;
Overhead or Straight-In HAC; and Nominal Entry Point (7Nm in final) or Minimal Entry Point (4Nm in final)&lt;br /&gt;
[[File:OTT option.webp|600px|thumbnail|none]] &lt;br /&gt;
&lt;br /&gt;
Another option called - final radius shrinking - is included in that TAEM guidance version.&lt;br /&gt;
It allows the final HAC radius (2.3 Nm) to decrease up to 0.8 Nm if we are low during the HAC.&lt;br /&gt;
[[File:Spiral hac.webp|600px|thumbnail|none]] &lt;br /&gt;
&lt;br /&gt;
The whole logic is organized through several functions that are called during all the TAEM phase at a rate between 160 and 980ms.&lt;br /&gt;
It ends at 10000 feet (Approach and Landing interface) where the Auto Land logic kicks in (quite the same logic with tighter gains).&lt;br /&gt;
[[File:TAEM flow logic.webp|600px|thumbnail|none]] &lt;br /&gt;
&lt;br /&gt;
Let's go briefly through each functions.&lt;br /&gt;
The first function that is not mentionned is a frame coordinate converter from a Greenwhich frame into a runway centered frame.&lt;br /&gt;
[[File:TAEM runway coordinate system.webp|600px|thumbnail|none]]&lt;br /&gt;
&lt;br /&gt;
== Avionics and DPS ==&lt;br /&gt;
&lt;br /&gt;
The avionics of the Space Shuttle is fairly faithfully reproduced by the simulation,  see the dedicated article on [[Space Shuttle Avionics]] for an overview. The implemented screens include routines to monitor the various systems as well as guidance navigation and control for all mission stages.&lt;br /&gt;
&lt;br /&gt;
[[File:GNC_sys_summ_up_2.jpg|600px|thumbnail|none|GNC SYS SUMM 2 display of the Space Shuttle]]&lt;br /&gt;
&lt;br /&gt;
All nine MDUs of the forward panel are usable and display the DPS and MEDS screens of the Shuttle - this includes launch and entry guidance routines, TAEM guidancs as well as orbital tracking and pointing management. In addition, HUDs for Commander and Pilot are provided.&lt;br /&gt;
&lt;br /&gt;
[[File:Shuttle_cockpit_OPS_2_day.jpg|1000px|thumbnail|none|Space Shuttle cockpit Day]] [[File:Shuttle_cockpit_before_launch.jpg|1000px|thumbnail|none|Space Shuttle cockpit Night]]&lt;br /&gt;
&lt;br /&gt;
An alternative display  for all phases of flight is provided by the FG-native the HUD. This has four different modes - ascent, orbit, entry and approach, and dependent on the HUD mode, different information relevant for the mission phase is displayed. In all cases, the current CSS DAP is identified in the upper left.&lt;br /&gt;
&lt;br /&gt;
There is a calculator for orbital elements available, determining perigee and apogee, orbital inclination and longitude of the ascending node (the latter is currently not so useful as it is obtained in an inertial coordinate system). Based on these orbital elements, the groundtrack map displays current position of the Space Shuttle, selected landing site, ground track history and a prediction of the future orbit - if the perigee is below the surface of Earth, the prediction ends at the estimated ballistic impact point (note that due to the aerodynamical capabilities of the Shuttle, the actual landing site can be within a cross range of about 1000 miles around that point dependent on how the trajectory is managed during the entry phase).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Payload handling ==&lt;br /&gt;
&lt;br /&gt;
The Space Shuttle is equipped with the capability to release payload from the bay into space, or to catch a payload from space and deposit and secure it in the bay. For this, the Remote Manipulator System (RMS) arm in combination with the payload retention system is used.&lt;br /&gt;
&lt;br /&gt;
[[File:Hubble docked.jpg|600px|thumbnail|none|Handling a payload with the RMS arm]]&lt;br /&gt;
[[File:Hubble COAS.jpg|600px|thumbnail|none|Hubble through COAS system]]&lt;br /&gt;
[[File:Hubble_grapple.png|600px|thumbnail|none|Handling Hubble with the RMS arm]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RMS arm operation ===&lt;br /&gt;
&lt;br /&gt;
The RMS arm is a fairly complicated device with six different joints, each allowing rotation along one specific axis, which is formed after the human arm. The nomenclature is borrowed from this analogy, so there is a shoulder yaw, a shoulder pitch, an elbow pitch, a wrist pitch and wrist yaw and roll joints. Each of the joints can only be moved a certain angular range. At the end of the RMS arm is the end effector which is the device which can attach to a payload.&lt;br /&gt;
&lt;br /&gt;
The RMS arm can be driven in various modes. The simplest of these are the single joint or the direct mode in which each joint angle is controlled separately, i.e. the arm is extended by first selecting a joint, then commanding it to either increase or decrease angle, before the next joint is selected.&lt;br /&gt;
&lt;br /&gt;
Since this is cumbersome, the more natural control modes allow to use the stick (or whatever control device is attached) to directly move a reference point. In the ORB UL x/y/z mode (UL stands for 'unloaded') the reference point is the tip of the end effector, i.e. using the stick just moves the joint angles such that the end effector moves along the x, y, or z-axis and otherwise keeps its attitude. The ORB UL yaw/pitch/roll mode in contrast keeps the end effector's position and just changes its attitude.&lt;br /&gt;
&lt;br /&gt;
The real Shuttle has additional modes in which the reference point is in the center of the payload, or in which the reference coordinate system is changed from the Shuttle's coordinate system to a system co-moving with the end effector camera - these are as of August 2015 not implemented in FG.&lt;br /&gt;
&lt;br /&gt;
All modes except single and direct joint driving have software safety stops when the joints approach their limit extensions. Since in its stowed position, two of the joints are in the software stop region, it is necessary to directly drive shoulder pitch and elbow pitch out of their soft stop region to be able to use the more sophisticated control modes - see the diagram below for the reach angles of each joint.&lt;br /&gt;
&lt;br /&gt;
[[File:Joints.gif|600px|thumbnail|none|RMS arm reference coordinate system and joint reach angles]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, the RMS arm is secured by a shoulder brace to make it cope with launch acceleration. This brace needs to be removed before the arm can be operated, and the arm itself needs to be powered, deployed and unlatched.&lt;br /&gt;
&lt;br /&gt;
=== Payload retention system ===&lt;br /&gt;
&lt;br /&gt;
The payload retention system is a series of latches which hold a payload in the bay. Before a payload can be lifted out of the bay, these latches need to be released. Similarly, if a payload is returned into the bay, ready-to-latch indicators show when it has reached the correct stowing position and it can only be safely released from the RMS arm once the latches are closed.&lt;br /&gt;
&lt;br /&gt;
The real Shuttle has three different payload positions with corresponding latch controls, as of August 2015 only one payload position is supported in FG. Likewise, currently only a simple demo satellite with no proper folding/unfolding animation is available as visual payload (note that a payload mass affecting the FDM can also be chosen in the 'Fuel and Payload' dropdown menu).&lt;br /&gt;
&lt;br /&gt;
== Mission phases ==&lt;br /&gt;
&lt;br /&gt;
The various phases of a Shuttle mission are generically subdivided into launch, orbit, entry, TAEM and approach. These can directly be accessed by appending the mission phase to the command line. This will automatically start the Shuttle in the correct configuration and the correct state for the mission selected. For instance, --aircraft=SpaceShuttle-TAEM --airport=KVBG will initialize a TAEM approach into Vandenberg, --aircraft=SpaceShuttle-orbit --lat=30.0 --lon=0.0 --heading=90.0 will initialize the Shuttle in a 30 deg inclination orbit.&lt;br /&gt;
&lt;br /&gt;
Note that --aircraft=SpaceShuttle-entry combined with an airport as location will ''not'' initialize you on an entry trajectory to that airport since the entry interface is several thousand miles away from the landing site and moreover the trajectory needed is not unique but depends on what you fly - you need to initialize the entry interface location by hand using latitude and longitude.&lt;br /&gt;
&lt;br /&gt;
Specific information on the mission phases can be found in the following articles:&lt;br /&gt;
&lt;br /&gt;
=== Documentations ===&lt;br /&gt;
&lt;br /&gt;
[[Flying the Shuttle - Space Shuttle Checklists]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nominal Operations ===&lt;br /&gt;
&lt;br /&gt;
[[Flying the Shuttle - Launch]]&lt;br /&gt;
&lt;br /&gt;
[[Flying the Shuttle - Orbital Operations]]&lt;br /&gt;
&lt;br /&gt;
[[Flying the Shuttle - Entry]]&lt;br /&gt;
&lt;br /&gt;
[[Flying the Shuttle - Final Approach]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nominal Operations Advanced Tutorial ===&lt;br /&gt;
&lt;br /&gt;
[[Flying the Shuttle - Launch And Post Insertion Advanced]]&lt;br /&gt;
&lt;br /&gt;
[[Flying the Shuttle - Deorbit Preparation Advanced]]&lt;br /&gt;
&lt;br /&gt;
[[Flying the Shuttle - Deorbit Burn and Final Entry Preparation Advanced]]&lt;br /&gt;
&lt;br /&gt;
[[Flying the Shuttle - Entry TAEM and Landing Advanced]]&lt;br /&gt;
&lt;br /&gt;
=== Intact Aborts ===&lt;br /&gt;
&lt;br /&gt;
[[Flying the Shuttle - Intact Abort Procedures Overview]]&lt;br /&gt;
&lt;br /&gt;
[[Flying the Shuttle - Return To Launch Site RTLS]]&lt;br /&gt;
&lt;br /&gt;
[[Flying the Shuttle - Transoceanic Abort Landing TAL]]&lt;br /&gt;
&lt;br /&gt;
== Glossary of acronyms ==&lt;br /&gt;
{|&lt;br /&gt;
| '''AoA'''  || Angle of Attack&lt;br /&gt;
|-&lt;br /&gt;
| '''APU'''  || Auxiliary Power Unit&lt;br /&gt;
|-&lt;br /&gt;
| '''CoG'''  || Center of Gravity&lt;br /&gt;
|-&lt;br /&gt;
| '''CSS'''  || Control stick steering&lt;br /&gt;
|-&lt;br /&gt;
| '''DAP'''  || Digital autopilot&lt;br /&gt;
|-&lt;br /&gt;
| '''ET'''   || External tank&lt;br /&gt;
|-&lt;br /&gt;
| '''EVA'''   || Extravehicular Activity (spacewalk)&lt;br /&gt;
|-&lt;br /&gt;
| '''FC'''   || Fuel cell&lt;br /&gt;
|-&lt;br /&gt;
| '''FCS'''   || Flight Control System&lt;br /&gt;
|-&lt;br /&gt;
| '''ISP'''  || Specific impulse&lt;br /&gt;
|-&lt;br /&gt;
| '''MECO'''  || Main Engine Cutoff&lt;br /&gt;
|-&lt;br /&gt;
| '''MMH'''  || monomethylhydrazine (a propellant)&lt;br /&gt;
|-&lt;br /&gt;
| '''MMU'''  || Manned Maneuvering Unit&lt;br /&gt;
|-&lt;br /&gt;
| '''MPS'''  || Main Propulsion System&lt;br /&gt;
|-&lt;br /&gt;
| '''OV'''   || Orbiter vehicle&lt;br /&gt;
|-&lt;br /&gt;
| '''OMS'''   || Orbital Maneuvering System&lt;br /&gt;
|-&lt;br /&gt;
| '''PRL'''   || Priority Rate Limiting&lt;br /&gt;
|-&lt;br /&gt;
| '''RCS'''   || Reaction Control System&lt;br /&gt;
|-&lt;br /&gt;
| '''RHC'''   || Rotational Hand Controller&lt;br /&gt;
|-&lt;br /&gt;
| '''RMS'''   || Remote Manipulator System&lt;br /&gt;
|-&lt;br /&gt;
| '''SRB'''  || Solid rocket booster&lt;br /&gt;
|-&lt;br /&gt;
| '''SSME''' || Space Shuttle main engine&lt;br /&gt;
|-&lt;br /&gt;
| '''TAEM''' || Terminal Area Energy Management&lt;br /&gt;
|-&lt;br /&gt;
| '''THC''' || Translational Hand Controller&lt;br /&gt;
|-&lt;br /&gt;
| '''TVC''' || Thrust Vector Control&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Latest development snapshot ==&lt;br /&gt;
The latest development version (possibly unstable) is found in a dedicated [https://sourceforge.net/projects/fgspaceshuttledev/ repository] on SourceForge. You can download the latest snapshot from http://sourceforge.net/p/fgspaceshuttledev/code/ci/development/tarball.  Stable updates are pushed to FGAddon periodically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
In addition to the original NASA Shuttle Crew Operations Manual and the DPS dictionary which are found in the Documentation/ folder of the spacecraft, a Flight Manual specifically for the operation of the Flightgear simulation is available (standard edition free of charge for Flightgear users): &lt;br /&gt;
&lt;br /&gt;
[[File:Flight manual standard.png|400px|link=http://www.science-and-fiction.org/bookstore.html|alt=Shuttle flight manual|Title Flight Manual]]&lt;br /&gt;
&lt;br /&gt;
(click picture to download, or use this [https://web.archive.org/web/20250915000000*/http://www.science-and-fiction.org/downloads/flight_manual_basic.pdf.gz archived copy] if the original link is dead)&lt;br /&gt;
&lt;br /&gt;
== Educational Links / Shuttle technical files ==&lt;br /&gt;
&lt;br /&gt;
=== General Space knowledge and tutorials ===&lt;br /&gt;
''Basic of Space Flight Book''&lt;br /&gt;
https://er.jsc.nasa.gov/seh/spaceflt.pdf&lt;br /&gt;
&lt;br /&gt;
''Thorsten LEO Tools''&lt;br /&gt;
https://forum.flightgear.org/viewtopic.php?f=87&amp;amp;t=35213&lt;br /&gt;
&lt;br /&gt;
''Orbiter Space Sim Beginners tutorial''&lt;br /&gt;
https://www.youtube.com/watch?v=bOxpvqrqLAo&lt;br /&gt;
&lt;br /&gt;
''FAA Space Basics ( Must read)''&lt;br /&gt;
https://web.archive.org/web/20210530202242/https://www.faa.gov/about/office_org/headquarters_offices/avs/offices/aam/cami/library/online_libraries/aerospace_medicine/tutorial/section3/spacecraft_design/&lt;br /&gt;
&lt;br /&gt;
''Rendez Vous Theory''&lt;br /&gt;
&lt;br /&gt;
https://www.baen.com/rendezvous and https://www.baen.com/rendezvous-part2&lt;br /&gt;
&lt;br /&gt;
'''Educative links'''&lt;br /&gt;
&lt;br /&gt;
Why the wings of the Shuttle Stay on it during Maximal Aerodynamical pressure phase&lt;br /&gt;
https://www.aiaa.org/docs/default-source/uploadedfiles/about-aiaa/history-and-heritage/why_the_wings_stay_on-ehrlich.pdf?sfvrsn=801c62b5_0&lt;br /&gt;
&lt;br /&gt;
Space Shuttle Aerodynamics and Flight Dynamics Overview&lt;br /&gt;
https://web.archive.org/web/20210127120052/https://www.nasa.gov/centers/johnson/pdf/584730main_Wings-ch4d-pgs226-241.pdf&lt;br /&gt;
&lt;br /&gt;
=== Space Shuttle Systems ===&lt;br /&gt;
&lt;br /&gt;
'''Space Shuttle Systems in depth'''&lt;br /&gt;
&lt;br /&gt;
''Nasa Space Shuttle systems Exhaustive Manual: SCOM''&lt;br /&gt;
https://web.archive.org/web/20200602210929/https://www.nasa.gov/centers/johnson/pdf/390651main_shuttle_crew_operations_manual.pdf&lt;br /&gt;
&lt;br /&gt;
''Nasa Data processing system dictionnary, or &amp;quot;What does that page of my shuttle computer&amp;quot;''&lt;br /&gt;
https://web.archive.org/web/20210226022241/https://www.nasa.gov/centers/johnson/pdf/359895main_DPS_G_K_7.pdf&lt;br /&gt;
&lt;br /&gt;
''Crew Software Interface ( Nice introduction to Shuttle Computer and handling)''&lt;br /&gt;
https://web.archive.org/web/20210226022249/https://www.nasa.gov/centers/johnson/pdf/383444main_crew_software_interface_21002.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Workbooks ( Detailled part on some Shuttle systems and procedures, SCOM complement)'''&lt;br /&gt;
&lt;br /&gt;
''APU (How Hydraulic is provided to Shuttle systems''&lt;br /&gt;
https://web.archive.org/web/20210226022251/https://www.nasa.gov/centers/johnson/pdf/383439main_apu_hyd_wsb_21002.pdf&lt;br /&gt;
&lt;br /&gt;
''Air Data Systems (What are the equivalent of Pitot Tubes in the Shuttle)''&lt;br /&gt;
https://web.archive.org/web/20210226021921/https://www.nasa.gov/centers/johnson/pdf/383438main_air_data_system_workbook_21002.pdf&lt;br /&gt;
&lt;br /&gt;
''Environmental Control and Life Support System ( How is cooled the Shuttle )''&lt;br /&gt;
https://web.archive.org/web/20210226004654/https://www.nasa.gov/centers/johnson/pdf/383445main_eclss_21002.pdf&lt;br /&gt;
&lt;br /&gt;
''Navigation Aids ( or how the Shuttle find precisely the runway during entry)''&lt;br /&gt;
https://web.archive.org/web/20210226022247/https://www.nasa.gov/centers/johnson/pdf/383450main_navigation_aids_workbook%2021002.pdf&lt;br /&gt;
&lt;br /&gt;
''Intact Ascent Aborts ( Procedures after ONE engine failure)''&lt;br /&gt;
https://web.archive.org/web/20210226022307/https://www.nasa.gov/centers/johnson/pdf/383447main_intact_ascent_aborts_workbook_21002.pdf&lt;br /&gt;
&lt;br /&gt;
''Contigency Aborts Procedures after more than ONE engine failure/degradation''&lt;br /&gt;
https://web.archive.org/web/20210226011554/https://www.nasa.gov/centers/johnson/pdf/383441main_contingency_aborts_21007_31007.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''And much more that are not publicly available but findable here after a subscription ( A true Space Gold Mine)''&lt;br /&gt;
https://www.nasaspaceflight.com/l2/&lt;br /&gt;
&lt;br /&gt;
=== Space Shuttle Checklists ===&lt;br /&gt;
''Flight Data Files Bible Site''&lt;br /&gt;
https://web.archive.org/web/20211020173004/https://www.nasa.gov/centers/johnson/news/flightdatafiles/index.html&lt;br /&gt;
&lt;br /&gt;
''Annotated and condensed one''&lt;br /&gt;
[[Flying the Shuttle - Space Shuttle Checklists]]&lt;br /&gt;
&lt;br /&gt;
A bit more organized:&lt;br /&gt;
More informations about Flight Data Files in SCOM part 3&lt;br /&gt;
&lt;br /&gt;
'''Normal situation Checklists'''&lt;br /&gt;
&lt;br /&gt;
''Ascent''&lt;br /&gt;
https://web.archive.org/web/20210406234707/https://www.nasa.gov/centers/johnson/pdf/567068main_ASC_135_F_1.pdf&lt;br /&gt;
&lt;br /&gt;
''Post Insertion''&lt;br /&gt;
https://web.archive.org/web/20210417211853/https://www.nasa.gov/centers/johnson/pdf/567074main_PI_135_F.pdf&lt;br /&gt;
&lt;br /&gt;
''On Orbit''&lt;br /&gt;
https://web.archive.org/web/20210417205430/https://www.nasa.gov/centers/johnson/pdf/567072main_ORB_OPS_135_F_1.pdf&lt;br /&gt;
&lt;br /&gt;
''Rendez Vous''&lt;br /&gt;
https://web.archive.org/web/20210417202323/https://www.nasa.gov/centers/johnson/pdf/567076main_RNDZ_135_F.pdf&lt;br /&gt;
&lt;br /&gt;
''Deorbit Preparation''&lt;br /&gt;
https://web.archive.org/web/20210424062634/https://www.nasa.gov/centers/johnson/pdf/492871main_D-O_G_Q_5.pdf&lt;br /&gt;
&lt;br /&gt;
''Entry''&lt;br /&gt;
&lt;br /&gt;
https://web.archive.org/web/20210424062633/https://www.nasa.gov/centers/johnson/pdf/381558main_ENT_G_H_8.pdf&lt;br /&gt;
https://web.archive.org/web/20210417204127/https://www.nasa.gov/centers/johnson/pdf/567069main_ENT_135_F.pdf&lt;br /&gt;
&lt;br /&gt;
'''Non Normal situation Checklists'''&lt;br /&gt;
In the Normal situation Checks above, there are off nominal sections to deal with non critical procedures.&lt;br /&gt;
&lt;br /&gt;
For time critical procedures that must be performed within 5 minutes, there are the so called Pocket checklists ( Ascent, Orbit and Entry).&lt;br /&gt;
They are almost the same.&lt;br /&gt;
&lt;br /&gt;
''Ascent''&lt;br /&gt;
The Ascent    PCL    contains    procedures    that    safe    systems  for  continued  flight.    It  also  contains  orbiter systems powerdown procedures. &lt;br /&gt;
https://web.archive.org/web/20210407003811/https://www.nasa.gov/centers/johnson/pdf/366508main_APCL_G_O_1.pdf&lt;br /&gt;
&lt;br /&gt;
''Orbit''&lt;br /&gt;
At the initiation of the post insertion phase, the Orbit PCL is utilized.  This PCL contains critical orbiter   systems   malfunction   responses   and   powerdown  procedures.    The  orbit  PCL  often  refers   to   the   orbiter   Malfunction   Procedures   (MAL) Book for detailed troubleshooting.&lt;br /&gt;
&lt;br /&gt;
https://web.archive.org/web/20210907221523/https://www.nasa.gov/centers/johnson/pdf/359853main_OPCL_G_M_10.pdf&lt;br /&gt;
&lt;br /&gt;
Contigency Deorbit in case of Severe malfunctions in Orbit ( Loss of cooling systems, or massive elec failure,..) that would lead to a fast deorbit.&lt;br /&gt;
&lt;br /&gt;
https://web.archive.org/web/20210417212721/https://www.nasa.gov/centers/johnson/pdf/359894main_C-DO_G_L_8_P%26I.pdf&lt;br /&gt;
&lt;br /&gt;
''Entry''&lt;br /&gt;
&lt;br /&gt;
The Entry PCL contains critical contingency systems malfunction responses that allow safe continuation of the pre-deorbit through early entry phases along with orbiter systems powerdown procedures.  &lt;br /&gt;
&lt;br /&gt;
https://web.archive.org/web/20210424062636/https://www.nasa.gov/centers/johnson/pdf/366509main_EPCL_G_M_11.pdf&lt;br /&gt;
&lt;br /&gt;
=== Space Shuttle Books ===&lt;br /&gt;
&lt;br /&gt;
''To Orbit and Back Again''&lt;br /&gt;
&lt;br /&gt;
Like a SCOM, less cryptic, full of anecdotes.&lt;br /&gt;
https://www.springer.com/gp/book/9781461409823&lt;br /&gt;
&lt;br /&gt;
''Into to the Black''&lt;br /&gt;
&lt;br /&gt;
Book about STS 1, it reads like a Thriller&lt;br /&gt;
https://www.thespacereview.com/article/2982/&lt;br /&gt;
&lt;br /&gt;
''Shuttle Down''&lt;br /&gt;
&lt;br /&gt;
Book about an hypothetical scenario. What if the Shuttle was launched from vandenberg and would have diverted to Easter Island :)&lt;br /&gt;
[url]https://www.goodreads.com/book/show/549127.Shuttle_Down[/url]&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A compilation of in FG Sim videos about the Space Shuttle&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=LOpKt2gXQoE  Space Shuttle Launch Flight Gear with STS 133 Real Voices]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=bDGIZj4GGxg Space Shuttle RTLS Abort with OPS 6 real guidance]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=ECJjC-i_3l8 Space Shuttle TAEM KSC Runway 33:HAC and Final Approach]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=fbTFKBWYGbE Space Shuttle TAL]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=62ylBBeO-z4 Space Shuttle Autoland in fog]&lt;br /&gt;
&lt;br /&gt;
On orbit timelapse&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=35234]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mission reports ==&lt;br /&gt;
&lt;br /&gt;
A compilation of Space Shuttle stories / mission reports.&lt;br /&gt;
&lt;br /&gt;
''Shuttle approaches contest''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=32790]&lt;br /&gt;
&lt;br /&gt;
''The Van Allen Mission''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=35011]&lt;br /&gt;
&lt;br /&gt;
''STS 62 Polar Mission''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=87&amp;amp;t=38916]&lt;br /&gt;
&lt;br /&gt;
''Meeting ISS''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=35276]&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=35316]&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=35535]&lt;br /&gt;
&lt;br /&gt;
''Meeting Hubble''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=87&amp;amp;t=36311]&lt;br /&gt;
&lt;br /&gt;
''From Ground to Orbit''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=32851]&lt;br /&gt;
&lt;br /&gt;
''From Orbit to Ground''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=33167]&lt;br /&gt;
&lt;br /&gt;
''Return to Launch Site''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=33030]&lt;br /&gt;
&lt;br /&gt;
''Transoceanic Abort Landing in Zaragoza''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=33368]&lt;br /&gt;
&lt;br /&gt;
''Abort Once Around''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=34315]&lt;br /&gt;
&lt;br /&gt;
''Contingency Abort: Landing in Bermuda''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=34254]&lt;br /&gt;
&lt;br /&gt;
''Contigency Abort: East Coast Abort Landing''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=34969]&lt;br /&gt;
&lt;br /&gt;
''Electrical failure and TAL''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=34810]&lt;br /&gt;
&lt;br /&gt;
''Impending Loss of Hydraulics and AOA''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=35048]&lt;br /&gt;
&lt;br /&gt;
''Fictionnal Mission into Polar Orbit from Vandenberg''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=34700]&lt;br /&gt;
&lt;br /&gt;
''Deorbit and Landing in Easter Island''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=34229]&lt;br /&gt;
&lt;br /&gt;
''Triple Engine Failure TAL''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=35763]&lt;br /&gt;
&lt;br /&gt;
''Massive electrical failures and Contigency Deorbit // Off Nominal Checklist walkthrough''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=87&amp;amp;t=36862]&lt;br /&gt;
&lt;br /&gt;
''Single Engine TAL after Droop''&lt;br /&gt;
[https://forum.flightgear.org/viewtopic.php?f=87&amp;amp;t=40479]&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
{{screenshot cat&lt;br /&gt;
| category = Space Shuttle screenshots&lt;br /&gt;
| subject  = the Space Shuttle&lt;br /&gt;
| image    = Shuttle FG03.jpg&lt;br /&gt;
}}{{-}}&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
KSC_launch_photorealism.webp|KSC launch photorealism&lt;br /&gt;
KSC_launch_2_photorealism.webp|KSC launch photorealism&lt;br /&gt;
Vandenberg_photorealism.webp|Vandenberg site photorealism&lt;br /&gt;
White_sands_photorealism.webp|White Sands site photorealism&lt;br /&gt;
Edwards_photorealism.webp|Edwards site photorealism&lt;br /&gt;
Bermuda_photorealism.webp|Bermuda site photorealism&lt;br /&gt;
Pad_view_inside.jpg|View on the Pad Pilot Side&lt;br /&gt;
Rainy_Pad.jpg|Rainy Pad&lt;br /&gt;
On_the_pad.jpg|Shuttle Launch&lt;br /&gt;
Shuttle_Launch.jpg|Shuttle Launch&lt;br /&gt;
Shuttle FG04.jpg|Shuttle Launch&lt;br /&gt;
Farewell.jpg|Launch smoke trail&lt;br /&gt;
SRB_sep.jpg|SRB separation&lt;br /&gt;
Orbital_Speed.jpg|Accelerating to orbital speed&lt;br /&gt;
SSME.jpg|Improved visuals of the exhaust flame&lt;br /&gt;
The_desk.jpg|Shuttle 3d cockpit&lt;br /&gt;
MECO_sep.jpg|External tank separation&lt;br /&gt;
On_orbit_view.jpg|A view of Earth after reaching orbit&lt;br /&gt;
ET_sep_2.jpg|The ET seen from the Shuttle&lt;br /&gt;
Shuttle OMS full.jpg|Full OMS thrust&lt;br /&gt;
Light_effect.jpg|Lightings game in Orbit&lt;br /&gt;
Shadow_3.jpg|Shadows and lights on the L2 Commander panel&lt;br /&gt;
Over_Africa.jpg|The orbiter high over Africa&lt;br /&gt;
Payload ops03.jpg|Handling payload with the RMS arm&lt;br /&gt;
Payload_lighting.jpg|Payload Lightings&lt;br /&gt;
Space Shuttle sunrise.jpg|Sunrise over Antarctica&lt;br /&gt;
Over_Antartica.jpg|Sunrise over Antarctica 2&lt;br /&gt;
Sunset.jpg|The OV in orbit at Sunset&lt;br /&gt;
Sunset_2.jpg|The OV in orbit at Sunset 2&lt;br /&gt;
Sunset_rtls.jpg|RTLS Abort &lt;br /&gt;
OMS_burn.jpg|Orbital insertion burn at night&lt;br /&gt;
Shuttle-landing04.jpg|Atmospheric entry&lt;br /&gt;
Glowing_red_2.jpg|Tiles Glowing Red&lt;br /&gt;
Roll_reversal.jpg|High bank angle maneuver to control vertical speed&lt;br /&gt;
Mach_down.jpg|During TAEM the Space Shuttle goes subsonic&lt;br /&gt;
Eastern_Island_approach.jpg|On final approach into Eastern Island Emergency Landing Site&lt;br /&gt;
Final_approach_trondheim.jpg|Final in Trondheim&lt;br /&gt;
Pre_flare_KSC.jpg|Pre-flare&lt;br /&gt;
Flare_KSC.jpg|Flare&lt;br /&gt;
Touch_KSC.jpg|Touchdown in KSC&lt;br /&gt;
Fin.jpg|Wheels stop in KSC&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Space Shuttle documentation]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=File:2024.2_PBR-rendered_cockpit.png&amp;diff=144619</id>
		<title>File:2024.2 PBR-rendered cockpit.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=File:2024.2_PBR-rendered_cockpit.png&amp;diff=144619"/>
		<updated>2026-05-25T04:39:37Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: Uploaded own work with UploadWizard&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{int:filedesc}}==&lt;br /&gt;
{{Information&lt;br /&gt;
|description={{en|1=PBR-rendered cockpit of c172 in 2024.2}}&lt;br /&gt;
|date=2026-05-25&lt;br /&gt;
|source={{own}}&lt;br /&gt;
|author=[[User:Fgf5|Fgf5]]&lt;br /&gt;
|permission=&lt;br /&gt;
|other versions=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=={{int:license-header}}==&lt;br /&gt;
{{self|cc-by-sa-4.0}}&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Main_Page&amp;diff=144618</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Main_Page&amp;diff=144618"/>
		<updated>2026-05-25T04:29:25Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main page/Header&lt;br /&gt;
  |title    = Welcome to the [[FlightGear wiki]]&lt;br /&gt;
  |subtitle = ''Fly free!''&lt;br /&gt;
  |rightbox = {{Main page/Languages}}&lt;br /&gt;
  |introduction =&lt;br /&gt;
[[Help:Your first article|Get involved]] by starting, improving, or extending articles.&lt;br /&gt;
&amp;lt;!-------------------------------------------------------------&lt;br /&gt;
                    Portal overview&lt;br /&gt;
--------------------------------------------------------------&amp;gt;&lt;br /&gt;
  |rightcolumn1 = [[File:Portal user.png|40px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 105%; font-weight: bold&amp;quot;&amp;gt;[[Portal:User|Using]]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic&amp;quot;&amp;gt;'''[[New to FlightGear]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Frequently asked questions]] &amp;amp;bull; [[Troubleshooting problems|Troubleshooting]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto: Install scenery|Installing scenery]] &amp;amp;bull; [[Howto: Install aircraft|Installing aircraft]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Aircraft|Aircraft list]] &amp;amp;bull; [[Howto: Fly a helicopter|Helicopter flying]]&amp;lt;/span&amp;gt;&lt;br /&gt;
  |rightcolumn2 = [[File:Portal developer.png|40px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 105%; font-weight: bold&amp;quot;&amp;gt;[[Portal:Developer|Developing]]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic&amp;quot;&amp;gt;&lt;br /&gt;
[[Portal:Developer/Aircraft|Aircraft]] &amp;amp;bull; [[Portal:Developer/Scenery|Scenery]] &amp;amp;bull; [[Portal:Embedded|Embedded]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto: Place 3D objects with the UFO|Placing objects]] &amp;amp;bull; [[Howto: Create custom terrain|Editing terrain]]&amp;lt;br/&amp;gt;[[Howto:Improve scenery in your area, or area of interest|Scenery: Improving your area]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[How the FlightGear project works]]&amp;lt;/span&amp;gt;&lt;br /&gt;
  |rightcolumn3 = [[File:Portal wiki.png|40px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 105%; font-weight: bold&amp;quot;&amp;gt; [[Portal:Wiki|Wiki]]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic&amp;quot;&amp;gt;&lt;br /&gt;
[[FlightGear Wiki|About the wiki]] &amp;amp;bull; [[Help:Contents|Help]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Help:Your first article|Your first article]] &amp;amp;bull; [[Help:Translate|Translate]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Special:Categories|Categories]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-------------------------------------------------------------&lt;br /&gt;
                    Main sections&lt;br /&gt;
--------------------------------------------------------------&amp;gt;&lt;br /&gt;
  |sections =&lt;br /&gt;
{{Main page/Leftbox&lt;br /&gt;
  |title = About FlightGear&lt;br /&gt;
  |logo  = FlightGear logo.png&lt;br /&gt;
  |contents = '''[[FlightGear]]''' is a flight-simulator created by an international group of volunteers, and released as free, open-source [[GNU General Public License|GPL]] software. It has been used for [[Professional and educational FlightGear users|academic research, education]], and for fun.&lt;br /&gt;
&lt;br /&gt;
FlightGear comes with a set of illustrated documentation, notably &amp;quot;[https://flightgear.org/support/manual The Manual],&amp;quot; which is included in the installation package. This wiki provides additional documentation on both user and development topics.&lt;br /&gt;
&lt;br /&gt;
=== I am looking for … ===&lt;br /&gt;
* [[Portal:User|Help on using FlightGear]]&lt;br /&gt;
* [[Portal:Developer|How to contribute something to FlightGear]]&lt;br /&gt;
* [[table of models|Information about aircraft developed for FlightGear]]&lt;br /&gt;
}}&lt;br /&gt;
{{Main page/Leftbox&lt;br /&gt;
  |title = News&lt;br /&gt;
  |logo  = Nuvola apps knewsticker.png&lt;br /&gt;
  |contents = {{News}} &lt;br /&gt;
}}&lt;br /&gt;
{{Main page/Leftbox&lt;br /&gt;
  |title = Did you know …&lt;br /&gt;
  |logo  = Nuvola apps ktip.png&lt;br /&gt;
  |contents = {{Did you know}} &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;!-------------------------------------------------------------&lt;br /&gt;
                    Right column&lt;br /&gt;
--------------------------------------------------------------&amp;gt;&lt;br /&gt;
{{Main page/Rightcolumn&lt;br /&gt;
  |title    = Highlight&lt;br /&gt;
  |contents = &amp;lt;center style=&amp;quot;padding-top: 0.9em&amp;quot;&amp;gt;[[File:2024.2 HDR PBR rendering.png|frameless]]&amp;lt;/center&amp;gt;&lt;br /&gt;
  |padding-right = 23px&lt;br /&gt;
}}Coming HDR/PBR rendering in version 2024.2 (nightly).&lt;br /&gt;
{{Main page/Rightcolumn&lt;br /&gt;
  |title    = [[:Category:Screenshot of the month|Screenshot of the month]]&lt;br /&gt;
  |contents = &amp;lt;center style=&amp;quot;padding-top: 0.9em&amp;quot;&amp;gt;{{POTM/{{#ifexpr: {{#time: m}} = 01 | {{#expr: {{#time: Y}} - 1 }}-12 | {{#time: Y }}-{{padleft: {{#expr: {{#time: m}} - 1}} | 2 | 0}}}}}}&amp;lt;/center&amp;gt;&lt;br /&gt;
  |padding-right = 23px&lt;br /&gt;
}}&lt;br /&gt;
{{Main page/Rightcolumn end&lt;br /&gt;
  |title    = [[FlightGear and Git|Development repository status]]&lt;br /&gt;
  |contents = &amp;lt;center style=&amp;quot;padding-top: 0.9em&amp;quot;&amp;gt;{{GitStatus}}&amp;lt;/center&amp;gt;&lt;br /&gt;
  |padding-right = 23px&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear wiki]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Main_Page&amp;diff=144617</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Main_Page&amp;diff=144617"/>
		<updated>2026-05-25T04:28:22Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: changed the highlight picture (admins can revert it if dissatisfied)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main page/Header&lt;br /&gt;
  |title    = Welcome to the [[FlightGear wiki]]&lt;br /&gt;
  |subtitle = ''Fly free!''&lt;br /&gt;
  |rightbox = {{Main page/Languages}}&lt;br /&gt;
  |introduction =&lt;br /&gt;
[[Help:Your first article|Get involved]] by starting, improving, or extending articles.&lt;br /&gt;
&amp;lt;!-------------------------------------------------------------&lt;br /&gt;
                    Portal overview&lt;br /&gt;
--------------------------------------------------------------&amp;gt;&lt;br /&gt;
  |rightcolumn1 = [[File:Portal user.png|40px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 105%; font-weight: bold&amp;quot;&amp;gt;[[Portal:User|Using]]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic&amp;quot;&amp;gt;'''[[New to FlightGear]]'''&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Frequently asked questions]] &amp;amp;bull; [[Troubleshooting problems|Troubleshooting]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto: Install scenery|Installing scenery]] &amp;amp;bull; [[Howto: Install aircraft|Installing aircraft]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Aircraft|Aircraft list]] &amp;amp;bull; [[Howto: Fly a helicopter|Helicopter flying]]&amp;lt;/span&amp;gt;&lt;br /&gt;
  |rightcolumn2 = [[File:Portal developer.png|40px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 105%; font-weight: bold&amp;quot;&amp;gt;[[Portal:Developer|Developing]]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic&amp;quot;&amp;gt;&lt;br /&gt;
[[Portal:Developer/Aircraft|Aircraft]] &amp;amp;bull; [[Portal:Developer/Scenery|Scenery]] &amp;amp;bull; [[Portal:Embedded|Embedded]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto: Place 3D objects with the UFO|Placing objects]] &amp;amp;bull; [[Howto: Create custom terrain|Editing terrain]]&amp;lt;br/&amp;gt;[[Howto:Improve scenery in your area, or area of interest|Scenery: Improving your area]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[How the FlightGear project works]]&amp;lt;/span&amp;gt;&lt;br /&gt;
  |rightcolumn3 = [[File:Portal wiki.png|40px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 105%; font-weight: bold&amp;quot;&amp;gt; [[Portal:Wiki|Wiki]]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style: italic&amp;quot;&amp;gt;&lt;br /&gt;
[[FlightGear Wiki|About the wiki]] &amp;amp;bull; [[Help:Contents|Help]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Help:Your first article|Your first article]] &amp;amp;bull; [[Help:Translate|Translate]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Special:Categories|Categories]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-------------------------------------------------------------&lt;br /&gt;
                    Main sections&lt;br /&gt;
--------------------------------------------------------------&amp;gt;&lt;br /&gt;
  |sections =&lt;br /&gt;
{{Main page/Leftbox&lt;br /&gt;
  |title = About FlightGear&lt;br /&gt;
  |logo  = FlightGear logo.png&lt;br /&gt;
  |contents = '''[[FlightGear]]''' is a flight-simulator created by an international group of volunteers, and released as free, open-source [[GNU General Public License|GPL]] software. It has been used for [[Professional and educational FlightGear users|academic research, education]], and for fun.&lt;br /&gt;
&lt;br /&gt;
FlightGear comes with a set of illustrated documentation, notably &amp;quot;[https://flightgear.org/support/manual The Manual],&amp;quot; which is included in the installation package. This wiki provides additional documentation on both user and development topics.&lt;br /&gt;
&lt;br /&gt;
=== I am looking for … ===&lt;br /&gt;
* [[Portal:User|Help on using FlightGear]]&lt;br /&gt;
* [[Portal:Developer|How to contribute something to FlightGear]]&lt;br /&gt;
* [[table of models|Information about aircraft developed for FlightGear]]&lt;br /&gt;
}}&lt;br /&gt;
{{Main page/Leftbox&lt;br /&gt;
  |title = News&lt;br /&gt;
  |logo  = Nuvola apps knewsticker.png&lt;br /&gt;
  |contents = {{News}} &lt;br /&gt;
}}&lt;br /&gt;
{{Main page/Leftbox&lt;br /&gt;
  |title = Did you know …&lt;br /&gt;
  |logo  = Nuvola apps ktip.png&lt;br /&gt;
  |contents = {{Did you know}} &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;!-------------------------------------------------------------&lt;br /&gt;
                    Right column&lt;br /&gt;
--------------------------------------------------------------&amp;gt;&lt;br /&gt;
{{Main page/Rightcolumn&lt;br /&gt;
  |title    = Highlight&lt;br /&gt;
  |contents = &amp;lt;center style=&amp;quot;padding-top: 0.9em&amp;quot;&amp;gt;[[File:2024.2 HDR PBR rendering.png|frameless]]&amp;lt;/center&amp;gt;&lt;br /&gt;
  |padding-right = 23px&lt;br /&gt;
}}.&lt;br /&gt;
{{Main page/Rightcolumn&lt;br /&gt;
  |title    = [[:Category:Screenshot of the month|Screenshot of the month]]&lt;br /&gt;
  |contents = &amp;lt;center style=&amp;quot;padding-top: 0.9em&amp;quot;&amp;gt;{{POTM/{{#ifexpr: {{#time: m}} = 01 | {{#expr: {{#time: Y}} - 1 }}-12 | {{#time: Y }}-{{padleft: {{#expr: {{#time: m}} - 1}} | 2 | 0}}}}}}&amp;lt;/center&amp;gt;&lt;br /&gt;
  |padding-right = 23px&lt;br /&gt;
}}Coming HDR/PBR rendering in version 2024.2 (nightly).&lt;br /&gt;
{{Main page/Rightcolumn end&lt;br /&gt;
  |title    = [[FlightGear and Git|Development repository status]]&lt;br /&gt;
  |contents = &amp;lt;center style=&amp;quot;padding-top: 0.9em&amp;quot;&amp;gt;{{GitStatus}}&amp;lt;/center&amp;gt;&lt;br /&gt;
  |padding-right = 23px&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear wiki]]&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=File:Canvas_menu_2024.2%2B.png&amp;diff=144616</id>
		<title>File:Canvas menu 2024.2+.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=File:Canvas_menu_2024.2%2B.png&amp;diff=144616"/>
		<updated>2026-05-25T04:22:14Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: Uploaded own work with UploadWizard&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{int:filedesc}}==&lt;br /&gt;
{{Information&lt;br /&gt;
|description={{en|1=The menu in the canvas UI in 2024.2+}}&lt;br /&gt;
|date=2026-05-25&lt;br /&gt;
|source={{own}}&lt;br /&gt;
|author=[[User:Fgf5|Fgf5]]&lt;br /&gt;
|permission=&lt;br /&gt;
|other versions=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=={{int:license-header}}==&lt;br /&gt;
{{self|cc-by-sa-4.0}}&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=File:2024.2_HDR_PBR_rendering.png&amp;diff=144615</id>
		<title>File:2024.2 HDR PBR rendering.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=File:2024.2_HDR_PBR_rendering.png&amp;diff=144615"/>
		<updated>2026-05-25T04:20:38Z</updated>

		<summary type="html">&lt;p&gt;Fgf5: Uploaded own work with UploadWizard&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{int:filedesc}}==&lt;br /&gt;
{{Information&lt;br /&gt;
|description={{en|1=HDR and PBR rendering in 2024.2}}&lt;br /&gt;
|date=2026-05-25&lt;br /&gt;
|source={{own}}&lt;br /&gt;
|author=[[User:Fgf5|Fgf5]]&lt;br /&gt;
|permission=&lt;br /&gt;
|other versions=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=={{int:license-header}}==&lt;br /&gt;
{{self|cc-by-sa-4.0}}&lt;/div&gt;</summary>
		<author><name>Fgf5</name></author>
	</entry>
</feed>