跳转到内容

Trainz/tags/trainz-build 标签

来自维基教科书,开放世界的开放书籍
logo
Trainz 培训生基础知识

Trainz 入门 - 按页说明
TOC | 开始趣味 | AM&C | 创作 | 书内引用 ORP 引用:  • 索引 • 容器 • 种类 • 标签 | 附录  • 版本
 术语表
 HKeys-CM
 HKeys-DVR
 HKeys-SUR
 HKeys-WIN
 鼠标使用
 符号
Trainz 1.0 于 2001 年发布,到 2002 年 6 月发布了三个 服务包,使得该版本通常被称为 Trainz 1.3
* 具有较旧 Trainz-build 编号的资产并非为利用 Trainz 的新功能而构建的,这些新功能在其原始版本的 Trainz 中并不存在 (资产是在该版本中创建的,并且也是针对该版本创建的),并且最旧的此类使用的设计方法在某些情况下已被完全放弃。[注释 1]
对于新的 Trainz 用户: 这个故事的寓意是尽快检查 Trainz-build 标签 (版本) 导入新内容到 CM 后,并提供人工判断,是删除资产、保留资产还是将其放在一边。[注释 2]
* 作为一般规则,在修复故障之前,请使用版本工具获取 DLS 上的最新版本,如果它适合您的安装,请下载该版本。然后删除旧的错误版本将满足系统上依赖资产的要求,并且“随后下载然后删除过时资产的过程”在时间上花费很少,并且避免了许多挫折。相反,如果您希望创建资产,手动修复资产是学习它们如何制作的好方法。在这种情况下,修复过时的错误资产也有价值。

Trainz-build 标签编号(s)

[编辑 | 编辑源代码]

trainz-build 标签 (TBV 或 TB) 是一个非常重要的单精度浮点数,它被应用于在 安装 的特定技术级别下创建的任何新资产。当您创建克隆的会话或路线时,安装的版本号将为 Surveyor 或 CM 为您创建的任何新资产分配匹配的 TBV。(但不是它的 代码版本版本号,这是不同的)。

  • 这个量通常也被称为 Trainz 版本,当然,因为各种基准 TBV 启动或结束一个名为零售版本,这些名称对所有服务包都是通用的——这些服务包通常会增加分配给该版本的基准 TBV 值,然后再进行服务包。[注释 3]
在 Trainz 中,“版本”一词用于指代三个不同的技术概念
  • Trainz 零售版本 或“发布”,它通常有一个书籍标题式的“营销名称”及其用户社区的缩写昵称。[注释 4];
  • Trainz-build 版本 (TB、TBV,更准确地说是trainz-build); 是一个经常看到的数字,表示资产生产的技术水平标准条件,并据称满足这些条件。在加载时,标签的值用于选择在将资产数据读入数据库时使用哪个故障检查。随着产品不断发展,某些做事方式和关键字列表随着时间的推移发生了变化——但总的来说,向后兼容性非常高,以至于大多数在 2000-2004 年间制作的资产在没有修改的情况下仍然能够很好地运行。大约一半的这一代需要一些相当小的调整。
  • 还有 Trainz 版本,或者更清楚地说,代码版本号,也称为 版本号代码版本,或代码版本。这是一个技术序列号,它来自于编译器,它对特定日期的 make 文件聚合的源代码文件集合是唯一的。[注释 5]


  • Trainz 零售版本 是一个文本字符串,用于产品发布的“营销术语”,例如Trainz Simulator 2009: 世界建造者版,或“终极 Trainz 合集”(这实在是太早了!)。这些很快就被缩写为每个人都理解的名称,比如 TS2009、TS10TC3UTC
  • Trainz 版本 (TB 或 TBV) 是一个十进制数字代码,一个 (例如2.43.6),它“几乎总是”增量用于每次主要的软件升级版本。[注释 6],由 Trainz 软件正式定义用于任何新资产。每当代码版本发布对 Trainz 数据模型处理进行重大更改时,此代码都会更新。有时这实际上反映了对 数据模型 的更改,例如 TBV x.y 以上的新强制要求,如此这般 资产 KIND 从此必须定义特定的标签或容器参数值。[注释 7],还有……
此外:大多数服务包(引入重大功能更改)将有一个新的trainz-build 分配,但较小的软件升级,热修复(不引入重大功能更改)不会生成Trainz 版本号更改。[注释 8]。两种升级类型都会生成新的代码版本值 (更改)——有时会多次生成,例如一系列此类升级代码版本,例如影响每个“国际化”版本的升级;非英语语言代码版本在零售产品 {{|TL|TLCP|生命周期}} 中尽早发布。但是,同一产品的不同语言版本通常会共享相同的“面向资产的”Trainz 版本/trainz-build 代码,因此 TBV 用于资产兼容性,代码版本用于功能兼容性,以及软件故障排除需求。[注释 9]
  • Trainz 代码版本号 是一个唯一的数字 (例如4465358414),它标识单个 Trainz 版本。所有版本 (包括次要更改和语言翻译) 都有不同的代码版本号。“编辑器收藏”[注释 10] 中已知最低的代码版本是 Trainz 1.1 CDROM 版本中的“10”代码版本。
  • Trainz-build 标签值使用Trainz 版本数字代码,在 TS2009-SP3 之后,内容管理器 Windows 标题栏重复此值以方便参考。每个资产都报告一个值,反映了它们应该符合的技术 ( 数据模型 版本的编码)。
  • 请注意,几个 (或许多) 代码版本发布 (每个都有一个唯一的代码版本号来标识其确切的组件软件混合)将共享并具有相同的trainz-build 值 (TBV)) 或“版本号”。“版本”或“版本代码”或“代码版本号”有时也被称为版本“代码版本,其中许多版本根据国际化版本的准备情况和可用性进行递增——版本在内置内容中针对非英语语言的读者进行了一些定制。代码版本、trainz-build 版本、零售版本……上下文很重要!
  • 从理论上讲,从新创建的资产的角度来看,内容管理器分配的trainz-build 标签号也指示使用该资产所需的最低Trainz 代码版本

当分配时,一个trainz-build 标签号据说是指所需的最低技术等级(代码版本)……在实践中,大体上来说,它将是该组开发周期中第一个零售发布版本的第一个 TBV。这是因为类型和操作的数据模型变更是在实现该功能所需的任何编码之前定义的。该功能本身可能要等到几个 Service Pack 将技术变更推送到整个套件中才会出现。在发布的早期,这种计划中的改进将退居次席,优先考虑故障排除和错误修复编辑。一旦版本稳定,开发将恢复到目标功能。因此,绝大多数旨在成功验证 TBV 3.2 的资产将在 V2.9 或 V3.0 上正常工作,如果 TBV 值适当降低。但是,如果较新的 TBV 版本包含软件依赖的“新功能”,那么这些功能将无法在较早的技术等级安装中运行。因此,Speed Trees 无法在 TS10 TBVs 2.9-3.0 中运行,但在 V3.2-3.3 中可以运行,它们都是后来的 Service Pack 更新。

处理软件镜像的缺乏也反映了可比版本中发布的“设计意图”——虽然 TS09 不会为 speedtree 资产生成错误,但它也不会显示它们;即使在最终软件版本 V3.3 中,与 TS10 的最后一个 TBV 等级相同。它们有效地作为一种过时的资产——从未见过,从未使用过,占用磁盘空间。该功能从未被认为是 TS09 的一部分,因此它根本没有被启用或可能根本没有包含在软件中。许多资产可以很容易地通过简单的个位数小数点编辑转换为较低的 TBV 值。 [注 11]. 相反,具有较低 Trainz-build 版本的资产应该与后来的更现代的安装兼容,尽管偶尔需要调整和更新资产的数据模型。 

编辑注: 关键提示:如果您遇到问题,N3V Game 的帮助台将需要代码构建,而不是 TBV!这在大多数 N3V 版本的 启动器菜单 屏幕中显示,并且一直都在 加载屏幕(也称为主菜单,允许加载 铁路场勘探员驾驶员 GUI 模式)——在每种情况下,代码构建号“都会在屏幕的右下角显示”


 

Trainz-build 代码和代码构建范围

[编辑 | 编辑源代码]
资产中的 TB:资产的 TBV 是设计、上传或强制[注 12] 进入该版本的版本,是由 N3V 的人为缩小的 上传的守门软件[注 13]TLCP 决定的。
当前最高的 trainz-build (TB)“版本号”4.2
TB 映射到官方 Trainz 版本如下
“trainz-build” 通过零售版本的简写标题 代码构建范围
1.0-1.3
TrainzTrainz 1.3,
总共计算 3 个 Service Pack [注 14]
1[1]
(最初的Trainz 社区版[注 15]
1.1.1
[2]
英语 - 未应用 Service Pack 的 CDROM
由 Strategy First 在北美发行和出版
代码构建 10[3]
1.2
tbdl 代码构建 263[4]
1.3
tbdl 代码构建:277[4]
1.4
一个非 Trainz 实用程序 (PaintShed)
TB V1.3 的西班牙语版本
TBDL [1]
1.5
Trainz UTC终极 Trainz 合集
2002 年 11 月发布
用于圣诞节促销。
英语 - 未应用 Service Pack:构建 327
可以说,这只是 Trainz 1.0 的第四个 Service Pack,它添加了内容和改进。
1.6
终极 Trainz 合集-SP1 英语 - SP1,代码构建 404。
带有预安装 SP1 的英语版本,作为 Trainz:完整合集 合集版(2008 年)的一部分:构建 TBDL。
1.7–1.9
未用,跳过,除非是可能的国际化版本 或其中一个用于 Trainz 路线,它作为补丁安装,因此不会创建注册表项。
2.0
TRS2004 初始版本或 SP0 无 CD 英语版本:构建 668
- 英国 - 未应用 Service Pack:构建 686
2.1
TRS2004-SP1 通过网络升级
应用了 SP1 的更新版本为 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
2.1
通过 CDROM
应用了 SP1 的更新版本为 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
2.2
TRS2004-SP2 -'乘客版' CDROM 版本
TRS2004 应用了 SP2 的版本为 TBV 2.2
Australia and North American markets:
                 build 2145
United Kingdom:  build 2146
Spanish:         build 2161
German:          build 2163
French:          build 2176
2.3
TRS2004-SP3
应用了 SP3 后的 TRS2004 版本为 TBV 2.3
Australia and North American markets:
                build 2283
United Kingdom: build 22??
German:         build 2288
French:         build 2289
Spanish:        build 2290
2.4
TRS2004-SP4 - 此版本使 Trainz 成为 Trainz![注 16]

预安装 SP4 的 TRS2004 版本为 TBV 2.4
通过下载 SP4 之前的版本进行升级:澳大利亚和北美市场:构建 2350,英国[4]:构建 2357
“Trainz 2004:豪华版” CDROM

TBV 2.4 通过 CDROM 盒装套装;还与 Trainz:完整合集 (Trainz TCC) 捆绑在一起,由 Paradox Interactive 发行
Australia and North American markets:
                build 2365[5]
Czech:          build 2367
United Kingdom: build 2370
German:         build 2388
French:         build 2390
2.5
TRS2006
2.6
TRS2006-SP1
2.7
Trainz 经典 1&2
2.8
Trainz 经典 3
2.9
TS2009
3.0
TS2009-SP1
3.1
TS2009-SP2 / TS2009-SP3
3.2
TS2010 / TS2010-SP1
3.3
TS2010-SP2 / TS2010-SP3 / TS2009-SP4
3.4
TS2010-SP4
3.5
TS12
3.6
TS12Trainz 模拟器 Mac
3.7
TS12-SP1
3.8
Trainz 模拟器 Mac2
3.9
Trainz 模拟器 Mac2-SP
T:ANE CE
其中一个
疯狂的测试版!
4.0
TANET:ANE
4.1
TANE-SP1 或 T:ANE-SP1
预期

 

资产兼容性

[编辑 | 编辑源代码]

对于资产,在 config.txt 文件 中列出正确的 Trainz-build 非常重要。它指定了资产预期使用的 Trainz 版本。Trainz 的早期版本将拒绝加载该资产。Trainz 的后期版本将根据需要启用适当的向后兼容性解决方法(例如,使用不同的验证要求)。 

为旧版本构建的正确构建的资产通常会在 Trainz 的新版本中运行。但是,虽然 Trainz 内容验证随着时间的推移而改进,Trainz 的新版本会检测到旧版本没有发现的错误,但许多错误是由无情且贪婪的程序员和管理实践造成的无用工作。通常,内容可能在当前的 Trainz 版本中被检测为“有故障”,而它在最初创建的版本中则被遗漏了,但最常见的问题是缺少与资产功能无关的缩略图,或者过时的标签名称。

或者,这是 N3V 的官方说法,它忽略了这样一个事实,即他们可以在解析过程中修复一些错误,例如忽略诸如 typeregionasset-filenamename-xx 等旧的标签名称,等等。同样,他们可以在适当的位置将旧的格式转换为新的数据容器格式,然后测试故障。他们没有做这两件事,而是将他们的不专业行为带来的时间成本转嫁给客户,客户必须逐一纠正他们的软件应该处理的错误。 

需要注意的是,上传到 Download Station 的内容将由最新版本的 Trainz 验证故障,如果实施了更严格的新故障或错误测试,则可能会被拒绝。[6]

这取决于你运行的 Trainz 版本,以及我们是否更新了 DLS 错误检查。我可以制作在 TS2009 中没有显示任何错误的内容,但由于 TS2009 无法检测到的一些问题,它会在当前错误检查下被 DLS 拒绝。这基本上与这里的情况相同。DLS 错误检查会定期更新,并且可能比 TS12 SP1 中的错误检查更严格。另一方面,TS:Mac2 是一个更新的版本,将拥有大多数错误检查更新。

在过去 12 个月中,我们已经多次声明,DLS 上的错误检查通常领先于 Trainz 中的错误检查。因此,如果你收到包含实际错误的拒绝通知,你需要纠正这些错误。
——N3V 发言人 ZecMurphy 在 forums.auran.com/trainz#post1289419,2014 年 5 月 11 日。[6]

在 Trains 的完全有效的当前支持版本下生成的资产,使用资产指定的 trainz-build 版本的验证兼容性,仍然可能被 Download Station 软件拒绝。

 

如果使用 Content Creator Plus CCP 修改资产,它将自动将 config.txt 文件中的 trainz-build 版本更新为其附带的当前 Trainz 版本。这存在问题,并且与 Trainz 社区大多数成员的最大利益相悖,因为从为资产提供尽可能多的 Trainz 用户访问新产品(资产)的角度来看,最小的 trainz-build 代码是理想的。在 V3.2 之前,这些代码可以手动回溯到较低的 trainz-build,但此后的版本的错误检查要求通过复制文件夹、回退、删除、编辑副本中的 trainz-build 代码更改,然后重新导入来导出资产以供编辑——这对内容创作者来说是不礼貌的额外步骤,也是 Trainz 程序员的另一个摩擦点。如果使用 CCP 进行故障修复和更新,通常情况下,这个版本具有天真程序员的无敌性,迫使其他人遵循他们的路线,如果资产规范发生了重大变化,那么 config.txt 文件的许多其他更改可能需要进行,因为 CCP 希望将资产提升到当前的 Trainz-build 版本。

如果你不想将所有 Trainz 时间都花在用 CCP 的不友好界面修补资产及其对你的条目要求上,学习掌握手动编辑和提交,以将编辑限制在那些真正必要的编辑上。


手动编辑的资产需要输入相应的版本。如果该行完全省略,则假定最低版本。目前是Trainz-build 1.3Ø  

过时版本

[edit | edit source]

截至 2012 年 9 月,Trainz-build 号码(包括 2.8)被认为已过时,不再允许上传到 Download Station。有关更多详细信息,请参阅 Trainz 生命周期策略

备注和参考资料

[edit | edit source]

备注

[edit | edit source]
  1. * trainz-build 标签本身直到 Trainz UTC (v1.5) 才为人所知,那个时代以及之后的几年甚至在 TRS2004 时代,许多 CC 在 config.txt 文件中都没有分配 TB 代码。TRS2006TC3 的“新奇特的 CMP,甚至没有将 TBV 列入其数据列!
    • 更新的 Trainz 版本尽其所能将这些旧的技术转换为更新的版本标准(数据组织和图形技术),但一些旧资产无法自动转换;这不是因为不可能,而是因为 N3V 的程序员决定追溯地实施新的更严格的数据模型故障测试;而 TRS2006 时代(及其衍生产品)很容易处理此类转换。大多数这些可以通过在配置中添加 mesh-tablethumbnails container 和/或 bogeys container 来轻松修复。
  2. 对于新的 Trainz 用户:尝试使用有故障的资产 不会 实际上有破坏 Trainz 的风险,大多数版本都不会让你放置有故障的内容,直到 CM 对资产感到满意。因此,可以尽情尝试。这就是许多好的资产最初被创建的方式!
    • 大多数较新的内容可以降级到在更早的 Trainz 版本中使用,至少作为场景项目,因为具有较新脚本文件的内容可能使用较旧的 Trainz 版本中不存在的功能。最近发布的路线和任务则不行。程序员更改了任务和 kind map 文件的格式,以支持 TS2010 及更高版本中更灵活的任务和图层。
  3. 例如:TS09(没有 SP,所以是 TS09-SP0)的基准 TBV 为 2.9。在添加了四个服务包之后,代码构建家族的版本号(或 TBV)为 3.3,每个添加的服务包在两个结束值之间都有一个递增的 TBV 版本号,因此 TS09 的整体 TBV/版本号为 2.9-3.3。
  4. 简写名称:论坛中的用户社区通常会缩短 Trainz 版本名称,与使用这些名称作为启动程序 *.exe 文件的 TRS2004-TRS2006 产品一致。因此,TS2009、TS09(“TS-Oh-nine”)和 TS10 都是常见的简写“使用”名称。所有形式似乎都与材料有关,在这些页面中使用,并将链接到此处提到的以完整零售版本命名的页面。
    • 与 TRS 不同(除了 TC 之外),N3V 开发的版本对启动程序和加载程序模块都使用“Trainz.exe”(..\bin\trainz.exe),这在 Windows 注册表中玩游戏时很不方便。
  5. 每个代码版本的相互依赖文件集都作为一个单元保存在一起,构成一个安装或安装版本——这是在本文档中使用的“版本概念”的第四个用途。安装隐式地包含一些特定位置(文件夹名称和路径以及计算机 ID)。它是一个数据集,很可能在你的计算机注册表中被记录为其组件软件的文件夹路径规范。
  6. 关于 TBV 的递增:实际上所有服务包都会为该代码构建递增 TBV,但一个显着的例外是 TS2009TS2010 的四个服务包中出现的重叠 TBV,这两个版本处于并发开发中,重点是为更新的多核微处理器和显卡的进步推动 Trainz 背后的技术。
     • 另一个升级服务包或另一个服务包保留了先前版本的 TBV,因此最终,
     • 两个产品都应用了四个服务包具有相同的TBV 3.3,并且它们一起跨越了从 v2.9 到 v3.3 的 TBV(而不是 v2.9-v3.9!),
     • 最终版本的代码共享所有新的功能,包括经过重新修订和演进的数据模型和功能,除了 TS2010 的最后一次软件升级(热修复类型)中首次提供的多人游戏测试版功能。
     • 此外,TS10 作为内置内容,包含了 TS2009 中所有内置资产的超集,以及 Auran/N3V 的新内容,包括 TS12 中继续的新教程系列。事实上,TS10 是 N3V Games 过于乐观地使用新的 JET 3 游戏引擎、多核处理和更好的显卡宣传的产品,但发布日期比他们预期的要晚。因此,他们在 2008 年底发布了已准备好的增量改进版本,名为 TS2009。
  7. 关于“此类 资产种类 必须从此处定义特定标签或容器参数值”——N3V 的程序员为 TS2009 制定的新 Trainz 数据模型已经证明非常稳定和一致。随后的更改通常仅限于一个或两个标签,需要在达到某个阈值 TBV 水平后对以前默认的值进行显式定义。例如,在 TBV 3.4 之后发生了几个此类更改。这些显式引用更新并不总是反映在 CM 的故障消息中,特别是 Trainz Wiki 中的那些 3.4 备注在 TS12 的 CM 3.6 和 CM 3.7 中没有类似的测试,因此这些定义更像是指导方针,而不是强制性的硬性规则。但是,它们很可能在上传到 DLS 时被强制执行,因为该测试始终保持更新,正如许多 CC 的经验所表明的那样——需要修复并重新提交才能上传。
  8. 关于热修复生成 TBV 更改... 编辑器无法识别热修复生成 TBV 增量的情况,但可能存在例外,特别是在各种非英语代码构建中,这些构建通常会晚些时候发布。
  9. 当需要检查奇特问题时,程序员想要做的第一件事就是复制问题,以便他们可以使用代码调试器查看是什么导致了问题。因此,客户服务在接收问题报告时会询问代码构建,而不会关心 Trainz 版本——代码构建告诉他们一切,版本号则模糊得多。
  10. 参见第一张图片,位于Trainz页面。
  11. 截至2015年8月中旬,N3V宣布了一个新的DLS软件下载接口,旨在防止用户更新到不合适的资产版本。截至2020年初的经验表明,该接口在TS10-TS12和TANE中有效。早期发现,正如所担心的那样,这种新的操作模式也阻止了将旧资产下载到旧版本的、不再受支持的安装程序中,尤其是TR2004,但在一段时间后,对CMP和TS09的下载功能恢复了。这些旧版本无法看到服务器生成的任何阻止代码,它们会毫无顾忌地下载,甚至包括TANE和TRS19 TBV'd kuids。对于最古老的Trainz版本,Trainz 1.o到TR04-SP4,如果需要新的或旧的kuids,仍然可以通过Trainz Download Station网页(使用新的白页URL)使用FTP方法手动下载。
  12. Trainz生命周期策略和对DLS上传内容进行更严格的测试,强制用户社区接受Trainz-build(TB)值的“爬升”或“膨胀”。许多CC和N3V管理层之间对此存在很多争议,并引发了一些激烈的讨论,因为CCs希望TB值最低,以便让尽可能多的Trainz用户能够使用新资产,而N3V管理层则希望TB值最高,以激励更多用户升级到更新的Trainz。
     • 上传时对TBV的最低要求,无论资产功能是否需要该TBV级别,都被证明是N3V Games的俱乐部。这降低了TBV作为技术级别的衡量标准的实用性,使其成为人为膨胀且用途不大的指标,与资产实际需要的技术水平几乎没有关系。
     • CCs在资产生成方面花费了数月甚至数年时间,因此他们希望尽可能地将TB值设定为较低,以便更多遗留Trainz用户能够使用它。
     • N3V出于商业和经济动机,而不是技术原因,采用了TLCP,以迫使上传者遵守最新“受支持的Trainz”版本的最低构建代码。这本身就是一个强加于社区的有争议的政策,许多人认为四年的周期过短,而Trainz产品的向后兼容性又很差。
  13. 问题是,许多新的上传内容被迫采用了最初作为技术级别衡量标准的TB值,这些内容并不需要高TB,但除非TB值被夸大,否则无法上传。这对线路建造者CC来说尤为残酷,他们可能在TS09杰作上花费了5-6年时间——现在必须修改大量地形并重新评估资产清单,以确保线路几乎与Trainz/Trainz 最高兼容。
  14. 事实上,Trainz UTC版本在时间和功能集方面实际上是Trainz 1.0的第四个服务包,只是添加了额外的内容——九个内置场景作为内置资产和更多地图。
  15. Auran/N3V管理层于2014年秋季中旬重新发布了“社区版”一词,用于描述最早期不完整的TANE版本。事实证明,正如许多人所担心的那样,这是一次大规模的过早测试版,包括为2014年圣诞节销售周期发布的iMAC版本。
  16. TRS2004使Trainz成为Trainz!: 唯一缺少的是TR06的CMP,这是TRS系列中唯一真正重要的区别,TRS系列从V2-5到V2-8,但有一些相对较小的功能和调整。
  1. 构建代码“1”(0001)是Trainz 1.0软件下载版本的未经证实的推测。
  2. 出现在一个加载屏幕上的正式名称是Trainz 1.1.1,由Strategy First发行的北美版本,也是第一个广泛分发的CDROM版本。
  3. 根据Windows注册表中记录的值,以及与Strategy First发行的北美版CDROM版本加载屏幕上短暂出现的奇怪“Trainz 1.1.1”符号相匹配的记录。
  4. a b c 未经证实
  5. 经注册表条目确认,构建代码2365为“Trainz 2004: Deluxe Edition”
  6. a b [可以创建一个新的标签用于Trainz],ZecMurphy,Auran社区助理,2014年5月11日,下午09:02。
华夏公益教科书