腐蚀 Rust 服务器加载自定义地图:levelurl 教程
简短回答: 把你的 .map 文件上传到能给出 https 直接下载链接的地方,把 server.levelurl "<那个链接>" 放到服务器的启动行或它的 server.cfg 里,去掉 server.seed 和 server.worldsize,然后重启服务器。服务器和每个玩家都会从那个链接下载地图。
- 自定义地图的
.map文件,来自 Crucible Heightmap、Creator 或 RustEdit。 - 一个存放文件、能给出 直接下载链接 的地方:在浏览器里打开链接就直接开始下载,中间没有页面或按钮。它必须是
https链接。 - 一台你可以重启的 Rust 服务器,并且能打开它的启动行或
server.cfg来编辑。
1. 先在自己的电脑上测试地图
Section titled “1. 先在自己的电脑上测试地图”在别人之前先自己走一遍地图。Crucible Local Server 在你自己的电脑上运行它,完全不需要链接:把 .map 拖到它的窗口上,按 指定,启动服务器,按 加入。检查玩家能不能出生、遗迹是不是坐在地面上、有没有东西挡住道路。完整流程见在本地 Rust 服务器上测试你的地图。
地图上传之后(第 2 步),用同样的办法测试这个链接。在 地图 标签页选 托管 URL,把链接粘贴到 配置 标签页的 关卡 URL(.map 直链下载) 里,然后启动服务器。如果能加载,链接就是好的。
2. 把地图上传到直接下载链接
Section titled “2. 把地图上传到直接下载链接”- 下载必须立刻开始。 带下载按钮的文件分享页面不行:服务器拿到的是那个页面,而不是地图。
- 在 Dropbox 上, 分享链接以
dl=0结尾,它会打开一个页面。把它改成dl=1。 - 保持链接有效。 每个新玩家第一次加入时都从它下载地图,所以链接一失效,只要服务器还在运行这张地图,新玩家就进不来。
- 检查一下: 把链接粘贴到浏览器里。它应该下载一个以
.map结尾的文件,大小和你的一样。
3. 让服务器指向这个链接
Section titled “3. 让服务器指向这个链接”在服务器的启动行里:
RustDedicated.exe -batchmode +server.identity "my_server" +server.port 28015 +server.levelurl "https://example.com/maps/mymap.map" +server.maxplayers 100 +rcon.port 28016 +rcon.password "your-own-password" +rcon.web 1或者作为 server.cfg 里的一行,位于服务器的 cfg 文件夹(server/<identity>/cfg/,在 RustDedicated.exe 旁边):
server.levelurl "https://example.com/maps/mymap.map"- 去掉
server.seed和server.worldsize。 这两个会生成程序化地图。有了 level URL,就由地图文件决定世界。 - 把链接放在引号里。
- 如果启动行和
server.cfg都设置了它,以启动行为准。
两个位置的更多内容:Rust server.cfg 示例和启动参数。
4. 重启并查看控制台
Section titled “4. 重启并查看控制台”Rust 只在服务器启动时读取一次地图,所以要重启。然后控制台会显示:
Loading custom map from https://example.com/maps/mymap.map并且服务器列表会把这张地图显示为 Custom Map。如果下载失败,控制台会显示 Couldn't Download Level:,后面跟着地图名称和原因,然后服务器关闭。错误索引里的 Rust 服务器消息会告诉你每一条的含义以及该改什么。
以后更新地图
Section titled “以后更新地图”服务器和每个玩家都会为他们下载的每张地图保留一份副本,按它的链接归档。把改过的地图上传到同一个链接,他们仍然会继续加载旧的那张。有两个办法绕开:
- 换一个新文件名。 把它上传为
mymap_v2.map,并让server.levelurl指向新链接。每个人都会重新下载。Rust 会按地图的文件名给自定义地图的世界存档命名,所以这也会开始一个新世界。 - 文件名不变,换新链接。 想在小修之后保留世界,就保持文件名,只改链接的末尾,例如
https://example.com/maps/mymap.map?v=2。先在浏览器里打开新链接,确认你的主机带着它仍然给出地图。
改链接之前先停止服务器。它只在启动时读取地图。
给真实玩家托管
Section titled “给真实玩家托管”想把地图放在一个不靠你电脑一直开着的服务器上时,Drizzza 与 Pine Hosting 合作:pine.host/drizzza。
在 Pine Hosting 上几分钟就能开好你的 Rust 服务器,带 DDoS 防护和 uMod 插件安装器。用代码 DRIZZZA 享 7 折。
这一页的步骤在托管服务器上是一样的:上传地图,在主机允许你编辑启动行或 server.cfg 的地方设置 server.levelurl,然后重启。
带 RustEdit 或 Creator 附加内容的地图
Section titled “带 RustEdit 或 Creator 附加内容的地图”原版 Rust 服务器会运行任何 .map 的地形、图层和 prefab。某些编辑器存在文件里的附加内容,需要服务器附加组件才能生效:RustEdit 的谜题和刷新点需要 Carbon 或 Oxide 服务器上的 RustEdit 扩展,而 Creator 的布线、体积和战利品配置需要 Creator 的服务器扩展。见自定义数据地图与 RustEdit和原版服务器读取什么。
