Activities, Consists - What Goes Where And Who's Dependent On Whom
by Jim "sniper297" Ward


If you're having trouble with Activities, Route Riter will find and fix problems.

Trouble is most likely dependencies: let's explain each part:


The CON files have the names of different TRAINSETS (whatever.eng and whatever.wag), and if any of the trainsets are missing or in the wrong folders, MSTS has a hissy fit.

\ROUTES\RouteName\ACTIVITIES\whatever.act or whatever.asv (compiled "compute and save" version of the .act)

These are the actual activity files, names of the SERVICES and TRAFFIC files are in these. If the activity has loose consist cars, it reads those directly from the \TRAINS\TRAINSET\WHATEVER\ folders, looking directly for whatever.eng and whatever.wag to load as loose consists. Early reskins in activities and consists can cause problems, "create a folder in TRAINSET and name it whatever you want", with no standardization the path will be different and MSTS has a hissy fit. To fix those type of problems you need to open the whatever.act files and whatever.con files and change the path, or create a new folder in \TRAINS\TRAINSET with the folder name the ACT and CON files are looking for, and copy or move the trainsets into that folder.


The actual driveable service, the srv files contain the name of the consist from the \Trains\Consists\ folder, plus the path it runs on. If whatever.con is not in the \Trains\Consists\ folder when whatever.srv wants it, MSTS has a hissy fit.


This file lists all the AI traffic services, including each whatever.srv file, and starting times (in seconds after midnight) for each service in the pattern. This one is kinda sticky, the same info is in the whatever.act and whatever.asv files, get those out of synch and MSTS has a hissy fit.

If all this sounds complicated, that's why various utilities for troubleshooting were made - I'm an old DOS dinosaur, so I had very little problem reverse engineering the whole mess, and can trace thru dependencies to fix problems manually. All the files except whatever.asv are UNICODE and can be opened, read, and edited with wordpad. Get a corrupted or outdated whatever.asv file (which is compiled into machine language for faster loading), the cure is to delete whatever.asv, open whatever.act in the activity editor, then run "compute and save" to generate a new whatever.asv file. Also keep in mind the whatever.trf file, if that traffic pattern is used in more than one activity, when you edit the pattern in one activity it will be out of synch with the others, so the others also have to be opened and resaved.

I didn't mean to ramble on and do a whole tutorial on this, but it's been an FAQ looking for a place to happen for a long time now. Deleting a trainset is the first step toward disaster, since the whatever.con and whatever.act files using that trainset go spastic if it's MIA. Deleting a route is no problem, since the activity, service, and traffic files get deleted along with it, and they're the ones with the dependencies.

Proper deletion order to avoid this:

  1. The route, or the activities, services, and traffic patterns in the route that are dependent on the consists and trainsets;
  2. ;
  3. The consist files dependent on the trainsets. Once you're sure the consist is no longer used by any service in any route, it's safe to delete the whatever.con file.
  4. Last thing to go, delete the \TRAINSET\WHATEVER folder once you're sure that folder contains only whatever.eng and whatever.wag files that are no longer used by any installed activity or consist file.