Remove Airport Ground Services (1.12.13.0)

This is compiled from various sources and not my product. I am doing a lot of small airports where no ground services are available. So, here is how I do it from scratch with 1.12.13.0 and SDK 0.9.0 (which introduces new bugs, more on that later).

  1. Create new folders in your PackageSources directory called “AirportServices<ICAO>”
  2. Create service.xml in that folder
  3. Edit and paste code from below
  4. Create a new file entry in SDK Inspector
  5. Name it “service”
  6. Select “Service” as type
  7. Set AssetDir and OutputDir to “AirportServices<ICAO>”
  8. Save & build your project

1609700494954

1609700630302

<SimBase.Document Type="ServiceFile">
<Service.ParkingSpaceServices>
<ParkingSpace name ="RAMP SMALL">
<ParkingTypes>
<ParkingEntry ParkingType="RAMP_GA_MEDIUM"/>
<ParkingEntry ParkingType="RAMP_GA_SMALL"/>
<ParkingEntry ParkingType="RAMP_GA"/>
</ParkingTypes>
<IdleWorkers>
</IdleWorkers>
<Services>
</Services>
<SleepingActivities>
</SleepingActivities>
</ParkingSpace>
</Service.ParkingSpaceServices>
<Service.AirportServices>
<Services>
</Services>
</Service.AirportServices>
</SimBase.Document>

This also removes services at MEDIUM GA RAMPs, since the compiler seems to convert all SMALL to MEDIUM RAMPs on reopen of a project. Another bug. If you do not want that remove the line containing “RAMP_GA_MEDIUM”.

Only true for 1.12.13.0, as this has a bug currently.

  1. Open the compiled package “scenery” folder in Windows Explorer
  2. Move the folder “AirportServices” up one level (“Packages/<package_name>”, same level as “scenery”)
  3. Edit the layout.json file
  4. Remove “scenery/” at the entry for service.spb

On the next airport you can use the spb directly, you just need to change the ICAO in the folder name and change the layout.json file accordingly.

3 Likes

The size of the ramp_ga_xxx is controlled by the radius of the parking spot. I think 9m or 10m or above is considered a medium spot, and, you are correct the compiler will recognize that and change it. It’s trying to help :roll_eyes:.

6m is a good radius if you’re looking to have GA planes in the spots. 7 or 8 meters for the CJ and Longitude and C208.

There’s a problem with the Services.xml file example in the SDK. You can’t use the service filename paths as they are. The default services all have Asobo_ as a prefix to the directory name, so that needs to be changed. For example, if you want to keep the fuel truck service to get fuel delivery from ground control, then

<Service.AirportServices>
	<Services>
		<Service name ="Fuel" Filename="Shared\Fuel\Fuel" ParkingType="VEHICLE" Frequency="1.0"/>
	</Services>
</Service.AirportServices>

should be

<Service.AirportServices>
	<Services>
		<Service name ="Fuel" Filename="Shared\Asobo_Fuel\Fuel" ParkingType="VEHICLE" Frequency="1.0"/>
	</Services>
</Service.AirportServices>
1 Like

Thx for the tip, I will try that out for sure.

I have now a different problem. Users tell me that all services on ALL airports disappear when they use my sceneries.

Any idea how to fix this?

1 Like

Yes, I found this bug a month or two ago. Unfortunately, rather than keeping the effects of these files local to the airport they are in, the last read file is used for the installation. I submitted the bug to Zendesk, so they know about it. You should probably submit one, too. The more people who complain about it the better.

The whole Living World concept is borked since you can’t have a services / living world config that only works at a local airport.

I imagine the possibility exists we could learn how to write services and create special parking and maybe there’s some logical way to manage services which reduces traffic on our airports but leaves the normal services intact at other airports. But that’s beyond my ken.

It seems the AirportServices now break the ground services for ALL airports. Have one AirportServices file for one airport and they are ALL gone.

But, the good news is that small GA spaces now seldomly spawn workers.

I have removed all AirportServices files and changed all parking spaces to SMALL with a radius of 5 meters. This seems to work. At least I saw no workers when loading all of the airports several times.

1 Like

Exactly. Although, I wouldn’t say it “breaks” airport services at other airports. More accurately, the last one read takes precedence. It will read all the packages in from the Community directory, and the last airport services file it reads becomes the airport services file for the session. At least that’s what I’ve seen in my testing.

In my mind, the airport services files should have bubbles they work in. They could use the ATC volume for an airport to also limit the application of the services. Hopefully they have the granularity on ATC volume that is in real life, i.e. the cake, and are able to have exclusion zones that, say a Class D airport has when it’s under a Class B cake.

Unfortunately, it’s clear the airport services function is either not fully implemented, or was not well thought out in its application. I don’t know that they had an understanding that most class D size airports don’t have pushbacks, and only one or two marshallers per FBO at an airport. While the default setup of services may work for large airports with gates, the number and types of vehicles on the tarmac is ridiculous for GA airports. With that in mind, it’s critical that we get the ability to control Airport services on a per airport level. It’s not ok to have 3 fire trucks and 5 full size buses running around an airport with 1 FBO and a 6000 ft runway.

Also, I hope they reviewed airport addon releases from previous versions or looked at airports, and realized that say an airport with a single 6000 ft runway might have 300 parking spaces, not 10 or 15, and did some research on how much ground traffic existed on these airports (nearly non-existent). So controlling traffic on a per parking spot basis will be super hard to get right for any particular airport.

Finally, in my own experience, any vehicle can spawn at a vehicle parking spot. I’d appreciate the ability to control what particular vehicle spawns. For instance, I’d like to say these 3 vehicle spots are fuel trucks, and these 3 vehicle spots are for operations, and these 6 vehicle spots are for maintenance, so maybe only one of them has a vehicle spawn on the 6. But I get a 1:1 spawn at the other spots. It would be cool to have have normal road cars that drive to aircraft parking spots like pilots who drive and park next to their plane.

Obviously, I’m a GA guy :slight_smile:

1 Like

Any idea why I’m getting this error? Can not figure out what I’m doing differently than OP.

Edit: I got it sorted out. If you try to hit the … and navigate to the folder, it just doesn’t work. Typing in airportservice/05ar in the output field works fine. It’s the little things I guess.

1 Like

This is getting pretty frustrating. I have tried this at several airports, with different iterations of Services files just for some trial & error. I am currently using the following code:

<SimBase.Document Type="ServiceFile">
<Service.ParkingSpaceServices>
<ParkingSpace name ="RAMP SMALL">
<ParkingTypes>
<ParkingEntry ParkingType="RAMP_GA_SMALL"/>
<ParkingEntry ParkingType="RAMP_GA"/>
</ParkingTypes>
<IdleWorkers>
</IdleWorkers>
<Services>
</Services>
<SleepingActivities>
</SleepingActivities>
</ParkingSpace>
</Service.ParkingSpaceServices>
<Service.AirportServices>
<Services>
</Services>
</Service.AirportServices>
</SimBase.Document>

My goal here is to eliminate services at the airport as I typically create bush strips. All of my parking spaces are the Small 5m variety as these are intended for small GA, mostly STOL aircraft. I have placed this XML file in PackageSources>airportservices>icao folder, then using the SDK, I generated spb file. Despite that, I still have workers walking around. I also have ambient parked planes and airport vehicles, but I’m assuming that’s a living world issue which can’t be resolved at the moment.

Where is the spb located?

This file does not influence airport vehicles or ai traffic. That is a separate option.

In my opinion it is completely broken at the moment. But small GA should not spawn workers.

You should not use this feature at the moment because if you get it to work it removes services at ALL airports.

no, the folder AirportServices must go into your built package, at the same level where there are the manifest and layout file

… and check in your package folder if the layout.jason contain the Services.xml

read this thread, starting from my post and you definitally solve it :wink:

Sorry, but you’re wrong here. I had the file in the correct location. Once you build your package, the SDK automatically creates the folder that you’re referring to along with the spd file, so yes, I do have that folder as well. The file must be here first: PackageSources > airportservices > icao folder as I described above. As I stated above, I generated the spd file using the SDK. That creates the folder within the built package.

I resolved this issue with some trial & error. What I learned is that when it comes to services.xml, the plane you spawn in with overrides the size of your parking space. In my case, I had SMALL parking, but I spawned in with a Cessna. Since I spawned in a plane that is larger than the SMALL parking space, the sim looks for the logic from the MEDIUM space. I ended up updating my file to reference both SMALL & MEDIUM parking to remedy this.

1 Like

Making the parking spaces Military Combat eliminates every ground service as far as I can tell. I haven’t seen anything since at the places I changed.

1 Like

the method I have described to you is recommended when the SDK editor does not do his job. In the first versions of sdk maybe there were some bugs and often it didn’t work.
so, what I suggested is the manual method, you do what the editor is supposed to do.
and sure, it works, because I’ve always used this method (and other people as you can read on xda link)

the important thing is that you have solved it :wink:

Finally figured out how to get ground services to stay home. Tried this setting before and it didn’t seem to work but I may have forgotten to shut down the simulator completely after compiling. Though the filename may have played a part too. The SDK manual says to use a prefix (so as not to confuse with other airports); but I eventually changed this back to just “Services.xml”.

Adding MinParkingSpaces=“0” to attribute seems to make all the difference. Name field is not needed.

<SimBase.Document Type="ServiceFile">
<Service.ParkingSpaceServices>
<ParkingSpace MinParkingSpaces="0">
<ParkingTypes>
<ParkingEntry ParkingType="RAMP_GA_SMALL"/>
<ParkingEntry ParkingType="RAMP_GA_MEDIUM"/>
<ParkingEntry ParkingType="RAMP_GA_LARGE"/>
<ParkingEntry ParkingType="RAMP_GA"/>
</ParkingTypes>
<IdleWorkers>
</IdleWorkers>
<Services>
</Services>
<SleepingActivities>
</SleepingActivities>
</ParkingSpace>
</Service.ParkingSpaceServices>
<Service.AirportServices>
<Services>
</Services>
</Service.AirportServices>
</SimBase.Document>
1 Like

Awesome find! Have you checked that ground services at other airports still exist?

Yes, they do. At least I checked at Sedona airport, AZ… and they’re everywhere.

1 Like

Thx for sharing! :+1:

Hi, I know it’s one year later but I have this issue with my scenery services causing issues with other airports. Is there now a fix or is it still an unfixed bug/issue… Thanks

Well… Yes… Still an issue. I highly recommend going to devsupport.flightsimulator.com and voice your support for fixing it. I’ve got multiple threads over there asking for fixes. Please add your support and your own questions and ideas.

1 Like

Can you add this bit of code to default airports in order to remove the workers standing around?

SO distracting in VR to see three yellow-vested NPC’s in front of my plane, pre-dawn, as I sip coffee and TRY plan my flight out of my local Class D… :man_facepalming:t2: