Trainz/TRS2012WBE
截至 2012 年 4 月中旬,TRAINZ 2012 世界建造版,作为向更新的软件系统的重要过渡,能够利用 64 位架构计算机的最新进步,正在经历可能被慈善地描述为成长的烦恼,许多资深“Trainzer”(社区称自己为),拥有大量使用整个产品线产品的经验和专业知识,正在遇到所谓的错误修复(“热修复”或补丁)和仓促的复合更新,服务包一(SP1)的特别困难。建议不太有经验和新用户在此期间不要安装 SP1。
在初期问题中,许多资深 Trainzer 正在从 SP1 和一些热修复回退,等待 SP2。在没有 SP1 的情况下,TRS2012 实际上运行得相当好,尽管存在一些新用户(非世界建造者或内容创建者)可能几年都不会注意到的问题,但活跃且经验丰富的 Trainzer 和开发者社区已经以广泛的粉丝群体运行数十万台计算机的多任务效率揭示了这些缺点。一个拥有苛刻且见多识广的人工智能的庞大超级计算机。
Trainz 系列已经存在 13 年,跨越两个所有者群体,拥有超过一百万注册的个人用户,并发布了众多版本,并托管一个网络服务器,允许免费下载内容。模拟器主要版本构成一系列升级产品,每个产品都包含新的内容、路线和类似“驾驶员课程”的游戏,以及支持世界构建的内容,此外,每个版本都改进了软件,同时保持整体操作完全相同或存在细微差异,因为功能已经扩展。许多注册用户已经获得了整个系列,以获取新的内容和功能。TRS2012 是该系列稳定发展中最激进的进化步骤,在功能和能力方面都实现了飞跃。
围绕成功且通常高度可靠的产品线而形成的网络社区(复数)经常包含从实际的铁路工程师和员工、技术专业人员、妻子、母亲、平面设计师到六岁儿童的铁路爱好者。在如此重大的软件大修中,这些初期问题是可以预期的,并且本次讨论不应被视为对产品或公司的抨击,甚至不应成为拒绝购买的理由。发布问题和服务包发布问题在大型软件升级中很常见,新用户或休闲用户可能会像预期的那样对任何此类错误置之不理,就像在电子游戏中一样。Trainz 用户群的要求更高,并且倾向于完美主义,就像许多模型制造者一样。
同样的忠实粉丝正在揭示这些“新版本”的成长烦恼问题,就像任何系统升级的重度用户一样,因此在短时间内发现了许多错误,就像他们在每个新版本中发现的那样。由于 Trainz 是一个功能强大的工业级软件系统,致力于娱乐,因此许多人在火车和 Trainz 爱好者的生活中发现了这样的错误。与大多数作为游戏出售的软件包相比,Trainz 拥有一个广泛的全球知识渊博且高度参与的用户群,并且正在加班加点地解决这些问题。全球社区将识别软件故障并共同修复此类数据不一致性,这些数据不一致性来自一个新的更严格的检查系统,以相同的方式,这些小的数据断开连接从最早的 Trainz 版本开始就出现在新版本中。
新用户被引导到网络搜索其实验和早期世界构建尝试可能产生的任何错误情况。任何预发布捆绑资产都已经没有错误,并且您可以使用基础系统做很多事情。内容管理器现在捕获并标记为错误的数据类型错误只会出现在导入的资产中,例如缺少缩略图图像的房屋。这些很容易被发现和修复,因为它们在内容管理器的状态栏(大窗格的左侧,许多小图标)中用一个大的红色感叹号标记。对于有经验的人来说,在后面的问题部分讨论的数据模型演变涉及一些文本编辑来修复,在大多数情况下,除非下载的资产使用高级功能(那些将是复杂的行业或高级机车和一些交互式车辆)。任何新用户都建议等待 4-6 个月再下载,同时在勘测员中使用丰富的内置资产积累经验,并定期浏览网络论坛。通过一些经验并观察其他人修复和讨论此类调整时的线程,您将学到很多东西,并且您可以时不时地提出一些问题并结交一些朋友。
如果您无法阻止自己下载或已经下载了有错误的东西,请记下错误并网络搜索在“查看错误”下拉列表中出现的唯一标识符(kuid)编号或文本短语(选择资产,右键拖动到“查看错误”)。截取屏幕截图或记下笔记,以便您可以按确切的术语搜索。如果这不起作用,找不到修复方法,请查找新用户论坛并寻求帮助。
在网站上发布攻击性言论是不可容忍的,并且会受到严格执行,因此请随时参与并关注许多主题,提出问题,并使自己为人所知。您不应该也不必只是潜伏。识别具有相同兴趣的用户(用户的版本所有权将显示为类似轨道的图形,分支线指向产品。拥有大多数或所有版本的用户显然经验丰富)。
如果您在论坛上没有在一两天内得到回复,请查看在线人员并查看个人资料……找到有经验的人员发送私人消息。解释您的错误,在您的帖子中添加链接,并寻求帮助;网络空间的态度是:我们都曾经是新手,唯一愚蠢的问题是那些没有问出口的问题。重要的是要保持耐心。
因此,新资产今天无法安装,因此请完成所有其他您可以做的事情,并等待一些关注。通常,一旦您通过一些帖子确立了自己的身份,有人可能会主动为您修复它,或者通过电子邮件交换引导您完成修复过程。(您很可能正在交换屏幕截图。)一旦您修复了几个,您就会看到事物是如何连接起来的,然后可以疯狂地下载新内容。否则,除了了解版本中的错误类型外,请玩游戏并学习。下一部分之后的本页其余部分仅供非常高级用户使用。
基础版本是稳定的,在 Beta 测试中未捕获的大多数错误都是次要的,并且社区旧内容资产的许多数据不连续性已预先宣布并预计随着产品系列切换所需的硬件及其长期运行的软件系统到更快的 64 位现代微处理器基础系统,以便为现在广泛使用的更快的较高分辨率显卡提供支持。这是根据客户需求采取的一项长期呼吁的措施,可以理解的是,由于之前的所有者几乎破产,所以延迟了。切换到 64 位系统和Speedtree 高清图形技术在 GUI 模块中引入了“开发人员预期的数据异常”和轻微-主要的拓扑不连续性,并且更改故意在导入旧内容时引入了某些数据不兼容问题(内容或资产是任何对象(铁路车辆、机车、人员、火车站、工业、建筑物、树木等)。每个都由一个核心构建,可能包含其他资产,例如车轮是转向架的一部分,转向架是车辆底盘的一部分,车辆底盘是铁路车辆的一部分。每个都需要独立定义和建模。)可以使用或放置到 Trainz 模拟器引擎及其运行时呈现的虚拟现实世界中,并由数据库和下载管理器内容管理器 Plus (CMP) 管理)。
许多铁路俱乐部、团体、粉丝和爱好者已经创建了内容并在公司的下载中心分享了他们的成果超过 13 年。此类项目的版权归创建者所有,他们已授权公司在其托管网站“下载站”上提供资产,并且与旧内容的主要升级问题可以概括为“无法联系作者以获取权限以向下载站中超过 100,000 个资产添加修复更新”。例如,许多人已经去世、更换了互联网或对 Trainz 感到不满,并且不会支持他们自己的创作。为了严格遵守国际版权法,公司也不能更改这些资产。但用户可以。所以它们必须在本地修复。
随着64位数据模型和多核64位新一代计算机的出现,出于良好的原因,安装了更严格的数据类型测试。许多旧内容(现在已过时,并且使用不再属于模型一部分的数据字段)被内容管理器的新图形系统增强的错误检查剔除。此检查可防止使用未定义的数据元素并完全崩溃系统,或者更糟的是将垃圾数据写入硬盘驱动器。十年前,运行商业软件并遇到蓝屏死机的情况并不少见,这些错误检查旨在防止此类系统崩溃。
此外,许多资源在上传时没有遗留要求(只是一个请求),即附加预览缩略图图像,因此这些资源需要进行一些小的修复,因为它们现在被视为错误,截图和Microsoft Window Paint 就足以创建一个;随着每个新版本的发布,敬业的Trainzers都顺应了这一变化,尽管伴随着一些抱怨。
那些不定期参与社区网络论坛的粗心和不知情的人可能会无意中触犯这些几乎微不足道的调整。作为一个已经存在十多年的可扩展数据系统,出现此类问题是意料之中的,一旦了解发生了什么,其难度等级确实很低。内容管理器模块会标记并列出这些错误,修复它们通常是常识,并且需要一点使用记事本或画图工具的经验。
本页的其余部分仅供经验丰富的Trainzers帮助N3V识别SP2升级修复的错误,因此仅供非常高级用户使用。 我是一名计算机工程师,在十多年里我只做过五六次这样的操作。 |
本章的目的是为TRS2012 SP1社区提供一种安装并能够在有或没有SP1的情况下运行的方法。以下“修复”是对Windows注册表编辑的练习“允许在同一台计算机上运行第二个Trainz 2012”。用户自行承担风险,从技术上讲,这属于侵犯版权行为,如果您在没有认真细致地注意建议的备份的情况下更改内容,可能会损害恢复工作系统的操作,而建议的备份将作为最后手段防止此类恢复。
此过程类似于使用Microsoft Windows内置工具重命名一组文件,但并非使用大多数人熟悉的工具,而是使用计算机专业人员独有的工具,而且这种情况很少见。使用了两个工具:Windows资源管理器(或文件夹名称编辑)来重命名文件。Windows Regedit.exe 用于修改注册表。您可以通过在开始菜单的运行行中键入命令来启动regedit:[开始] -> [运行] -> [键入regedit+Enter]
- 使用资源管理器重命名Trainz 2012的根目录,将其与系统注册表中存储的任何路径和程序名称断开。我建议将其命名为TRS2112,以获得最后讨论的“去死计划”补丁选项,因为如果注册表编辑等也需要对Exe进行补丁。
- 此过程将通过将其重命名为新重命名目录/文件夹(1)中的备用名称来手动断开与某些关键.exe文件的进一步注册表联系,即TRS2012.exe更改为TRS2112.exe,后者是程序启动器外壳,它应该调用所有其他模块.exe文件(在其本地根目录\Bin子文件夹中),或通过其注册表项从那里进行调用。
- 进行一系列编辑,将更改后的文件名映射到系统中当前的注册表键。
- 同时或依次对与上述文件关联的路径进行类似的名称更改。
- 调整快速查找注册表项以匹配新的.exe文件名
- 可以通过检查启动Trainz安装的任何快捷方式的属性
[单击它,[ALT][ENTER]检查其文件和路径]
来确定正确的Trainz“加载程序”文件名。如果您在桌面上有一个快捷方式,那么现在该编辑它了。这是您需要在所有级别(注册表中、快捷方式中、注册表中)更改的唯一“filenamespec”。此时,找到一个快捷方式来启动您的Trainz,并使用右键单击并按住或左键单击+[ALT][ENTER]打开快捷方式的属性。Regedit的查找功能看起来和操作方式与记事本(以及DOS)一样,但显示两个窗格(分别为Hkey树和数据)。您将希望通过使用FIND [CTRL][F]进行大多数导航来在其中操作。
|
- 但首先,请先将整个注册表备份到桌面或文档文件夹。此备份可以在文件>导入中加载,并撤消您在下面进行的所有regedit更改
- 打开regedit。如果左侧窗格“我的电脑”未突出显示,请左键单击以选中。它应该通过双击展开。
- 在文件下拉菜单中,拖动以导出,释放单击
(文件>导出为.reg文件)提供保存目标。这应被视为临时备份文件,您可以在知道不需要恢复后将其删除。导出它需要花费半分钟到一分钟。
- 您现在只需要重复搜索程序的本地根文件夹路径加上反斜杠即可查看程序或程序套件的所有Hkey。为了说明,在标准安装中,您不希望在C:\中以完整路径名开始pathspec,这将错过您需要更改的Hkey。我将继续使用...\Auran\,但...\NV3\对于FIND来说是相同的——regedit不关心它找到的是什么名称,并且两者都很方便地简短。
- 搜索加载程序.exe文件名(我假设该路径上的文件名是TRS2012.exe)应该可以识别对加载程序的所有调用,搜索pathspec\CMP.exe所有对内容管理器的调用,如果它们在不同版本中保留了该名称)
- 您还需要每次从顶部搜索每个“filename.exe”,并且不带扩展名,因此不会有偷偷摸摸的遗漏,这可能不会找到路径来整理和挂钩这些天,但是对无扩展名的.exe文件名的搜索将是必要的,并且作为最后一件事情是强制性的。(稍后详细介绍)
- [Tab]将使您在左右窗格之间弹出以识别键名。每个都可以独立导出为.reg文件(我建议您也这样做——这样您就可以实验性地仅更改一个完整的Hkey或重新加载刚刚导出的备份),因此如果您需要撤消某些操作,每个都将具有每个部分的“粘合细节”。如果您确实导入,则在退出regedit时更改将生效。(就像提交修复后的资源一样,现在它已经好了。)
如果这与以前的版本一致,那么可能只有四到六个重要的Hkey和并发名称映射在起作用。我上个月使用此基本过程将我所有的Trainz都重新定位到C:\Auran。Find被连续使用(使用[F3]重复上次查找),并将找到所有需要调整的条目。
- 如果您首先只搜索路径,您将看到您可能在每个停止点重命名的所有.exe。进行一次试运行,并在每个停止点(已找到的字符串)四处查看。此过程就像火车在每个车站短暂停留一样。我最初倾向于只通过在注册表中添加后缀“-1”并作为相应文件文件夹中的新.exe文件名来重命名启动器。如果这不起作用,则另一个修复将需要重新命名,因此请使用一个长度相近的近似匹配字符串,即TRS2112。请注意,如果我猜错了,Exe可能较短,因此请通过稍微更改名称来匹配长度,而不是按部就班地进行,如果我的猜测是错误的。(此外,您键入的字符越多,拼写错误导致出错的可能性就越大。改为使用TRS2112.exe作为您的手动编辑的替换字符串;在万一下面的.exe需要硬补丁才能创建功能副本,则可以使用任何HEX编辑器编程工具修改*.exe文件中的字符串以使所有这些都能正常工作。)
您必须位于正确的窗格中才能更改数据,并且Find会为您突出显示它……根据正常的Windows界面操作。(如果您使用的是Windows 8,我不知道是否可以执行此操作。(它应该在其中!)在VISTA和Windows 7/8中,请确保以管理员身份运行;使用[Windows键][R]打开regedit)
- 信息:[Tab]键在窗格之间来回切换(切换模式),并将垂直定位到左侧窗格中相应的包含Hkey名称。(左侧窗格,箱式货车,右侧窗格,数据箱)。
- 包括其完整树结构和树Hkey名称的完整Hkey位于状态栏(regedit底部)。
要导出“本地 Hkey”(列车编组)的备份,你需要使用 Tab 键切换到左侧窗格,然后点击树状结构中高亮显示的 Hkey 标签上方(在树状结构中)的父 Hkey 图标(一个小文件夹)。父标签没有缩进(或缩进较少)并且位于高亮显示的 Hkey 标签之上,而[F3/查找] + [Tab] 将你定位到该标签。这就像在 Windows 资源管理器中编辑 config.txt 文件或图像子文件夹一样,看看吧,描述起来可能听起来很复杂,但实际上非常简单。
- 浏览 Hkey 树...
- 当你位于当前 Hkey(子键,实际子键)时,你会立即看到树状结构,它是一个子键,因此会缩进(位于另一个子键之下,就像文件夹包含子文件夹一样)。
- 选择该父 Hkey 是你可以将整个 Hkey 导出为备份的方式。只需向上箭头键或点击即可到达它... 几个屏幕行,直到它被高亮显示。
- 找到你定位在屏幕中央左右的叶子节点。当你这样做时(我使用数字后缀的连续文件名作为 .regs,这样我就可以按相同的顺序重建。从 Windows 95 开始,我从未需要过其中任何一个!在操作过程中记下每个文件名,这样你就不会重复使用数字,并且实际上覆盖了你之前保存在另一个上层 Hkey 中的某个文件。)无论如何,点击“编辑”下拉菜单,导出 Hkey。左侧窗格中高亮显示的内容就是你正在导出的内容。[你可以导出两次并将其中一个或两个保存为文本文件,并使用记事本访问 .reg 文件以查看差异,但数据是相同的。]
在进行无用的更改之前,请忽略左侧窗格中显示为RunMRU 和MUICache 的 Hkey 字段,无需编辑,这些是快速启动项,在重新启动时会正常工作。因此也不需要备份!只需再次按下 [F3] 继续...
回到流程,我们只是
- 1) 找到一个搜索的项目,然后
- 2) 备份父 Hkey,
- 3) 我们只需按下 [F3] 返回到我们需要更改的项目(或项目)。
- 4) 如果我们按下 [Tab] 返回到左侧窗格,我们将回到本地父 Hkey 下的 xxx 个 Hkey,然后
- 5) 按 [Tab] 返回到右侧窗格(“编辑窗格”)中相同的高亮显示数据。
- 6) 我们需要更改的数据是一个 pathspec\filespec 格式的字符串,其中包含你的 Trainz 父根目录作为要查找的索引字符串。
- 7) 我们准备好了编辑,只查找与 TRS2012.exe 文件匹配的内容。
- 8) 但是在此编辑中,你必须修复 pathspec 以使用新的文件夹名称,必须像上面介绍的那样更改 .exe 文件名。
- 所有路径名,包括 ...\rootname\progfolder\Bin\*.exe 路径名都需要更新为更改后的 progfolder。如果要使 CMP、启动器和 CCP 继续工作,这一点至关重要。
- 我们只需要重复该序列几次,就像卸载列车编组中的连续车辆一样。保存本地 Hkey 就像向前拉动... 编辑、加载/卸载。重复,根据需要。
再次自动定位(并在右侧窗格中),这要归功于 [F3] - 现在右键点击进入编辑模式,选择使用数据下拉菜单中的“修改”并更改该行。再次按下 [F3] 查找下一个,依此类推。当数据字段突然更改时,重复按下 Tab 键检查 Hkey 字段序列,如果它符合条件,请备份本地父 Hkey;再次按下 [F3],在该处进行更改,等等,如上所述。重复此类连续查找,直到最后。你也可以修复 RunMRU 条目和 MUICache 查找,但这不会以任何方式影响你。
在某些主要的 Hkey 键中,你可能会更改多个数据字段,因此只需要一个备份。按下 Tab 键,回到相同的父位置,意味着你可以使用 Tab 键进行编辑。在大多数情况下,你会看到几个 Exe 的列表,并弄清楚你需要编辑每个 Exe,而无需再次查找。这可能看起来很可怕,但它很简单,只需要谨慎和常识:按下 Tab 键切换到不同的父 Hkey,表示备份 Hkey。(有些内容是用户副本,有些是快速启动内容(Hkey 名称是“MUICache”,并且会显示你启动的许多其他程序(如前所述,可以跳过此补丁),有些是“参考”副本,两者(或者如果你有第二个/第三个用户登录到你的 Windows,则可能是全部三个或四个)都必须更改)。注册表非常愚蠢,非常臃肿,而且非常重复。它是软件和人类笨拙的快速参考。只需期望多次看到相同的外观。
当你找不到新的条目时(你会收到一个弹出消息,表示找不到更多条目),按下 [Tab] 键切换到左侧窗格,折叠它,点击左侧窗格(我的电脑)顶部的 Hkey 以重新定位“查找起点”(它只向下搜索),并通过搜索旧字符串来检查你的编辑。如果未找到,至少在 RunMRU 或 Muicache 中未找到,请再次重新定位到顶部,然后键入 [Ctrl][F] oldfilename.exe 以仔细检查所有 exe 重命名是否已完成,并且路径是否为新路径。唯一的停止点应该是我所说的那些 Hkey。按下 [Ctrl][F] 并删除扩展名和句点,特别是对于启动器/发布名称 TRS2012.exe。因此,现在我们只搜索 TRS2012。它现在应该停在左侧窗格上,高亮显示,右侧窗格将包含完整的 pathspec 和重命名的文件名。将此左侧窗格字段编辑为与你使用的名称相同。再次查找到底部,再次按下 [F3],跳过 RunMRU 和 MUICache
现在退出(保存是自动的)并重新启动,然后通过从启动器 exe 运行来测试更改后的目录。(所有快捷方式都将成为孤立状态,等待重新安装到旧文件名和目录(我们没有更改任何内容)... 它可能会运行。如果没有,它将无法连接,并且你会看到一些错误,提示它找不到什么名称。尝试使用 regedit 重新编辑并根据需要重复。请注意,在此过程中没有更改任何 DLL 文件名。任何在初始查找中显示完整路径的 DLL 文件,也可能应该重命名为“-1”。Trainz 中的大多数 DLL 库都在本地 \Bin 文件夹中,CMP 和 CCP 的主目录。Exe 文件知道自己的根目录,除非给出路径,或者注册表中存在路径,否则将默认为本地副本(在该 \Bin 中)。
警告:此过程也会破坏当前卸载程序数据,但是,它不知道重命名。因此... 你可以 1) 稍后手动删除这些键(就像上面查找一样,而不是修改,而是删除位于左侧窗格中的整个键。当你删除路径和 Hkey 时 [左侧窗格是 Hkey 树],该目录即可删除。)因为两组将指向相同的目录(文件夹=之前在此处的目录)2) 删除该目录并使用优化和修复实用程序(如 ASC(高级系统护理))清理注册表,因为 Hkey 现在将指向一个孤立的目录。这两种方法都有效。无论如何,ASC(或其他)都会加快速度,并清除碎片、错误的快捷方式等。这些应该定期运行,并且一个版本还替换了一些麻烦的反病毒程序。
关键在于使用与你重命名的文件夹以及文件夹中重命名的 .exe 文件名和路径相同的 .exe 文件名和路径。由于 exe 文件名现在是非标准的,并且与路径匹配,产品名称由你的编辑添加了“S”后缀,新安装将使用旧的标准名称,但两者都应该运行。它们不知道彼此的存在。这是你的秘密,也是注册表的秘密。SP1 版本应该在遇到相同问题的情况下运行。新副本将使用与修改后的副本以前相同的旧目录名称执行相同的操作... 该安装将重新附加并覆盖卸载工具,因此你将一切正常。快捷方式将恢复到非 SP1 新安装的工作状态,并再次从任何地方工作。如果你想拥有指向重命名工具的快捷方式,可以在之前或之后复制它们,并手动编辑 pathspec 和文件名。
实际上并没有那么难。一些资源修复更难。从技术上讲,这将违反一份副本一份机器的版权协议,但无论如何,你将在稍后删除最糟糕的副本。N3V 可能感激这种压力释放;无论如何,他们肯定应该这样做。