FS2004 (FS9) 7 min read

How do I create an aircraft for FS2004?

Ian Stephens
In short

Create an aircraft for FS2004 with the correct gmax/MakeMDL workflow, folder structure, flight dynamics, testing and packaging steps.

Creating an aircraft for Microsoft Flight Simulator 2004 requires five linked jobs: build and animate an FS2004-compatible 3D model, export it to MDL with MakeMDL, create its textures, define the flight dynamics in aircraft.cfg and an AIR file, then add panels and sounds before testing the complete aircraft in FS9.

What tools do I need to make an FS2004 aircraft?

The dependable FS2004 toolchain is gmax with the FS2004 gamepack and MakeMDL exporter supplied through Microsoft’s SDK. Our complete FS2004 aircraft-development SDK pack includes the aircraft documentation, modelling tools, exporter and FSEdit components needed for the standard workflow.

  • gmax and the FS2004 gamepack: for geometry, materials, part hierarchy and animation.
  • MakeMDL: compiles the model into the FS2004 .mdl format.
  • An image editor: for UV layouts, colour textures and alpha channels.
  • ImageTool or an equivalent FS-compatible converter: for producing BMP textures that FS9 can read correctly.
  • FSEdit and a text editor: for the AIR file, aircraft.cfg, panels and related configuration.
  • Reliable reference data: dimensions, weights, centre-of-gravity limits, engine output and published performance figures.

Other 3D packages can be used to prepare geometry, but the final conversion must preserve FS2004 materials, animation conventions and levels of detail before compiling to an FS9 MDL. An FSX, Prepar3D or modern MSFS model is not interchangeable with an FS2004 model.

These are old development tools. On newer Windows installations, use a short, writable project path rather than exporting inside a protected Program Files directory, and keep frequent backups of the gmax source.

How is an FS2004 aircraft folder structured?

An FS2004 aircraft is a folder under the simulator’s Aircraft directory containing the model, configuration, flight dynamics, textures, panel and sounds.

File or folderPurpose
aircraft.cfgAircraft identity, weights, fuel, engines, contact points, controls, lights, effects and selection-menu entries.
AircraftName.airBinary aerodynamic and engine tables used by the FS9 flight model.
modelContains model.cfg and the exported MDL.
textureContains the BMP textures referenced by the model.
panelContains panel.cfg and any distributable panel assets.
soundContains sound.cfg and the aircraft’s sound files, or a permitted alias.

The entries in each [fltsim.x] section must agree with that structure. The sim= value identifies the AIR-file basename, while model=, texture=, panel= and sound= select matching suffixed folders. For example, texture=blue expects texture.blue; an empty value uses the unsuffixed folder.

Give every variation a unique title=. Duplicate titles are a frequent reason for FS2004 to reject or hide an otherwise valid aircraft entry.

How do I build and export the aircraft?

Build the aircraft in controlled stages so that modelling, export and flight-model faults can be tested separately.

  1. Define the aircraft before modelling. Record its real dimensions, reference datum, empty weight, centre of gravity, landing-gear positions, fuel capacity, engine type and target performance. Guessing these later usually produces an aircraft that looks right but handles badly.
  2. Create the basic gmax model. Set the correct scale and orientation, then build the fuselage, wings, tail, gear, propeller or fan assemblies and cockpit. Establish clean pivots and a sensible parent-child hierarchy before adding fine detail.
  3. Separate moving parts. Ailerons, elevators, rudder, flaps, wheels, gear doors, propellers and cockpit controls need their own objects, correctly positioned pivots and the FS2004 naming or animation conventions documented in the SDK.
  4. UV-map and texture the model. Use FS9-compatible BMP textures with suitable power-of-two dimensions. Check alpha channels carefully: their effect can be transparency or reflectivity depending on the material settings, so an incorrect alpha channel may make a surface invisible or excessively reflective.
  5. Add animations. Animate each part over the keyframe range expected by FS2004 and assign the recognised simulation-driven convention. An animation that works inside gmax but has the wrong part name, hierarchy or pivot will remain static or move incorrectly in FS9.
  6. Prepare the virtual cockpit and detail levels. A functional virtual cockpit requires modelled instrument surfaces, gauge mapping and suitable gauges. Add lower-detail LOD models for a finished release so distant aircraft do not retain full cockpit and exterior geometry.
  7. Export through MakeMDL. Compile the model using the FS2004 exporter and read its log rather than ignoring warnings. Copy the resulting MDL into the project’s model folder, then ensure model.cfg points to the correct MDL basename.
  8. Create the flight model. Configure dimensions, mass, balance, fuel, engines, propeller data, contact points and control response in aircraft.cfg, then use FSEdit where AIR-table changes are required. FS2004 does not derive aerodynamics from the visual mesh.
  9. Add the panel and sounds. Begin with a simple, known-working panel and sound setup while testing. Custom gauges and sounds can be added after the model loads reliably; otherwise a bad gauge may be mistaken for a model-export fault.

The visual wheels do not determine where the aircraft touches the runway. Ground position and handling come from the reference datum, centre-of-gravity values and [contact_points] entries in aircraft.cfg. Moving the model to cure sinking or tipping usually creates a second alignment problem elsewhere.

Why does my aircraft not appear or work in FS2004?

Most missing or broken FS2004 aircraft are caused by folder nesting, mismatched filenames or an invalid [fltsim.0] entry rather than the 3D model itself.

SymptomLikely cause and fix
Aircraft is absent from the selection menuCheck for an extra nested folder, a missing aircraft.cfg, duplicate title=, incorrect sim= value or malformed [fltsim.0] section.
FS9 reports that the aircraft or model cannot loadConfirm that the AIR file exists, model.cfg names the exported MDL correctly and the model= suffix matches the folder.
Model is grey, black or partly invisibleLook for missing texture filenames, an incompatible BMP format, incorrect material flags or a bad alpha channel.
Aircraft floats, sinks or tips overCorrect the datum, centre-of-gravity height and contact points; do not reposition the visual model as the first fix.
Control surfaces remain static or move backwardsRecheck object names, animation conventions, pivot orientation, hierarchy and exported keyframes.
FS9 crashes when the aircraft is selectedTemporarily remove custom gauges, panel and sound components. If it still crashes, test a fresh MDL export and a backed-up AIR file to isolate the damaged component.

How should I test the FS2004 flight model?

Test against published aircraft data at known weights and conditions, changing one group of parameters at a time.

  • Confirm the model’s dimensions, viewpoint, lights, animations and propeller or fan rotation.
  • Check ground attitude, steering, braking, suspension and gear retraction before adjusting airborne behaviour.
  • Verify empty weight, maximum weight, fuel loading and centre-of-gravity movement.
  • Compare take-off distance, climb, cruise speed, fuel flow, stall behaviour and landing performance with reliable reference figures.
  • Test trim and stability across more than one weight and altitude. A flight model tuned for a single cruise condition may be unusable during approach.
  • Watch frame rate from exterior and virtual-cockpit views, then simplify geometry or LODs where necessary.

Keep separate versions of aircraft.cfg and the AIR file. A mistake we see constantly is changing engine power, drag, control effectiveness and weight together; when the result gets worse, there is no clear way to identify which edit caused it.

Can I start with a default FS2004 aircraft?

You can use a similarly configured default aircraft as a private prototype, especially to prove that your model, panel and sound folders load. It is not a substitute for building flight dynamics that match the new aircraft.

Do not package copied Microsoft models, textures, sounds, gauges or other protected assets. A configuration may reference an installed stock panel or sound set through an alias, but the dependency should be stated clearly and the stock files should not be included in the download.

How do I package the finished aircraft?

Package the finished aircraft as one folder that can be placed directly inside FS2004’s Aircraft directory, with no unnecessary source files or extra directory level.

Include a readme covering installation, removal, controls, dependencies, known limitations and asset permissions. Test the packaged copy rather than the development folder; our FS9 add-on folder and installation guide shows the placement your users will expect.

Remove gmax source files, layered artwork, exporter logs and backups from the runtime package unless you deliberately provide them in a separate development archive. Verify every texture, gauge, effect and sound reference so the aircraft does not depend silently on files present only in your own FS2004 installation.

AI Assistant New

Still stuck? Ask Fly Away

Ask Fly Away is our AI flight-sim assistant. Ask your exact question and get a direct, step-by-step answer in seconds — free to try.

Ask Fly Away Free preview · unlimited for PRO members