跳转到内容

Rust 自定义地图本地测试:先在本地服务器走一遍

简短回答: 安装免费的 Crucible Local Server 应用,在它的地图菜单里选你的 .map,点击启动服务器,等显示上线后点击加入。手动的话:在启动 .bat 里用 file:/// 路径把 server.levelurl 指向你的 .map,启动服务器,在 F1 控制台输入 client.connect localhost:28015。

测试 Rust 自定义地图最快的办法,是运行一个本地 Rust 专用服务器,加载你的地图,进游戏走一遍,亲自感受地形、遗迹和玩法。这样能及早发现问题:玩起来不舒服的地形、位置不好的遗迹、挡住行动的悬崖,以及第一人称一眼就能看出来、但在 RustEdit 俯视图里容易漏掉的布局问题。

想跳过脚本? Crucible Local Server 是一个免费应用,这一页上的所有事情它都替你做了:安装 Rust 专用服务器、加载你的地图、启动服务器,不用编辑 .bat 文件。它还会自己找到你的 Crucible Heightmap 导出,并列在它的地图菜单里,所以刚生成的 .map 点一下指定,再点一下启动服务器就能运行。服务器上线之后,它的加入按钮会把你送进游戏。见在你的服务器上运行自定义地图。如果你喜欢手动来,下面的手动设置依然有效。

Drizzza 的视频用 Crucible Local Server 应用,在免费的本地服务器上运行一张制作中的地图,从安装服务器到进游戏走地形:

走下面的手动路线时,他较早的视频 How to Host Your Own Rust Server for FREE 演示了怎么手动搭服务器。

在你的 Rust 服务器上加载自定义地图

Section titled “在你的 Rust 服务器上加载自定义地图”

在启动脚本里指向 .map 文件,让你的专用服务器加载自定义地图。把导出的 RustEdit .map 文件保存到某个位置(服务器根目录里的 maps 文件夹就很合适),然后在启动 .bat 里把 server.levelurl 设成完整文件路径:

终端窗口
@echo off
:loop
cd /d "C:\Path\To\Your\Server\Folder"
echo Starting server...
RustDedicated.exe -batchmode ^
+server.port 28015 ^
+server.levelurl "file:///C:\Path\To\Your\Maps\yourmap_v1.map" ^
+server.maxplayers 1 ^
+server.hostname "Your Server Name" ^
+server.identity "yourserver" ^
+rcon.port 28016 ^
+rcon.password YOUR_RCON_PASSWORD ^
+rcon.web 1
echo Server stopped. Restarting in 10 seconds...
timeout /t 10
goto loop

要改的地方:

  • cd /d path: 你的 RustDedicated.exe 所在的文件夹。
  • server.levelurl: 你的 .map 文件的完整路径(保留 file:/// 前缀)。
  • server.hostname 和 server.identity: 你的服务器名称,以及这台服务器的存档文件夹名。
  • rcon.password: 设成你自己的,千万别分享。

关于启动行和配置文件的更多内容:Rust server.cfg,进服之后给自己设置管理员,如果大地图跑得慢,看服务器性能。

启动服务器,打开 Rust,按 F1,输入 client.connect localhost:28015(或者 client.connect 127.0.0.1:28015)加入,走一走你的地图。想在上面自由飞行?飞行穿墙和建造工具见 Rust 创造模式指令,干净的截图和视频见拍摄指令。

file:/// 地图只对和服务器在同一台电脑上的玩家有效。每个加入的人都从 server.levelurl 的地址下载地图,所以朋友的游戏访问不到你硬盘上的文件。要和朋友一起测试:

  1. 把 .map 上传到能给出 https 直接下载链接的地方,然后把 server.levelurl 改成那个链接。在 Crucible Local Server 里,在地图标签页选择托管 URL,然后在配置里粘贴链接。见在 Rust 服务器上加载自定义地图。
  2. 在路由器上把端口 28015(TCP/UDP)转发到你电脑的内网 IP 和端口 28015。你的外网 IP 地址是网络运营商分配给你家网络的公网地址(在浏览器里搜“what is my IP”就能查到)。查看你的路由器设置,或者搜“port forward [你的路由器型号]”获取详细步骤。
  3. 把你的外网 IP 给朋友,让他们用 client.connect YOUR_EXTERNAL_IP:28015 连接。

一张建在 Crucible 地形上的自定义地图,游戏里的样子和整张地图总览。截图来自 SyFex:

建在 Crucible 地形上的 Rust 自定义地图的游戏内画面:有河流和松树的草地峡谷,夹在岩石悬崖之间

建在 Crucible 地形上的 Rust 自定义地图的游戏内画面:雨中的海岸悬崖,下面是沙滩

建在 Crucible 地形上的 Rust 自定义地图的游戏内画面:一条路蜿蜒穿过悬崖和起伏的丘陵

完成的 Rust 自定义地图的俯视总览,有遗迹、道路和生物群系

游戏内画面和总览截图来自 SyFex,Facepunch 下架 Hapis 地图之后,他一直在让这张地图继续活着,功劳很大。在这里看 SyFex 的 Rust 地图作品集。

要么每个新版本都换个新名字保存(例如 yourmap_v2.map),再把 server.levelurl 指向它;要么把旧的 .map 从服务器的 identity 文件夹和 Rust 客户端的地图文件夹 C:\Program Files (x86)\Steam\steamapps\common\Rust\maps 里都删掉。换名字是更稳妥的习惯,因为已经有旧文件的玩家这样就会下载新的。

如果加载失败,错误索引里列出了常见的 Rust 服务器和地图错误。

准备好把地图放到正式服务器上时,见在 Rust 服务器上加载自定义地图,并设一个玩家能安排时间的 wipe 日程。Drizzza 和 Pine Hosting 合作,给你提供简单的托管方案:pine.host/drizzza,用代码 DRIZZZA 享 30% 折扣。