跳转到内容

Trainz/tags/trainz-build 标签

来自维基教科书,开放世界开放书籍
logo
Trainz 新手基础

Trainz 入门 - 页码式指导
目录 | 开始乐趣 | 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 开始或结束一个命名的零售发布版本,这些名称对所有服务包都是通用的——通常会在服务包之前递增分配给版本的基准 TBV 值[注释 3]
在 Trainz 中,“版本”一词用于指代三个不同的技术概念
  • Trainz 零售版本或“发布”,它通常有一个书籍标题风格的“营销名称”及其用户社区对该名称的简写昵称[注释 4];
  • Trainz-build 版本(TB、TBV,或者更准确地说,trainz-build);通常是一个数字,表示资源生成时所满足的技术水平标准。在加载时,标签的值用于选择在将资源数据读取到数据库时使用哪个故障检查。随着产品不断发展,一些操作方法和关键词列表不时发生变化——但总体而言,向后兼容性很高,以至于大多数在 2000-2004 年制作的资源仍然能够在没有任何修改的情况下完美运行。大约一半的资源需要一些相当小的调整。
  • 还有 Trainz 版本,或者更清楚地说,代码版本号,也称为 代码版本号代码版本,或代码版本。这是一个技术序列号,它来自编译器,它对特定日期上 make 文件汇总的一组源代码文件是唯一的。[注释 5]


  • Trainz 零售版本是产品发布的文本字符串,以“营销语言”表示,例如Trainz 模拟器 2009:世界建造者版,或“终极 Trainz 合集”(这太早了!)。这些通常被简化为每个人都能理解的名字,比如 TS2009、TS10TC3,或 UTC
  • 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。这是因为数据模型对类型和操作的更改是在任何实现该功能所需的编码之前定义的。该功能本身可能要等到几个服务包将技术更改推进到整个套件之后才会出现。在发布初期,此类计划中的改进会让位于优先级故障排除和错误修复编辑。一旦版本稳定,开发就会恢复到针对性功能。因此,大多数旨在通过 TBV 3.2 进行成功验证的资源,如果 TBV 值适当降低,则在 V2.9 或 V3.0 中也能正常工作。但是,如果更新的 TBV 版本包含软件依赖的“新功能”,那么这些功能在较早的技术水平安装中将无法使用。因此,速度树在 TS10 TBV 2.9-3.0 中无法使用,但在 V3.2-3.3 中可以使用,这两个版本都是更新后的服务包。

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

编辑注: 关键技巧:如果您遇到问题,N3V Game 的技术支持部门需要的是代码构建,而不是 TBV!这在大多数 N3V 版本的 启动器菜单 屏幕中显示,并且始终在 加载屏幕(也称为主菜单,允许加载 调车场勘测员驾驶员 GUI 模式)——在每种情况下,代码构建号都“离散地显示”在屏幕右下角。


 

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

[编辑 | 编辑源代码]
资产中的 TB:资产的 TBV 是设计、上传或强制[注 12] 进入的版本,由 N3V 人为缩小的 上传的守门软件[注 13]TLCP 控制。
当前最高 trainz-build (TB)“版本号”4.2
TB 与官方 Trainz 版本的映射如下
“trainz-build” 按零售版本的简写标题 代码构建范围
1.0-1.3
TrainzTrainz 1.3,
共计 3 个服务包[注 14]
1[1]
(最初的Trainz 社区版[注 15]
1.1.1
[2]
英语 - 未应用服务包 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 月发布
用于圣诞节促销。
英语 - 未应用服务包:构建 327
可以说,这只是 Trainz 1.0 的第四个服务包,它添加了内容和改进。
1.6
终极 Trainz 合集 - SP1 英语 - SP1,代码构建 404。
英语,SP1 预装在 Trainz:完整合集 集成版 (2008) 中:构建 TBDL。
1.7–1.9
未使用,跳过,除非是可能的国际化版本 或用于 Trainz 路线 的版本,它作为补丁安装,因此不会创建注册表条目。
2.0
TRS2004 首次发布或 SP0 无光盘英语版本:构建 668
- 英国 - 未应用服务包:构建 686
2.1
TRS2004-SP1 通过 Web 升级
应用了 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 构建非常重要。它指定了资产预期使用的 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 月,Trainz-build 版本号 2.8 及更早版本被视为已过时,并且无法再上传到 下载站。有关更多详细信息,请参阅 Trainz 生命周期政策

注释和参考文献

[edit | edit source]

注释

[edit | edit source]
  1. * trainz-build 标签本身在 Trainz UTC(v1.5)之前是完全未知的,那个时代和之后几年的许多 CC 在 config.txt 文件中从未分配过 TB 代码。 TRS2006TC3 的 '新奇特的 CMP' 进步,甚至没有将 TBV 列为其数据列之一!
    • 较新的 Trainz 版本尽力将这些旧技术转换为较新的版本标准(数据组织和图形技术),但仍有相当一部分旧资源无法自动转换;不是因为不可能,而是因为 N3V 的程序员决定追溯地强加新的更严格的数据模型错误测试;而 TRS2006 时代(及其分支)很容易处理此类转换。大多数问题可以通过在 config 中添加 mesh-tablethumbnails 容器 和/或 bogeys 容器 来轻松解决。
  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. 缩写名称:论坛中的用户社区通常会根据使用这些名称作为启动程序程序的 *.exe 文件的 TRS2004-TRS2006 产品缩写 Trainz 发布名称。因此 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.o 到 TR04-SP4,如果您希望下载新的或旧的 kuids,仍然可以通过使用 Trainz 下载站网页(使用新的白页 URL)的 FTP 方法手动下载。
  12. Trainz-build (TB) 值“creep”或“inflation”是由Trainz 生命周期政策和对 DLS 上传内容进行更严格的测试而强加于用户社区的。这在许多 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)与 Trainz 之间唯一的真正区别,但有一些相对较小的功能和调整。

参考文献

[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 [Can-a-new-tag-be-made-for-Trainz],ZecMurphy,Auran 社区助理,2014 年 5 月 11 日,下午 09:02
华夏公益教科书