跳转到内容

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 新用户: 这个故事的寓意是,在将新内容导入 CM 后尽快检查 trainz-build 标签(版本),并提供人工判断,决定是删除资产、保留资产还是将它放到一边。[注释 2]
* 通常,在修复故障之前,使用版本工具获取 DLS 上的最新版本,如果该版本对您的安装合法,请下载该版本。然后删除旧的故障资产将满足系统中依赖资产的要求,并且“后续下载,然后删除过时资产”的过程在时间成本方面很低,并且避免了很多挫折。反之,如果您想创建资产,手动修复资产是学习资产创建方法的好途径。在这种情况下,修复过时的故障资产也有价值。

Trainz-build 标签编号

[编辑 | 编辑源代码]

trainz-build 标签(TBV 或 TB) 非常重要,它是一个十进制单精度浮点数,应用于在特定技术水平的 安装 下创建的任何新资产。当您创建克隆的场景或路线时,您安装的版本号将为 Surveyor 或 CM 为您创建的任何新资产分配匹配的 TBV。(但并非其 代码版本版本号,这两个是不一样的)。

  • 这个值通常也被称为 Trainz 版本,很自然,因为各种基准 TBV 启动或结束一个名为零售发布版本,这些名称对于它的所有服务包都是通用的——通常会递增分配给该版本的服务包(s)之前的基本 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 以上的新强制要求,即这样的和这样的 资产种类 从此必须定义一个特定的标签或容器参数值。[注释 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 之后,内容管理器窗口标题栏会重复此值,以便于参考。每个资产都会报告一个值,反映它们应该符合的技术(数据模型 版本的编码)。
  • 请注意,几个(或多个)代码版本发布(每个版本都具有一个唯一的代码版本号,用于标识其确切的组件软件组合)将共享并具有相同的 trainz-build 值(TBV) 或“版本号”。“构建”或“构建代码”或“代码版本号”有时也被称为版本“代码版本”,并且其中许多版本会根据国际化版本的准备情况和可用性而递增——为非英语语言的读者内置内容翻译而稍作定制的版本。代码版本、trainz-build 版本、零售版本……上下文很重要!
  • 从理论上讲,从新创建的资产的角度来看,内容管理器分配的 trainz-build 标签 编号也指示使用该资产所需的最低 Trainz 代码版本

当分配时,一个trainz-build 标签数字应该表示需要的最低技术水平(代码版本)... 实际上,这将是该组开发周期中第一个零售版本中第一个 TBV 的粗略表示。 这是因为类型和操作的数据模型变更是在实现该功能所需的任何编码之前就定义好的。 该功能本身可能要到几个 Service Pack 才能将技术变更推进到整个套件中才会出现。 在发布初期,这种计划中的改进会被优先级故障排除和错误修复编辑所取代。 版本稳定后,针对目标功能的开发将继续进行。 因此,大多数旨在成功验证 TBV 3.2 的资产,如果 TBV 值适当降低,在 V2.9 或 V3.0 中也能正常工作。 但是,如果较新的 TBV 版本包含软件依赖的“新功能”,这些功能将无法在较早的技术级别安装中运行。 因此,Speed Trees 无法在 TS10 的 TBV 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 是它被设计、上传或被 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 无光盘英语版:版本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 盒装套装;也与 Paradox Interactive 发行的 Trainz:完整合集 (Trainz TCC) 捆绑销售
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 等,同样可以将旧的格式就地转换为新的数据容器格式,然后测试是否存在故障。 他们既不做前者也不做后者,把他们不专业的行为造成的成本转嫁到客户身上,客户必须一个接一个地纠正他们软件应该处理的错误。 

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

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

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

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

 

如果使用 内容创建者 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 月,包括 2.8 在内的 Trainz-build 编号被视为过时,不再允许上传到 Download Station。有关更多详细信息,请参见 Trainz 生命周期策略

注释和参考文献

[edit | edit source]

注释

[edit | edit source]
  1. * 直到 Trainz UTC(v1.5)才完全不知道 trainz-build 标签,并且那个时代和 TRS2004 时代几年内许多 CC 从未在 config.txt 文件中分配 TB 代码。 TRS2006TC3 '新的花哨的 CMP' 进步,甚至没有将 TBV 列为其数据列之一!
    • 更新的 Trainz 版本尽其所能将这些旧技术转换为更新的版本标准(数据组织和图形技术),但相当一部分旧资产无法自动转换;不是因为不可能,而是因为 N3V 的程序员决定追溯性地施加新的更严格的数据模型故障测试;而 TRS2006 时代(及其衍生产品)很容易处理这种转换。大多数这些可以通过在 config 中添加 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 的最后一个修补程序类型软件升级中才首次推出的多人游戏测试功能。
  7. 关于 '如此这般 资产 KIND 必须从现在开始定义一个特定标签 或容器参数值'——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. 参见第 1 页的第一个图像 Trainz
  11. 截至 2015 年 8 月中旬,N3V 宣布了一个新的 DLS 软件下载界面,该界面旨在防止用户更新到不合适的资产版本。到 2020 年初的经验表明,这在 TS10--TS12 和 TANE 中有效。早些时候发现,正如人们所担心的那样,这种新的操作模式也阻止了将旧资产下载到旧版本,不再支持的安装,尤其是 TR2004,但一段时间后,CMP 和 TS09 的功能恢复了。这些旧版本无法看到服务器生成的任何阻止代码,它们会愉快地下载 TANE 和 TRS19 TBV 的 kuids。对于最古老的 Trainz 版本,Trainz 1.0 到 TR04-SP4,所需的 kuid,无论是新的还是旧的,仍然可以通过使用 Trainz 下载站网页(使用新的白页 url)的 FTP 方法手动下载。
  12. Trainz 构建 (TB) 值“蠕变”或“膨胀”是由 Trainz 生命周期政策 和对上传到 DLS 的更严格测试的建立强加给用户社区的。关于这个问题,许多 CC 和 N3V 管理层之间存在很多争议,导致了一些激烈的讨论,因为 CCs 必须希望 TB 最低,以便新的资产可以提供给尽可能多的 Trainz 用户,而 N3V 管理层希望 TB 最高,以激励更多用户升级到更新的 Trainz。
     • 上传后的最低 TBV,无论资产功能是否需要该 TBV 级别,都被证明是 N3V 游戏俱乐部。这降低了 TBV 作为技术水平衡量标准的效用,使其被人为地夸大,因此不太有用,与资产实际技术需求之间的关系很小。
     • CCs 投入数月甚至数年来生成资产,理所当然地希望分配尽可能低的 TB,以便更多传统的 Trainz 所有者可以使用它。
     • N3V 无论出于什么动机,无论是功利性的还是金钱上的,肯定不是出于技术原因,而是采用了 TLCP,强迫上传者遵守最新“支持的 Trainz”版本的最低构建代码,这本身就是一个强加于社区的争议性政策,许多人认为 4 年的周期过短,而 Trainz 产品的向后兼容性。
  13. 关键是,许多新的上传被迫采用最初作为技术水平衡量标准的东西,这些东西不需要高 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 系列从 V2-5 到 V2-8 唯一真正重要的区别,但有一些相对较小的功能和调整。

引用

[edit | edit source]
  1. 构建代码“1”(0001)是对 Trainz 1.0 软件下载版本的未经确认的推测
  2. 正式的Trainz 1.1.1,由 Strategy First 发行的北美版本,出现在其中一个加载屏幕上,也是第一个广泛分发的 CDROM 版本。
  3. 通过 Windows 注册表中记录的值和与该奇怪的“Trainz 1.1.1”符号匹配的记录,该符号出现在由 Strategy First 分发的北美版本 CDROM 版本的其中一个加载屏幕上。
  4. a b c 未经确认
  5. 由注册表项确认,构建代码 2365 是“Trainz 2004:豪华版”
  6. a b [可以创建新的 Trainz 标签吗?],ZecMurphy,Auran 社区助理,2014 年 5 月 11 日,下午 09:02
华夏公益教科书