Unknown dependencies but show on DLS in 'Asset Versions'

Davie_UCF

Here since 2001, Trainz!!
In the dependencies for one of my routes and Markys great Cornish Railways route I have a few 'unknowns' that if you click 'show asset versions' show an asset on the DLS or already installed.

See here, in the background window the same kuid (although a KUID2) is showing as unknown, yet the asset versions window of the same kuid shows the name, and it being 'packaged' and 'available for download'
So is it installed? Will that route use the earlier assets ? Or is it still missing?

I see the unknown version is a newer version than the ones showing in asset versions, so the new asset is unknown yet someone (including me) has used it in a route, how?
There's a few assets like this making finding dependencies really frustrating.

trainz11.jpg
 
The reason is the unknown asset is version 2 while the packaged version is 1. The version 2 that is unknown most likely came from a DLC package you downloaded at some point and was installed at the time you opened and then saved your route. You can try and open your routes config file and change the 2 to 1 and then save the config and submit it. You could also try to obsolete the version 2 from the version 1's config.
 
Changing a kuid in the kuid-table of the config.txt for a route or session doesn't alter the assets required as dependencies. The kuid-table is used only by the Content Manager to quickly find dependencies. The kuids of the really required dependencies are stored in the various files of the route or session. The exception are kuids, which are referenced somewhere in the config.txt. Saving the route or session will rewrite the kuid-table, restoring the originally required kuid.

Peter
 
Ensure that you have the latest updates for all the assets and run a DBR. I found that solved my missing but weren't assets issue I had a few weeks ago.
 
The usual cause of this problem is assets (or updates to assets) that are released in DLC packages but not on the DLS.

I have the <unknown asset>:-

<kuid2:1942:25086:2> Bungalow 2 which is listed as Packaged and is in the 822.tzarc package (whatever that is)
 
The usual cause of this problem is assets (or updates to assets) that are released in DLC packages but not on the DLS.

I have the <unknown asset>:-

<kuid2:1942:25086:2> Bungalow 2 which is listed as Packaged and is in the 822.tzarc package (whatever that is)

How do you find out what packages assets are in? That would be useful.

I have a few package files in my Trainz 19 install. I originally moved the entire content folder over to Trainz 22 which would have brought those packages with it. But my newer install I've used the content manager only. I do wonder if I could get some of those assets by copying over specific packages from my other install.
 
Changing a kuid in the kuid-table of the config.txt for a route or session doesn't alter the assets required as dependencies. The kuid-table is used only by the Content Manager to quickly find dependencies. The kuids of the really required dependencies are stored in the various files of the route or session. The exception are kuids, which are referenced somewhere in the config.txt. Saving the route or session will rewrite the kuid-table, restoring the originally required kuid.

Peter
You are not changing the asset only the version.
for example
kuid2:12345:789:2 was used on a route and/or session. It was a DLC asset.
A lower version (kuid2:12345:789:1 kuid:12345:789) is installed or on the DLS so I download this version kuid2:12345:789:1.
Change the kuid in the route/session config to kuid:12345:789 and save.
Submit the route/session and do a DBR. When you then open the route the 2 version is replaced with a 1 version.
 
Last edited:
Change the kuid in the route/session config to kuid:12345:789 and save.
That never works. The kuid-table in the route and session config.txt files is constructed from the actual assets used in the route/session when it is saved - any edits you make to the kuid-table before saving are ignored.

What should happen in these cases (and from my experience, most of the time it does) is that if an earlier version of a required asset is installed and the requested (updated) asset is not, then Trainz will use the currently installed earlier version in the route and session.
How do you find out what packages assets are in? That would be useful.
In Content Manager, highlight the asset and from the Content top menu select the option Report Containing Packages. This will report the code name, e.g. 822.tzarc, of the package. There is, reportedly, a method of identifying the actual name of the DLC package and not its code name, but I have not yet discovered it.

There is a thread in these forums where some (many?) of the packages have been identified by name - see number-of-sc-dlc-package.143779
 
pware I suggest you try it.
Find a route and or session with missing assets. Check if there is a lower version asset on the DLS or you have got installed. Open the config of the route and session find the kuid and remove the 2 and version. Save on exit and submit the route. You will find that the lower version will be present in the route when launched. Exit with a save and check the config and you will find the kuid that you altered is still there.
 
I just tried that and it did not work as predicted.

I created a new route in Trainz Plus using just the <kuid2:1942:25086:2> Bungalow 2 Packaged asset I have installed in Plus. I saved the route and exited Plus. Saved the route in CM again as a .cdp.

Started TRS22PE, (which has no packaged assets), imported the .cdp route into CM. It reported a "Missing Dependency". Loading the route into Surveyor gave me just a blank baseboard.

I installed the earlier Bungalow version from the DLS, <kuid2:1942:25086:1> Bungalow 2, into TRS22PE. Edited the entry in the config.txt file kuid-table from <kuid2:1942:25086:2> to <kuid2:1942:25086:1>. Saved, exited TRS22, restarted and reloaded the route (still reporting a missing dependency). The route appeared without the Bungalow 2 present. Looking at its config.txt file revealed that the kuid-table had reverted to showing <kuid2:1942:25086:2>.
 
Report Containing Packages probably works for installed assets only, not for unknown assets.

To find the name of the package,
- open the Content Store from the Launcher
- enter the package code in the search field, stripping anything after the digits (sc123p -> sc123)
- if more than one package is listed, use View Details to check the package code.

Peter
 
When entering 822, I got 4 packages listed. The last one Bairnsdale to Orbost had the ID sc:822. In Content Manager the package reported for the route was 822.tzarc. The package wasn't shown is TRS19, only in TRS22 and Trainz+.

Peter
 
I just tried it again in the Trainz Store (Trainz Plus) search box. This time 4 packages appeared. None appeared in my previous attempts. Must be the phase of the moon 😄
 
In Content Manager, highlight the asset and from the Content top menu select the option Report Containing Packages. This will report the code name, e.g. 822.tzarc, of the package.
This only gives the name of the package the asset is loaded from, not the list of every package that contains it. See the TrainzUtil command "list-package-assets <package-name>" here.
For a full DLC list, see "Complete DLC Listing" here.
 
This was reported by Roy (RoysTrainz) and myself back in the late T:ANE or early TRS19 days.

I have a brute-force fix for this.

1) Download the existing version that's on the DLS. - may need to use the White Pages to do so.
2) Open up the asset for editing Content Manager
3) Navigate to the Editing folder in the Trainz content folder wherever that may be.
4) Copy the kuid-named folder, i.e., kuid 2 124863 260001 1 to the desktop.
5) Open the folder on the desktop and edit the config.txt file.
look for the Kuid and replace that with the updated one, i.e., <kuid2:124863:260001:2> to match the missing dependency, for example.
6) In Content Manager revert the downloaded one to original.
7) Import the folder from the desktop either by dragging and dropping into Content Manager or by using the file import option.

The process takes far less time than it did for me to type this out.
 
I have a brute-force fix for this.
My concern with this "fix" is that it even though it probably works (I haven't tried it) it does not actually solve the problem.

The most common cause of this type of problem is that an update to an installed DLS asset is in a DLC package but it has not been uploaded to the DLS. Effectively, the DLS "freeware" asset, or its update, has become "Payware". It is, of course, the right of the asset creator to decide where and how their work is distributed. N3V has recognised this as a problem and did provide a solution (as explained below).

5) Open the folder on the desktop and edit the config.txt file.
look for the Kuid and replace that with the updated one, i.e., <kuid2:124863:260001:2>
So what happens if, eventually, the updated asset is uploaded to the DLS (it does happen). You will have two different versions of the asset using the same kuid - the actual update on the DLS and a "pseudo-update" on your system.

What is supposed to happen in this situation, and from my experience does happen (most of the time), is that your Trainz will automatically use an earlier "Installed from Download Station" version of the updated version from a DLC package that you do not have installed. I see this happening in my copy of TRS22PE (which has no DLC installed) when I import a route containing updated but "Packaged" assets from my Trainz Plus (which does have DLC installed).

This works most of the time - TRS22PE will replace the update with the earlier DLS version (without altering its kuid). But there are "Packaged" assets for which there are no earlier versions on the DLS that can be used so TRS22PE will report them as "Unknown Assets". In those cases I replace the packaged asset in the Trainz Plus route with one that is on the DLS (or has an update on the DLS) and re-import into TRS22PE.

The <kuid2:124863:260001:2> Bungalow 2 asset is an example of where this does not work - I have come across a few others.
 
Last edited:
If a version of an asset is available, which is newer than the one requested in the kuid-table (or files) of a map/session, Trainz uses it. I have never seen Trainz using an older version than requested.
@pware
In your situations the map/session probably requested a lower asset version in the kuid-table (or files), but Trainz+ uses the newer packaged version, while TRS22PE uses an available asset version, which is equal or higher than the requested one.

Peter
 
If you make the change back to the non kuid 2 number it will still use the latest version available. In the video, you will see that the route has installed version 1 and not the one in the table. A route will only use the latest version and once entered in the config it will not seek a lower version. It works because the asset has not been altered only the reference in the table. I've been doing this for a very long time to get rid of newer versions of DLC pack assets.
Find the kuid of bungalow 2 and replace it in the table with the non kuid 2 number.
 
Back
Top