跳转到内容

腐蚀 Rust 本地服务器加载自定义地图

简短回答: 停止服务器,打开快速视图里的 地图 按钮,选你的地图。你的 Crucible Heightmap 导出已经在那个列表里,标着 export,选一个就会一次点击完成导入并指定。按 启动服务器,服务器就在你的地图上启动。

Crucible Local Server 运行自定义 Rust 地图和运行程序化地图一样轻松。你给服务器指定一个 .map 文件,选择它怎样送到 Rust 专用服务器,然后启动。在 Crucible Heightmap 里做的地形完全不用折腾文件:应用会自己找到你的 Heightmap 导出,一次点击就能指定。

这个视频从导出的地图一路到在免费本地服务器上进游戏走一遍:

Crucible Local Server 的地图标签页,显示地图库和自定义地图投送选项

地图 标签页从上到下是四张卡片,Carbon 或 Oxide 服务器上还有第五张:

  • 这个服务器被设定运行什么: 要么是“自定义地图:名称”,要么是“程序化地图”及其种子和大小。自定义地图在右侧有一个 清除(恢复为程序化生成) 链接。
  • 投送: 决定 Rust 如何加载自定义地图的几个选项,下面有一行说明你选的那个。
  • 地图: 你的 Crucible Heightmap 导出、你导入的自定义 .map 文件,以及这个服务器自己的程序化世界。
  • 已保存世界: .sav 文件,也就是在那些地图上建起来的世界。
  • RustEdit 扩展: 仅限 Carbon 或 Oxide 服务器;见下面的自定义数据地图。

地图卡片和已保存世界卡片里的每一行都带有缩略图、一个选择或取消选择的按钮,以及一个删除按钮。

服务器运行时这个标签页会锁定

Section titled “服务器运行时这个标签页会锁定”

Rust 只在启动时读取一次世界,所以在服务器运行时换掉它,只会让应用对加载了什么说假话。服务器在线时,这个标签页上的所有操作都被禁用,顶部有一行字说明这一点:

请先停止服务器,再更改它的地图或应用已保存的世界。它只在启动时加载一次世界。

停止服务器,换地图,再启动。

不用打开地图标签页也能换地图。快速视图按钮行右侧的 地图 按钮会打开一个菜单,里面有:

  • 程序化,把服务器切回程序化世界,并随机生成一个新种子。
  • 你库里的每一张地图,一次点击就指定。
  • 每一个你还没导入的 Crucible Heightmap 导出,标着 export。选一个会把它导入你的库,并在同一次点击里指定给服务器。

你一分钟前刚做的导出已经在列表里了。和地图标签页一样,服务器运行时这个按钮是锁定的。

Rust 为服务器生成的世界,会在第一次启动时保存到这个服务器自己的文件夹里。Crucible 会在地图卡片里列出每一个(一行 proceduralmap.<size>.<seed>,标着 此服务器中的程序化世界)。它们 永远不会被复制进你的地图库:程序化世界属于生成它的那个服务器。

选择程序化世界 不是 指定自定义地图。它设置的是服务器的 种子 和 世界大小,让 Rust 再次生成那个一模一样的世界:

  • 服务器当前运行的世界会显示绿色的 使用中 标签。点击它取消选择,下次启动会随机生成一个新世界。
  • 其他任何程序化世界会显示 使用。点击它,把服务器切换到那个种子和大小。

用 程序化生成 打开服务器自己的文件夹,用 扫描 在生成新世界后重新查看。各种世界大小在游戏里是什么感觉,见 Rust 地图大小。

自定义 .map 文件放在一个共享的 地图库 里,每个服务器都能从里面选。添加一张:

  • 把 .map 拖到窗口上 来导入。
  • 你的 Crucible Heightmap 导出会自己出现在地图卡片里,是虚线行,标着 Heightmap 导出 和项目名称。对你想要的按 导入。扫描 会重新查看。
  • 用 自定义地图 直接打开库文件夹。

库里的每张地图都显示 指定(或一个绿色的 使用中 标签,点击可以清除并恢复为程序化)。指定自定义地图会丢掉服务器的程序化设置(种子和世界大小),因为现在由地图文件决定世界。

.sav 是在一张地图上建起来的世界:基地、可部署物和战利品。地图卡片和已保存世界卡片是 各自独立 选择的,所以你可以分别决定是在一个世界上重新开始,还是继续一个已保存的版本:

  • 当前使用的存档会显示绿色的 使用中 标签。点击它取消选择该存档。地图仍保持选中,所以服务器会在同一个种子和大小上开始一个全新的世界。
  • 你取消选择的存档不会被删除。它会被 停放 为一行红色的 备份,未加载,你随时可以再次选择。
  • 用 使用 选择停放的备份,会把它换回当前存档。原来在用的那个存档会变成备份。

对自定义地图,把 .sav 拖到窗口上或打开 自定义存档 来导入,再按 应用。存档只能加载到它所建立的那张地图上,所以在匹配的 .map 进入你的地图库之前,应用 一直是禁用的。这一行会告诉你它对应哪张地图,或者它的地图缺失。见wipe、备份与复用世界。

每个地图和存档行都显示真实的俯视 预览缩略图,指定的世界在快速视图里显示得更大:陆地和海洋,带 splat 着色和山体阴影,让你一眼分清各个世界。程序化世界(服务器启动它们之后显示)和自定义 .map 文件都支持。

Rust 从链接加载自定义地图,所以 Crucible Local Server 给你两种投送方式,从 投送 卡片里的选项中选:

  • 本地(file://): 地图直接从你的磁盘加载。这是默认选项,对你自己电脑上的服务器最简单,但只有这台电脑能加载它,所以其他电脑上的朋友无法加入。
  • 托管 URL: 给其他电脑上的玩家用,把 .map 上传到能给出直接下载链接的地方,再把链接粘贴到配置的 世界 部分的 关卡 URL(.map 直链下载) 里。它必须是 https 链接:Rust 只通过 https 下载地图,普通 http 链接在服务器启动之前就会被拒绝。

把做好的地图放到公开服务器上给真实玩家玩,是另一件事,见托管你的自定义地图。

在 RustEdit 里用自定义 prefab、刷新点和战利品做出来的地图,需要 RustEdit 扩展 来加载这些数据。普通的 heightmap 地图不需要它。地图标签页的 RustEdit 扩展 卡片会显示它在该服务器上是 已安装 还是 未安装,带一个 安装 RustEdit 扩展 按钮,把它放进该服务器自己的文件里。装好之后按钮写成 重新安装 / 更新,Rust 更新之后就按这个。两者都需要先停止服务器。

扩展需要模组加载器,所以这张卡片只出现在 Carbon 或 Oxide 服务器上。原版服务器无法承载它,Crucible 也不会悄悄把你的原版服务器变成带模组的来凑合:想用 RustEdit 自定义数据地图,请创建一个 Carbon 或 Oxide 服务器。

每一行都有删除按钮,删掉什么取决于是哪一行:

  • 删除程序化世界 会移除整个世界:它的存档、备份,以及地图旁边的遮挡数据。
  • 删除已保存世界 只移除存档。地图会保留,所以你可以在它上面重新开始,或者应用另一个存档。
  • 服务器仍设为加载的自定义地图无法删除。 那个服务器会改而启动一个程序化世界,悄悄地在错误的地图上上线。请先让它指向另一张地图,或者清除并恢复为程序化。

用第一人称走一遍你的地图,是发现玩起来不顺的地形、位置不好的遗迹或挡住行动的悬崖的最可靠办法。更完整的流程,以及做好的自定义地图在游戏里什么样,见在本地 Rust 服务器上测试你的地图。