Trainz/tags/trainz-build tags

From Wikibooks, open books for an open world
< Trainz‎ | tags(Redirected from Trainz/trainz-build)
Jump to navigation Jump to search
Fundamentals for Trainz Trainees

Introductory Trainz — page by page instruction
Loupe light.svg
 Mouse use
Trainz 1.0 was released (2001) with three Service Packs by June 2002, making the version commonly referred to as Trainz 1.3.
* Assets with older Trainz-build numbers are not built to take advantage of new Trainz features that did not exist in their original version of Trainz (that the asset was built in and for), and the oldest such used design approaches which in some cases, have been entirely abandoned.[note 1]
For the new Trainz users:' the moral of this story is to examine trainz-build tags (versions) ASAP after importing new content into CM and provide human intelligence as to whether to delete, keep the asset, or set it aside[note 2]
* As a general rule, before fixing a fault, use the Versions tool to get the most recent version on the DLS, and if it's legal for your install, download that instead. Deleting the old faulty one then will satisfy your dependent assets on your system, and a 'subsequent download and then delete the obsolete asset' process costs little in time and avoids much frustrations. Conversely, if you desire to create assets, fixing assets manually is a great way to learn how they are made. In this case, fixing an obsolete faulty asset has value too.

Trainz-build tag number(s)[edit]

The trainz-build tag (TBV or TB) is an very important single decimal digit floating point number that is applied to any new asset created under the installations particular technology level. When you create a cloned session or route, the version number of your install will assign the matching TBV to any new assets Surveyor or CM creates for you. (But NOT it's code build or build number, which is different).

  • This quantity is often also referred to as the Trainz Version, naturally, as various benchmark TBV's start or end a named retail release version, which names are common to all it's service packs—which normally increment the base TBV value assigned the version before the Service Pack(s)[note 3]
P train grey.png
The word version is used in Trainz to refer to three different technological concepts:
  • There is the Trainz Retail Version, which has a 'marketing name' and user shorthands for same[note 4];
  • the Trainz Version (or more correctly, the trainz-build);
  • and the Trainz Build version, or Code Build Number, also known as the code build number or code version, or code build version or build code number.
  • The Trainz Retail Version is a text string for a product release in "marketing speak", such as Trainz Simulator 2009: World Builder Edition, or "Ultimate Trainz Collection" (which was way premature!). These are quickly abbreviated to use names everyone understands like TS2009, TS10, TC3, or UTC.
  • The Trainz version (TB or TBV) is a decimal numeric code, a value, (e.g. 2.4 or 3.6) which is 'most always' incremented for each major software upgrade release[note 5], formally defined by Trainz software for any new asset. This code is updated whenever a significant change to the Trainz data model processing is made by a code build release. Sometimes this, in fact, reflects changes to the data model such as a new mandatory requirement above TBV x.y that such and such an asset KIND must henceforth define a specific tag value or container parameter value[note 6], and ...
  • Furthermore: Most service packs (which introduce significant functionality changes) will have a new trainz-build assigned, but lesser software upgrades, the hotfixes (which do not introduce significant functionality changes) do not generate a Trainz version number change[note 7]. BOTH upgrade types generate new code build values (changes)— sometimes several times over, as a series of such upgrade code builds, for example, such an upgrade that affects each 'internationalization' editions; non-English language code builds released early in a retail products {{|TL|TLCP|life cycle}}. Different language versions of the same product will however generally share the same 'asset-oriented' Trainz Version/trainz-build code, so the TBV is for asset compatibility, and the code build is for functional compatibility, and software troubleshooting needs[note 8].
    • The Trainz Code Build Number is a unique number (e.g. 44653 or 58414) that identifies an individual Trainz release. All releases (including minor changes and language translations) have a different Code Build Number. The lowest known in 'the editor's collection'[note 9] is a code build of '10' in the Trainz 1.1 CDROM release.
    • The Trainz-build tag value uses the Trainz Version numeric code, and after TS2009-SP3, the content manager Windows title bar repeats this value for ease of reference. Assets each report a value reflecting the technology (coding of the data model version) they were meant to comply with.
    • Note that several (or many) code build releases (each having a unique code build number identifying it's exact mix of component software) will share and have the same trainz-build value (TBV)) or 'version number'. The 'build' or 'build codes' or 'code build numbers' are sometimes also spoke of as versions or 'code versions, and many of those increment based on the readiness and availability of internationalization releases–versions customized a bit with translations in built-in content for readers of non-English languages. Code versions, trainz-build versions, retail versions... Context counts!
    • Theoretically, from a newly created asset's point of view, the content manager assigned trainz-build tag number indicates the minimum Trainz Code Version required to use the asset[note 10]. Conversely, assets with a lower Trainz-build version should be compatible with the later more modern install, albeit with an occasional need to tweak and update the data model of the asset.


    Right-pointing hand in green octagon.svg
    Editor's note: Key Tip: If you have a problem, N3V Game's Help Desk will want the Code Build, not the TBV! This is displayed in the Launcher menu screens in most N3V releases, and always has been on the Loader screen (aka Main Menu, allows loading Railyard, Surveyor, or Driver GUI modes)—in each case the code build number 'shows discretely' in the bottom right corner of the screen.


    Trainz-build codes and Code Build Ranges[edit]

    TB in Assets: The asset's TBV is the version in which it was designed, uploaded in, or forced[note 11] into by N3V's artificially narrowed upload's gate-keeper software[note 12] and the TLCP.
    The current highest trainz-build (TB) 'version number' is 4.2.
    The TB mapping to official Trainz release versions are as follows:
    'trainz-build' By retail release's shorthand titles: code build range
    TrainzTrainz 1.3,
    counts 3 service packs total[note 13].
    (the original Trainz Community Edition)[note 14]
    English - no service packs applied CDROM
    distributed and published by Strategy First in North America
    code build 10[3]
    tbdl code build 263[4]
    tbdl code build: 277[4]
    a non-Trainz utility (PaintShed)
    Spanish Language release of TB V1.3
    Trainz UTC, or Ultimate Trainz Collection
    Released in November 2002
    for Christmas sales bump.
    English - no service packs applied: build 327
    Arguably, this was just a fourth service pack to Trainz 1.0, which added content and improvements.
    Ultimate Trainz Collection-SP1 English - SP1, code build 404.
    English with SP1 pre-installed as part of Trainz: The Complete Collection Omnibus edition (2008): build TBDL.
    Unused, skipped unless were possible Internationalization releases or one was used for Trainz Routes which installs as a patch, so makes no registry entry.
    TRS2004 initial release or SP0 no-CD English release: build 668
    - United Kingdom - no service packs: build 686
    TRS2004-SP1 by Web Upgrade
    Updated Versions with SP1 applied are TBV 2.1:
    Australia and North America:
                    build 690
    United Kingdom: build ???
    French:         build 745
    Australia and North America:
                    build 753 - probable hotfix
    German:         build 756,
                      and 761 - probable hotfix
    Spanish:        build 835
    Czech:          build 889
    by CDROM
    Updated Versions with SP1 applied are TBV 2.1:
    Australia and North American markets:
                    build 2035
    United Kingdom: build 2036
    French:         build 2037
    German:         build 2038
    Australia and North American markets:
                    build 2040
                and build 2042 - probable hotfix
    German:         build 2200
    United Kingdom: build 2285
    TRS2004-SP2 -'Passenger Edition' CDROM releases
    Versions with SP2 for TRS2004 applied are TBV 2.2:
    Australia and North American markets:
                     build 2145
    United Kingdom:  build 2146
    Spanish:         build 2161
    German:          build 2163
    French:          build 2176
    TRS2004 Versions after SP3 applied are TBV 2.3:
    Australia and North American markets:
                    build 2283
    United Kingdom: build 22??
    German:         build 2288
    French:         build 2289
    Spanish:        build 2290
    TRS2004-SP4 - this version made Trainz, Trainz![note 15]

    TRS2004 Versions with SP4 pre-installed are TBV 2.4:
    Upgrades by download of pre SP4 releases: Australia and North American markets: build 2350, United Kingdom[4]: build 2357
    "Trainz 2004: Deluxe Edition" CDROM

    TBV 2.4 by CDROM boxed sets; also bundled with Trainz: The Complete Collection (Trainz TCC) distributed by Paradox Interactive:
    Australia and North American markets:
                    build 2365[5]
    Czech:          build 2367
    United Kingdom: build 2370
    German:         build 2388
    French:         build 2390
    Trainz Classics 1&2
    Trainz Classics 3
    TS2009-SP2 / TS2009-SP3
    TS2010 / TS2010-SP1
    TS2010-SP2 / TS2010-SP3 / TS2009-SP4
    TS12 and Trainz Simulator Mac
    Trainz Simulator Mac2
    Trainz Simulator Mac2-SP
    or T:ANE CE
    One of these
    wild beta test!
    TANE or T:ANE?
    TANE-SP1 or T:ANE-SP1


    Asset compatibility[edit]

    It is important for an asset to list the correct Trainz-build in the config.txt file. It specifies the version of Trainz the asset was intended to be used with. An earlier version of Trainz will refuse to load the asset. A later version of Trainz will enable appropriate backwards compatibility workarounds (e.g. using different validation requirements) as required.  

    A correctly-constructed asset built for an older version will usually function in a newer version of Trainz. However, while Trainz content validation has improved over time, and newer versions of Trainz detect errors that older versions did not pick up on, many errors are useless make work caused by callous and rapacious programmer and management practices. Often, content may be detected as 'faulty' in a current Trainz version that was missed in the version it was originally created for, but the most frequent issues are missing thumbnail images which have nothing to do with the functionality of the asset, or obsoleted tag names.

    Or that is the official party line per N3V, which ignores the fact there are errors they could just fix in parsing, such as ignoring legacy tag names like type, region, asset-filename, or name-xx, etc. and similarly could convert in situ older forms to newer container forms of data, then test for faults. They do neither putting the time cost of their unprofessionalism onto the customers who must one by one correct errors their software should be handling.  

    It should be noted that content that is uploaded to the Download Station is validated for faults by the most recent version of Trainz—and may be rejected if an more stringent newer fault or error test has been put in place.[6]

    This depends on the version of Trainz that you are running, and if we've updated the DLS error checking. I can make content that shows no errors in TS2009, but will be rejected from the DLS under the current error checking due to issues that TS2009 could not detect. This is essentially the same here. The DLS error checking is updated regularly, and may be more strict than the error checking in TS12 SP1. OTOH, TS:Mac2 is a newer release and will have most of the updates to the error checking.

    We have stated many, many, many, many, many, times over the last 12 months that the error checking on the DLS is generally ahead of that in Trainz. Hence, if you are given a rejection notice with actual errors in it, you'll need to correct these.
    —N3V spokesman ZecMurphy at, May 11th, 2014.[6]

    Assets generated under a perfectly valid currently supported version of Trains, using the validation compatibility for the trainz-build specified by the asset, may still be rejected by the Download Station Software.


    If Content Creator Plus CCP is used to modify an asset, it will automatically update the trainz-build version in the config.txt file to the current Trainz version it came with. This is problematic and contrary to the greatest interests of the most members in the Trainz community, as the lowest trainz-build code is desired from the standpoint of giving the asset the most Trainz users access to the new product (asset). Prior to V3.2, such codes could then be manually back-dated to a lower trainz-build, but the error checking in versions since requires exporting the asset-open-for-edit by copying the folder, reverting it, deleting it, editing the trainz-build code change in the copy, then re-importing it—a discourteous number of extra steps-in-the-dance for content creators, and yet another friction point with Trainz programmers. If Using CCP to fault fix and update, often this version with the invincibility of naive programmers forcing others to toe their line and if the asset specs have changed significantly, many other changes to the config.txt file will probably be required, as CCP wants to promote the asset to the current Trainz-build version.

    P train grey.png
    If you don't want to spend all of your Trainz time patching assets with the user unfriendly interface of CCP and it's demands on your entries, learn to master manually editing and committing to keep the edits down to only those actually necessary.

    Assets which are manually edited will need the appropriate version entered. If the line is omitted entirely, the lowest possible version is assumed. This is currently Trainz-build 1.3.Ø  

    Obsolete Versions[edit]

    Trainz-build numbers up to and including 2.8 are considered obsolete as of September 2012 and can no longer be uploaded to the Download Station. See the Trainz Life-Cycle Policy for additional details.

    Notes and references[edit]


    1. * The trainz-build tag itself was totally unknown until Trainz UTC (v1.5) and many CC's of that era and for a few years into even the TRS2004 era never assigned a TB code in the config.txt files. TRS2006's through TC3 'new fancy-schmancy CMPs' advances, didn't even list TBVs as one of it's data columns!
      • Newer Trainz releases do their best to translate these older technologies into the newer releases standards (data organization and graphical tech) but some significant percentage of older assets cannot be auto-converted; not because it's not possible, but because N3V's programmers decided to retroactively impose new more stringent data model fault testing; whereas the TRS2006 era's (and spin-offs) handled such conversions readily. Most of these can be fixed easily by adding a mesh-table, thumbnails container and/or bogeys container to the config.
    2. For the new Trainz users:' trying to use an asset with faults does not actually risk breaking Trainz for while, and most versions won't let you place faulty content until CM is happy with the asset. So experiment away. That's how many a good asset got created in the first place!
      • Most newer content can be retrograded to work in earlier Trainz releases, at least as scenery items since those with newer script files may use features not present in older Trainz releases. More recently published Routes and Sessions cannot. The programmer's changed the formatting of the session and kind map files, to support more flexible sessions and layers in TS2010 and up.
    3. For example: TS09 (no SPs, so TS09-SP0) had a benchmark TBV of 2.9. After four service packs the family of code builds, had a version number (or TBV) of 3.3, with each added service pack having an incremented TBV version number in between the two end values, so TS09 has TBVs/version numbers 2.9–3.3 overall.
    4. Shorthand names: The user community in forums typically shortens the Trainz Release Name in line with the TRS2004-TRS2006 products which utilized those names as the *.exe files for the launcher program. Hence TS2009 is a shorthand whilst TS12 is even shorter. Both link to the long retail version named pages herein. Unlike the TRS's, excepting the TC's, N3V developed versions have used 'Trainz.exe' for both launcher and loader modules (..\bin\trainz.exe) which is inconvenient when playing in the Windows registry.
    5. On TBV incrementing: Virtually all service packs will increment the TBV for that code build, but a notable exception was the overlapping TBV's in the four service packs added to each version of TS2009 and TS2010 which were in concurrent development, focused on advancing different parts of the technologies behind Trainz for newer multicore microprocessors and advances in graphics cards.
       • One upgrade service pack or the other kept the TBV of the prior number so that in the end,
       • both products with four service packs applied had the same TBV of 3.3, and together they span the TBVs from v2.9 to v3.3 (instead of v2.9–v3.9!),
       • with the final releases code sharing all the new features of the newly revised and evolved data model and capabilities, save for only the multiplayer beta test capabilities first available in TS2010's last hotfix type of software upgrade.
       • Further, TS10 had as built-in contents, a superset of all the assets built-in to TS2009 plus new content from Auran/N3V including the newer tutorial series continued in TS12. TS10, was in fact, the product advertised by N3V Games over-optimistically using the new JET 3 game engine, multicore processing, and better graphics cards, but way later than they'd anticipated. As a result, they issued the incremental improvements ready in late 2008 as TS2009.
    6. About " such and such an asset KIND must henceforth define a specific tag value or container parameter value"—the new Trainz data model instituted by N3V's programmers for TS2009 has proven remarkably stable and consistent. Subsequent changes, normally limited to that of a single tag or two, have required once defaulted values be defined explicitly, after a threshold TBV level. Several such occur after TBV 3.4 for example. Such explicit references updates are not always reflected in fault messages from a CM, notably those 3.4 notes in the Trainz Wiki, have no analog in testing in TS12's CM 3.6 and CM 3.7, so the definitions are more guidelines than enforced hard and fast rules. But, they are most likely enforced in uploading to the DLS, for that testing is kept far more current, as many CC experiences have shown—requiring a fix and a re-submission to upload.
    7. On Hotfixes generating TBV changes... The editor cannot identify any case when a hotfix generates a TBV increment, but there may be an exception, particularly in the various non-English language code builds which most often, come somewhat later in time.
    8. When you need an odd problem checked out, the first thing the programmer's want to do, is duplicate the problem so they can use a code debugger to see what is causing the problem. Hence, Customer Service, when taking a problem report want the code build, and could care less about the Trainz version—the code build tells them everything, the version number is far more ambiguous.
    9. See first image, on page Trainz
    10. On assigned trainz-build tag number indications of the minimum version needed... Many assets readily can be converted to lower TBV values with such a simple one decimal digit edit. As of mid-August 2015, N3V announced a new DLS software downloading interface that is supposed to prevent a user from updating to an inappropriate asset version. This will necessarily also block downloads of new assets to older version-ed installs, but the desired kuid, if it be new and not an update should still be downloadable manually by using the FTP method via the Trainz Download Station Webpage(s), be they the blackpages or the newer whitepages url.
    11. Trainz-build (TB) value 'creep' or 'inflation' has been forced upon the user community by the Trainz Life-cycle Policy and establishment of stricter testing of uploads to the DLS. There has been much controversy about this between the many CCs and the N3V Management culminating in some heated discussions since the CCs necessarily want the lowest TB so the new asset is available to the greatest number of Trainzers while the N3V management wants the highest to motivate more users to upgrade to newer Trainz.
       • Minimum TBV's upon uploading, whether the asset functionality needs said TBV level or not, has proved to be N3V Games club. This has diminished the utility of the TBV as a measure of Tech-level, to one that is artificially inflated and so less useful with little relation to the actual technical needs of what the asset requires.
       • CCs, having put months or years into an asset's generation understandably want to assign as low a TB as possible so more legacy Trainz owners can use it.
       • N3V whether for mercenary and pecuniary motives, certainly not based on technical grounds, adopted the TLCP to force uploaders to comply with the last 'supported Trainz' release's minimum build code, itself an controversial policy forced on the community, many of whom feel the four year cycle is ridiculously short with the backward compatibility of a Trainz product.
    12. The point is many newer uploads have been forced to adopt what started as a tech-level measure, that don't need a high TB, and can't upload it, unless the TB is inflated. This is particularly harsh on a Route Builder CC who may have spent 5-6 years on a TS09 masterwork— who must now revise a lot of terrain and re-evaluate a long list of assets to make sure the route is nearly Trainz/Trainz Highest compliant.
    13. In point of fact, in both timing and feature sets, the Trainz UTC release is in reality a fourth service pack of Trainz 1.0 with extra content added—the first nine scenarios as built-in assets and more maps.
    14. Auran/N3V management reissued the term 'community edition' in mid-fall of 2014 for the earliest incomplete TANE release. In the event, this proved as many feared, a premature beta-test on a wide scale, including a iMAC release for the Christmas 2014 sales cycle.
    15. TRS2004 made Trainz, Trainz!: The only thing missing was TR06's CMP and that's the only really important difference from the TRS's series that follows V2-5 to V2-8 but for some relatively minor features and tweaks.


    1. Build Code of '1' (0001) is an unconfirmed surmise of the software download version of Trainz 1.0
    2. Appearing briefly on one of the loading screens, is formally Trainz 1.1.1, the North American release by Strategy First and the first widely distributed CDROM version.
    3. By value recorded in the Windows registry and the record matching that odd 'Trainz 1.1.1' notation appearing briefly on one of the loading screens of the North American release by Strategy First distributed CDROM version.
    4. a b c Unconfirmed
    5. Confirmed by registry entry, code build 2365 is "Trainz 2004: Deluxe Edition"
    6. a b [Can-a-new-tag-be-made-for-Trainz ], ZecMurphy, Auran Community Assistant, May 11th, 2014, 09:02 PM