Anyway to remove the standard MSFS pushback tug?

Hello,

I searched for the aircraft.cfg file, to be able to turn on and off the standard MSFS pushback truck. But I was told it is not there because it is encrypted.

Does anyone know another way to remove the standard pushback truck in MSFS? Or to turn it on or off? It is kind of odd that you cannot control that, because sometimes there is no need for a tug.

Greetings,

Boudewijn

If the aircraft.cfg is available you can set the “Services” (i.e. pushback, marshal etc.). Otherwise you should be able to turn it off for all airports by using a generic file if you make sure it gets loaded last. I haven’t experimented with this I can tell you exactly what to do.

if you want to remove a given vehicle from ALL airports, try looking in

…\Official\OneStore\asobo-simobjects-vehicles\SimObjects\GroundVehicles

Given you’re on PC… Yes. There’s a few ways.
Before we go destroying your installation… here’s a “simple” way.

To do what you were suggesting, you can still change it for encrypted planes by adding a Livery, putting the appropriate header information in the Aircraft.cfg file, and make sure the name of the directory containing the livery would show up first in an alphabetical directory listing.

For example, for any given plane will be the container directory:
SimObjects\Airplanes\Carenado_C170B

(You’ll find the plane packages in the OneStore directory for FS for Marketplace and default files. In this case OneStore\carenado-aircraft-c170b)

In your livery package, name the container directory
SimObjects\Airplanes\0_Carenado_C170B

Then inside there your aircraft.cfg file for the plane would be

[VERSION]
major = 1
minor = 0

[VARIATION]
base_container = "..\Carenado_C170B"

[GENERAL]
atc_type ="TT:ATCCOM.ATC_NAME CESSNA.0.text"
atc_model ="TT:ATCCOM.AC_MODEL C170.0.text"
Category = "airplane"
performance = "
Maximum Speed\n140 KTAS     140 mph       230 km\/hr\n\n
Cruise Speed\n100 KTAS     120 mph       190 km\/hr\n\n
Engine\nLycoming IO-360-C1C6 4 cylinder 200 bhp\n\n
Propeller\nTwo-Bladed Macauley Constant Speed\n\n
Maximum Range\n650 nm            748 mi          1203 km\n\n
Service Ceiling\n14,000 ft\t         4267 m\n\n
Usable Fuel Capacity\n42 gal\t          159 L\t \n\n
Empty Weight\n1,220 lb\t          554 kg\n\n
Maximum Gross Weight\n2,200 lb\t          1,000 kg\n\n
Length\n25 ft, 0 in          7.6 m\n\n
Wingspan\n36 ft, 0 in\t           11 m\n\n
Height\n6 ft, 7 in\t           2.01 m\n\n
Seating\t           4\n\n
Useful Load\n1,000 lb\t           455 kg\n"
icao_type_designator = "C170"
icao_manufacturer = "Cessna"
icao_model = "170"
icao_engine_type = "Piston"
icao_engine_count = 1
icao_WTC = "L"

[PILOT]
pilot = "Pilot_Female_Casual"
copilot = "Pilot_Male_Casual"
instructor = "Pilot_Male_Casual"
pilot_default_animation ="Idle1_PosePropeller","","","","","","","","","","","","","","",""
copilot_default_animation ="Idle2_PosePropeller","","","","","","","","","","","","","","",""
pilot_attach_node = "PILOT_0"
copilot_attach_node = "PILOT_1"

[SERVICES]
FUELTRUCK = 1
BAGGAGE_LOADER = 0
CATERING_TRUCK = 0
BOARDING_RAMP = 0
GROUND_POWER_UNIT = 0
PUSHBACK = 0
SMALL_PUSHBACK = 0
MARSHALLER = 1
JETWAY = 0

[TIMELINE.FLIGHT_RUNWAY]
Flaps = 0

;===================== FLTSIM =====================

[fltsim.0]
title="Carenado C170 N2962D"
model="N2962D"
panel="N2962D"
sound=""
texture="N2962D"
kb_checklists=""
kb_reference=""
ui_manufacturer="Cessna"
ui_type="170B"
ui_variation="N2962D"
ui_typerole="Single Engine Prop"
ui_createdby="FlyingsCool"
description="C170B N2962D"
wip_indicator=2
ui_thumbnailfile=""
ui_certified_ceiling=14000  ; service ceiling / max certified operating altitude (ft)
ui_max_range=650 ; max distance the aircraft can fly between take-off and landing in (NM)
ui_autonomy=5 ; max duration the aircraft can fly between take-off and landing in (Hrs)
ui_fuel_burn_rate=60 ; average fuel consumption per hour (lbs/hr) - reminder: fuel density is ~6.7lbs per US gallon
atc_id="N2962D"
atc_id_enable=1
atc_id_color="0x2F0204"
atc_id_font=""
atc_heavy=0
atc_airline=""
atc_flight_number=""
atc_parking_types="RAMP"
atc_parking_codes=""
isAirTraffic=0
isUserSelectable=1
canBeUsedByAITraffic=1
icao_airline=""
visual_damage=1

base_container tells it where to find the rest of the files for the plane.

Technically, a livery only needs a new [Fltsim.n] section. But, you can redefine other pieces of the aircraft.cfg file as well, such as the Services section, which is what you’re concerned with.

The important stuff for your question is the line

[SERVICES]
..
SMALL_PUSHBACK = 0
..

Should turn it off for you…

But, wait…
There’s more! :wink:

Ever wonder how you can get ATC to say the correct Type and Model for your plane? Ever wonder why developers don’t know how to do this properly? I can’t help you with the second question, but I can help you with the first!

In the main MSFS directory is a file …\OneStore\fs-base\en-US.locPak (and all the rest of the language files). This file defines all the text strings FS uses, and, of course, allows them to be said in all the languages MSFS speaks… (ever wonder why they can’t just release stuff, here’s one reason why, they have to update all these language files all the time… that’s a lot of work).

The two lines

atc_type ="TT:ATCCOM.ATC_NAME CESSNA.0.text"
atc_model ="TT:ATCCOM.AC_MODEL C170.0.text"

tell FS which variables ATC will use when it needs to say the type and/or model. This is NOT the text that is said, not directly anyway, it’s calling out the variable that defines what’s said for that value. The values for these variables would normally be defined in the main .locPAK file in fs_base. But if the developer wrote the wrong value you can correct this to the correct variable value found in the main file in the aircraft.cfg file. Or if it’s not defined in the main file because there are sooo many manufacturers and planes Asobo couldn’t get them all, you can then create your own and define these variables yourself in your own language file placed in the root of the livery package.

So, for your locPAK localization file you’re going to write, for English it would be en-US.locPAK (how come there’s no en-BR.locPAK?), you would write:

{
  "LocalisationPackage": {
    "Language": "en-US",
    "Strings": {
      "AIRCRAFT.DESCRIPTION": "some description text here",
      "AIRCRAFT.UI_MANUFACTURER": "Cessna",
      "AIRCRAFT.UI_MODEL": "C170",
      "ATCCOM.ATC_NAME CESSNA.0.text": "Cessna",
      "ATCCOM.ATC_NAME CESSNA.0.tts": "Cessna",
      "ATCCOM.AC_MODEL C170.0.text": "170",
      "ATCCOM.AC_MODEL C170.0.tts": "170"
    }
  }
}

Granted, for the Cessna 170, all that information is already in the main fs_base\en-US.locPAK file, so you don’t need to do this for this plane, but it’s easy enough to do a text search on the main file to figure out what Asobo has defined for your plane (in case you have to correct it) and which planes need this information defined when you’re adding a livery or just purchased a new plane and want the correct stuff to be said by ATC.

But, wait, there’s more!!
Ever hate how some developers name the manufacturer of the plane after their own company? Blech!

You can change this in the Aircraft.cfg file of your livery, too…

the lines

ui_manufacturer="Cessna"
ui_type="170B"
ui_variation="N2962D"

The first livery of a plane controls the values for these lines, so if your livery shows up first, this information is used to sort the planes in the Hangar list. In FSX you could have multiple icons for the same plane in the same aircraft.cfg file by changing the ui_type per [FltSim.n] section, but not in MSFS unfortunately. Be that as it may, doing this will make it so your plane is no longer the Carenado 170B.

As a side note, and you’ll see the values defined in the language file definition I wrote above… because, to help support multiple languages, rather than directly writing these values in the aircraft.cfg like I did above, you can do this, and define what’s written in the .locPAK language file, as shown above, and then write the lines in the aircraft.cfg file like:

ui_description="TT:AIRCRAFT.DESCRIPTION"
ui_manufacturer="TT:AIRCRAFT.UI_MANUFACTURER"
ui_type="TT:AIRCRAFT.UI_MODEL"
ui_variation="N2962D"

But wait, ever wonder why you just saw a live plane fly by and thought to yourself, “Hey, I have a model of that plane, why is it showing a Bonanza when it should be an F-18???” or whatever. That’s because the developer of the plane, for whatever reason, didn’t bother to check out the ICAO definition of the name of the plane and just wrote whatever they pleased in

icao_type_designator = "C170"
icao_manufacturer = "Cessna"
icao_model = "170"
icao_engine_type = "Piston"
icao_engine_count = 1
icao_WTC = "L"

So you can correct this information in the aircraft.cfg, too and make model matching better for Live Traffic. Model livery matching for airlines depends on correct

icao_airline=""

for example icao_airline=JBL for Jet Blue
ICAO make you buy their list for this, but there are several sites out there that let you search on the correct airline names. I use https://www.avcodes.co.uk/airlcodesearch.asp

ATC uses the following variables to call out the airline and flight number for your livery

atc_airline=""
atc_flight_number=""

For instance for Republic Airways you’d put

icao_airline="RPA"
atc_airline="Brickyard"
atc_flight_number=""

And it could be used for any flight, or, if you happen to know the flight number a given livery is always used for, you can fill that in, too, either as

icao_airline="RPA1234"
atc_airline="Brickyard"
atc_flight_number="1234"

or just

icao_airline="RPA"
atc_airline="Brickyard"
atc_flight_number="1234"

I would imagine the second version works better for livery matching with Live traffic. But, who knows?


So, it’s important to remember, for the UI Hangar names and maybe for the ATC text, it’s important for the Livery to be first in the list of liveries for the plane. For the airline data and icao model/livery matching, that just has to be in the aircraft.cfg written correctly with the correct value for it to work.

Hope that helps, let me know if you have any questions.

P.S.
But wait! There’s even more!
There’s also Airport_Services files that can be created to control this, either at the “by Airport” level, or at your system level as the default services definitions by parking spot type.

And then, after that, there’s the LivingWorld_Config files you can create for control of the random stuff all over the place. Unfortunately, they control stuff at the region level, regions like Northern North America or Europe, and you can’t control this stuff at the airport level. So, if you decide you want to make changes here, you have to commit to making those changes everywhere. I’ve created these for myself, but I only fly pretty much at the grass field to GA airport level, so I don’t care if I get rid of those huge pushback machines in my system.

If you find you have problems with Services not showing up, it’s likely one of the airports in your Community directory has an Airport Services file written incorrectly so it’s changing your system and not just the airport in question, or they’ve included a LivingWorld Config file. FS has strict rules on the naming of these files for them to work correctly.

13 Likes

Thanks for all that great info — I hope other Devs read this and pay it some attention .

1 Like

Okay, FIC – I need some clarification here (great info though)…

I’m trying to fix the ATC on the Spartan. The aircraft.cfg (unaltered) has:

atc_type = "$$:Spartan 7W"
atc_model = "$$:Executive"

Which is, I think, nonsense, as those variables aren’t in the localization file at all. (In fact, “Spartan” isn’t in the English loc file anywhere, except as part of “Spartanburg”.) Which means those need to be changed to custom .locPAK entries, if I’m reading you correctly.

You’re talking about livery files in your writeup, I think. But – can I create a custom .locPAK with the proper variables and put it in the root of the aircraft folder? Or somewhere else?

Of course the worst violators of the “rules” for ATC/ID are the marketplace planes with their encrypted, inaccessable, uneditable aircraft.cfg files. Because of course they are. There’s no really viable option to fix those planes, short of a mod that replaces the aircraft.cfg file with one of its own, which basically woudl require reverse engineering the original aircraft.cfg, right?

p.s. I CRINGE every time I hear ATC saying “Seven Whiskey Delta is type three miles north of KBED”. Horrible.

1 Like

Yes, that’s correct, if the plane’s not encrypted, you can edit the aircraft.cfg directly and also add a localization file to the root directory of the plane in the language that you’re using, or add the appropriate information if they already have a localization file there, and not bother with creating a livery.

What you wrote above for the Spartan supposedly should work… but, whenever I’ve tried to use it it didn’t, as you’ve noted. Technically it’s supposed to short circuit the text to speech stuff in MSFS. I figure it’s better to just do it the “right” way. So, I keep a copy of the language file open in Notepad++ for searching every time I install a new plane so I can get all this stuff corrected.

The OP was asking about an encrypted plane, so I went into that detail., so, to

In fact, as I noted, you can correct this information for the encrypted planes by adding a livery to your Community directory and doing all the stuff I showed (seems complicated, but, once you get used to it it’s pretty simple). Sadly, Xbox users are currently up the creek on this.

(Did you see I just updated my KBED addon? :wink: )

Does the livery override the “base” encrypted aircraft.cfg issue even if there’s a [FLTSIM.0] entry in that .cfg? (Which we don’t know, because… encrypted.)

1 Like

Yes, it does. As I noted, it’s important for some of the information to be corrected for the livery to be first in line. Hence, I name the container directory SimObjects\Airplanes\0_whatevernameIwant. That puts the livery first in line, which is typically what I want for it to be the default livery anyway, and, it makes all the information be the defining data for the hangar and other stuff.

Not all the information I change depends on the livery being first, but some, like the ui_model etc., does.

Remember, as a livery in a different directory than the main plane, it also has [fltsim.0] entry.

I’m testing with the Spartan now. (The ui_ entries are correct, as far as I can tell, so it’s just changes to the ATC.) Wish me luck…

Oh, and I should have pointed out, when defining the value of the ATC text, there are 2 defintions for each value called out by the aircraft.cfg…

In aircraft.cfg we have

atc_type ="TT:ATCCOM.ATC_NAME SPARTAN.0.text"
atc_model ="TT:ATCCOM.AC_MODEL EXECUTIVE.0.text"

and in the localization file we have

  "ATCCOM.ATC_NAME SPARTAN.0.text": "Spartan",
  "ATCCOM.ATC_NAME SPARTAN.0.tts": "Spartan",
  "ATCCOM.AC_MODEL EXECUTIVE.0.text": "Executive",
  "ATCCOM.AC_MODEL EXECUTIVE.0.tts": "Executive"

Per the ICAO definitions for the plane… (First thing I did when I bought the plane the other day, lol)

Here’s the rest of my aircraft.cfg edits for the plane…

[VERSION]
major = 1
minor = 0

[GENERAL]
atc_type = "TT:ATCCOM.ATC_NAME SPARTAN.0.text"
atc_model = "TT:ATCCOM.AC_MODEL EXECUTIVE.0.text"
Category = "airplane"
performance = "450 hp Pratt and Whitney R-985 Wasp Radial Engine"
editable = 0
wip_indicator = 2
icao_type_designator = "SP7"
icao_manufacturer = "Spartan"
icao_model = "Executive"
icao_engine_type = "Piston"
icao_engine_count = 1
icao_WTC = "L"
icao_generic=0

[PILOT]
pilot = "Pilot_Male_Casual"
copilot = "Pilot_Female_Casual"
instructor = "Pilot_Female_Casual"
pilot_default_animation ="Idle1_PosePropeller","","","","","","","","","","","","","","",""
copilot_default_animation ="Idle2_PosePropeller","","","","","","","","","","","","","","",""
pilot_attach_node = "PILOT_0"
copilot_attach_node = "HCG_Char"


and for the fltsim sections

[FLTSIM.0]
Title="Spartan Executive NC17634"
Model=""
Panel=""
Sound=""
Texture=""
KB_Checklists=""
KB_Reference=""
description="TT:AIRCRAFT.DESCRIPTION"
wip_indicator=0
ui_manufacturer="Spartan Aircraft Company"
ui_type="7W Executive"
ui_variation="NC-17634"
ui_typerole="Single Engine Prop"
ui_createdby="HCG"
ui_thumbnailfile=""
ui_certified_ceiling=24000
ui_max_range=1000
ui_autonomy=5.5
ui_fuel_burn_rate=9.16
atc_id="NC17634"
icao_airline=""
atc_airline=""
atc_flight_number=""
isAirTraffic=0
isUserSelectable=1
isFlyable=1
canBeUsedByAITraffic=1
Effects=""
atc_parking_types="RAMP"


Oh, and, btw, getting the commas correct in the .locPAK localization file is super important. I added some info to a file once and couldn’t figure out why it wasn’t working, until I realized I forgot to add a comma to the line before the new stuff I added.

Hmm… it didn’t work for me. (Secondary test objectives – using my new joystick and vetting the assignments I made – were met. Also, I started/ended at KBED and thought “wow, the new version is TERRIBLE…” – until I realized that I hadn’t activated the new version (which has a different name, and I forgot to adjust in addons linker). My bad!)

I suspect the issue is that I’ve done the .locPAC file wrong. The commas are present and accounted for, and I saved it in the root Spartan folder (with layout and manifest). It just occurred to me that I probably need to run Layout Generator to get the manifest updated so that the sim “sees” the new .locPAC… That may be the issue.

You’ll make a modder out of me yet…

Well, the first thing I notice is it’s .locPak, not locPAC. If that’s not just a typo here, that would be an issue.

And, yep, I forgot to mention that you need to add the file to the layout.json… Sorry…

MSFS can be very dependent on file spelling, and even capitalization sometimes. I found that out the hard way when I first started playing with Airport_Services and LivingWorld_Cfg. “Why isn’t it working???” “oh” :person_facepalming:

I need my checklist… where’s that checklist??

here’s the contents of my en-US.locPak file…

{
  "LocalisationPackage": {
    "Language": "en-US",
    "Strings": {
      "AIRCRAFT.DESCRIPTION": "Designed expressly for the executive market, the Spartan Executive was configured for both performance and comfort. Built during the Great Depression, the 7W was the brainchild of company-founder William G. Skelly of Skelly Oil who desired a fast, comfortable aircraft to support his tastes and those of his rich oil-executive colleagues.\\nOf the 34 aircraft originally built, As of February 2022, a total of 20 model 7Ws still exist. Fifteen are based in the USA, two are in England, one in Germany, one in France and one in Russia.",
      "AIRCRAFT.UI_MANUFACTURER": "Spartan",
      "AIRCRAFT.UI_MODEL": "7W Executive",
      "ATCCOM.ATC_NAME SPARTAN.0.text": "SPARTAN",
      "ATCCOM.ATC_NAME SPARTAN.0.tts": "SPARTAN",
      "ATCCOM.AC_MODEL EXECUTIVE.0.text": "Executive",
      "ATCCOM.AC_MODEL EXECUTIVE.0.tts": "Executive"
    }
  }
}

Hang on… there’s more!

In the early days of Flysimware’s Chancellor I learned that you can get ATC to more or less say anything using a syntax like below in the aircraft.cfg:

atc_type = “$$:Chancellor”
atc_model = “$$:Cessna Four One Four”

I prevents the lookup in the locPAK file and just speaks the text.
(Credit to Delta2k5)

1 Like

That’s how it was originally coded for the Spartan (see above). I don’t think it was working right, though…

Take 2: did not work. Everything appears correct - code is identical to yours, commas and file extension are correct, new localization file showing in the layout… but I still get “type [nothing]” when requesting flight following. I’m not sure what’s wrong.

Take 3: changed to the $$ nomenclature, and it works now. The other change I made: removing the custom tail number from the customization page. I wonder if that was the thing that was messing it up before?

1 Like

Yes, I’m not sure what’s going on. This worked before… I’m investigating.
I’ve never had a custom reg, so it’s not that for me… still investigating.
I know it’s reading the file, because I used it to change the UI variables. I’m not sure why the atc variables aren’t being properly set.

Hello,

Thanks for all the input, but this has become a topic about a lot off stuff and not my question.

I tried adding the SERVICES section with the pushback = 0 command to the aircraft.cfg of the PMDG liveries that I have. That was one of the ideas I read.

But I was unsuccesful.

Thanks for the help guys, but I am giving up, it is not too important anyway. Just thought maybe somebody knows.

Greetings,

Boudewijn