跳转到内容

Trainz/tags/trainz-build 标签

来自维基教科书,开放的书籍,为一个开放的世界
logo
Trainz 培训学员基础知识

Trainz 入门 — 按页指导
TOC | 开始乐趣 | AM&C | 创作 | 书内参考文献 ORP Refs:  • 索引 • 容器 • 种类 • 标签 | 附录  • 版本
 词汇表
 HKeys-CM
 HKeys-DVR
 HKeys-SUR
 HKeys-WIN
 鼠标使用
 符号
Trainz 1.0 发布 (2001),并在 2002 年 6 月之前发布了三个 服务包,使该版本通常被称为 Trainz 1.3
* 具有较旧 Trainz-build 编号的资产并非针对 Trainz 的新功能而构建,这些功能在它们最初的 Trainz 版本(资产构建和用于的版本)中不存在,并且最古老的此类使用的设计方法,在某些情况下,已被完全放弃。[note 1]
对于新 Trainz 用户:这个故事的寓意是尽快检查 Trainz-build 标签(版本),并在将新内容导入 CM 后,提供人工判断,以决定是删除、保留资产还是将其放在一旁[note 2]
* 通常,在修复故障之前,使用“版本”工具获取 DLS 上的最新版本,如果它对您的安装合法,请下载该版本。然后删除旧的故障资产将满足您系统上依赖的资产,并且“随后下载,然后删除过时资产的过程”几乎不需要时间,并且可以避免很多麻烦。反之,如果您想创建资产,手动修复资产是学习如何制作资产的好方法。在这种情况下,修复过时的故障资产也有价值。

Trainz-build 标签号(s)

[编辑 | 编辑源代码]

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

  • 这个数量通常也称为Trainz 版本,当然,因为各种基准 TBV 开始或结束一个命名的零售发行版本,这些名称对它的所有服务包都是通用的——这些服务包通常会递增分配给版本之前的服务包[note 3]
术语版本在 Trainz 中用于指代三个不同的技术概念
  • Trainz 零售版本或“发行版”,它通常有一个类似书名的“营销名称”及其用户社区的简写昵称,用于同一个[note 4];
  • Trainz-build 版本(TB、TBV,或更准确地说,trainz-build);是一个经常见到的数字,表示资产生产时所采用的技术水平标准,并据称满足了这些标准。在加载时,标签的值用于选择在将资产数据读入数据库时使用哪种故障检查。随着产品不断发展,某些操作方法以及关键字列表也发生过变化——但总体而言,向后兼容性非常高,以至于 2000-2004 年间制作的大多数资产仍然可以在无需修改的情况下运行得非常好。大约一半的这些资产需要一些相当小的调整。
  • 还有Trainz 构建版本,或更清晰地说,代码构建编号,也称为构建代码编号代码版本,或代码构建版本。这是一个技术序列号,它来自编译器,对于在特定日期由 make 文件聚合的源代码文件集而言是唯一的。[note 5]


  • Trainz 零售版本是一个文本字符串,用于“营销语言”中的产品发布,例如Trainz Simulator 2009:World Builder Edition,或者“Ultimate Trainz Collection”(这太早了!)。这些很快被缩写为使用每个人都理解的名称,例如 TS2009、TS10TC3,或 UTC
  • Trainz 版本(TB 或 TBV)是一个十进制数字代码,一个(例如2.43.6),它“几乎总是”递增,用于每次主要的软件升级发布[note 6],由 Trainz 软件正式定义,用于任何新资产。只要对 Trainz 数据模型处理进行了重大更改,此代码就会更新,这种更改由代码构建版本发布。实际上,这有时反映了对数据模型的更改,例如 TBV x.y 以上的新强制要求,即此类和此类资产 KIND必须从此定义特定的标签或容器参数值[note 7],并且 ...
此外:大多数服务包(引入了重要的功能更改)将有一个新的trainz-build 分配,但较小的软件升级,热修复(没有引入重要的功能更改)不会产生Trainz 版本号更改[note 8]。两种升级类型都会生成新的代码构建值(更改)——有时会多次生成,例如,一系列这样的升级代码构建,例如,会影响每个“国际化”版本的升级;在零售产品{{|TL|TLCP|生命周期}}中较早发布的非英语语言代码构建。但是,同一产品的不同语言版本通常会共享相同的“面向资产的”Trainz 版本/trainz-build 代码,因此 TBV 用于资产兼容性,而代码构建用于功能兼容性和软件故障排除需求[note 9]
  • Trainz 代码构建编号是一个唯一的编号(例如4465358414),用于标识单个 Trainz 版本。所有版本(包括微小的更改和语言翻译)都有不同的代码构建编号。“编辑器收藏”[note 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 测试的资产,如果 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 是它被设计、上传或强制[注释 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,或Ultimate Trainz Collection
2002 年 11 月发布
用于圣诞节销售激增。
英语 - 未应用任何 Service Pack:构建 327
可以说,这只是 Trainz 1.0 的第四个 Service Pack,添加了内容和改进。
1.6
Ultimate Trainz Collection-SP1 英语 - SP1,代码构建 404。
英语,预装 SP1 作为Trainz: The Complete Collection 合集版的组成部分(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: The Complete Collection(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 Simulator Mac
3.7
TS12-SP1
3.8
Trainz Simulator Mac2
3.9
Trainz Simulator 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 在 forums.auran.com/trainz#post1289419,2014 年 5 月 11 日。[6]

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

 

如果使用 内容创作者 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 号码被视为已过时,不再允许上传到 下载站。有关更多详细信息,请参阅 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 时代 (及其衍生产品) 则轻松地处理了这种转换。其中大多数可以通过在配置中添加 网格表缩略图容器 和/或 转向架容器 来轻松修复。
  2. 对于新的 Trainz 用户:尝试使用带有错误的资产 不会 实际上冒着损坏 Trainz 的风险,并且大多数版本不允许您放置有缺陷的内容,直到 CM 对资产感到满意。所以尽管尝试。这就是许多好的资产一开始就被创建的方式!
    • 大多数较新的内容可以降级以在更早的 Trainz 版本中使用,至少作为风景物品,因为具有较新脚本文件的物品可能使用较早的 Trainz 版本中不存在的功能。 最近发布的路线和场景无法降级。 程序员更改了场景和 种类地图 文件的格式,以支持 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. 关于 " 某个 资产 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. 请参阅第 Trainz 页面的第一张图片。
  11. 截至2015年8月中旬,N3V宣布了一个新的DLS软件下载界面,旨在防止用户更新到不合适的资产版本。截至2020年初的经验表明,此方法在TS10-TS12和TANE中有效。早期的发现是,正如预期的那样,这种新的操作模式也阻止了将旧资产下载到旧版本(不再支持)的安装中,特别是TR2004,但在一段时间后,CMP和TS09恢复了该功能。这些旧版本无法看到服务器生成的任何阻止代码,并且会毫无顾忌地下载,即使是TANE和TRS19 TBV'd kuids。对于最古老的Trainz版本,Trainz 1.0到TR04-SP4,可以使用Trainz下载站网页上的FTP方法,通过较新的白页URL手动下载所需的kuid,无论是新的还是旧的。
  12. Trainz生命周期策略以及对DLS上传进行更严格的测试,迫使用户社区接受Trainz-build(TB)值的“蠕变”或“膨胀”。这在众多CCs和N3V管理层之间引发了许多争议,并引发了一些激烈的讨论,因为CCs必然希望TB值最低,以便新资产能够提供给最多数量的Trainz用户,而N3V管理层则希望TB值最高,以激励更多用户升级到更新的Trainz版本。
     • 上传时最低TBV,无论资产功能是否需要该TBV级别,已被证明是N3V Games俱乐部。这降低了TBV作为技术水平衡量标准的效用,使其人为地膨胀,因此用处不大,与资产实际需要的技术需求几乎没有关系。
     • CCs为生成资产投入了数月或数年时间,他们自然希望分配尽可能低的TB值,以便更多的旧Trainz所有者可以使用它。
     • N3V为了雇佣兵和金钱的动机,当然不是基于技术理由,采用了TLCP,迫使上传者遵守最新“支持的Trainz”版本的最低构建代码,这本身就是一个强加于社区的争议性政策,许多人认为四年周期过短,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注册表中记录的值,以及与出现在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日,晚上9:02
华夏公益教科书