CLI · 文档

启动器命令行参数

启动器支持哪些启动参数、它给游戏进程注入了什么环境变量,以及哪两个参数千万别乱用。

约 5 分钟 · 最后更新 2026-10-25

01基本用法

StartRide.exe [options]

不带参数就是正常打开界面。参数主要给三种场景用:自动化脚本、桌面快捷方式、以及技术支持时让你复现某个状态。

参数是给「启动器」的,不是给游戏的

启动器读这些参数决定自己要做什么;至于游戏进程拿到什么,是启动器决定的(见「注入的环境变量」)。

02三种启动方式

方式怎么起典型用途
正常启动双击程序日常使用
带参数启动命令行 / 脚本自动化、批量、复现问题
快捷方式启动桌面快捷方式(目标 + 参数)给不同用途各配一个入口
快捷方式是最好用的方式

给它配一个带参数的快捷方式,比自己每次敲命令省事,也比写脚本更不容易出错。

03参数:-level

项值
写法-level <地图>
作用启动游戏时直接载入指定地图
前置条件该地图必须已经装在本机
  • 地图名要和本机已安装的地图标识对得上,写错不会自动回退到默认地图,而是加载失败。
  • 联机时地图由房间决定,这个参数主要用于单人 / 回放场景。
  • 排查「地图加载不出来」时,先用游戏自己启动一次确认地图是好的,再回到启动器试。

04参数:--userpath

项值
写法--userpath <目录>
作用指定游戏的用户目录
建议实机一般不要传
双目录陷阱

游戏会在你指定的目录下再追加一层版本目录。手工传了之后,你以为模组在 A,实际被读写的在 A/版本号/ —— 结果就是「模组和存档凭空消失」。实机上一律不传,让游戏自己决定。

如果真的需要传(比如做隔离测试),那就要连最后一层版本目录一起算进去,并且清楚自己在做什么:

--userpath D:\BeamNG-Test
      ↓ 实际生效
D:\BeamNG-Test\<版本号>\mods      <-- 模组真正被读写的位置
程序内部是怎么找 userpath 的

它会去读游戏的配置文件(BeamNG.drive.ini),从中取出 userFolder,再拼上版本目录。所以「不传参数」时的行为是可靠的,别去手工覆盖它。

05参数:--dir=

项值
写法--dir=<目录>
作用指定安装目录
谁在用仅安装 / 卸载程序
真机上永远不要手动跑带 --dir= 的卸载

卸载程序按固定的注册表键名清理,不校验目录归属。用 --dir= 指一个不对的目录,它照样照着固定键名去删,可能误删无关内容。这是不可逆的。

为什么还留着这个参数

自动化测试需要一个「干净环境 → 安装 → 卸载」的闭环,没有它就测不了。它的价值在于测试,风险在于误用 —— 所以它必须被明确标记成危险参数。

06注入的环境变量

启动器在拉起游戏进程时,会注入两个 Steam 身份变量,让游戏把这次运行当成 Steam 启动,从而正常记录游玩时长。

变量值作用域
SteamAppId284160仅该子进程
SteamGameId284160仅该子进程

284160 是 BeamNG.drive 在 Steam 上的应用 ID。这两个变量只在启动器拉起的那个子进程里生效,不改动系统环境,也不影响 Steam 客户端本身。

为什么要这么做

  • 游戏直接双击运行时,Steam 不认为它被启动了,时长就不会被记录。
  • 注入这两个变量后,游戏把这次运行当成一次正常的 Steam 启动,时长能正常同步。
  • 这是进程级注入,退出即失效,不留任何常驻改动。
怎么验证注入生效了

进游戏玩几分钟,退出后等一会儿再去看 Steam 上的时长有没有变化。刚退出就去看,往往会因为缓存而看不到更新,等一小会儿再刷新。

07退出码与日志

情况退出码看哪里
正常退出0—
路径配置有问题非 0启动器自己的日志
游戏进程被结束非 0游戏日志 + 启动器日志,两边都要看
参数写错非 0启动器日志里通常会有提示信息
先分清「启动器失败」还是「游戏失败」

两个进程各有各的日志。混在一起看会得出错误的结论 —— 这是排错时最容易走弯路的一步。

08自动化脚本示例

给日常最常用的两个场景各写一段。注意路径按自己的安装位置改:

# PowerShell:指定地图启动一次
Start-Process -FilePath "D:\StartRide\StartRide.exe" -ArgumentList "-level","gridmap_v2"

# 等游戏退出后再继续
Start-Process -FilePath "D:\StartRide\StartRide.exe" -Wait
#!/usr/bin/env bash
# 用指定地图启动(Windows 上的 Git Bash 里也能用)
"D:/StartRide/StartRide.exe" -level gridmap_v2 &
脚本里别带危险参数

自动化脚本会被复用、会被复制给别人。把 --dir= 这类参数写进脚本,风险会跟着脚本一起传播。

09排错表

现象可能原因怎么办
参数没生效参数名拼错,或没被识别的参数被忽略对照参数表逐字确认;看启动器日志
地图加载失败地图没装,或名字对不上先进游戏确认该地图可用
模组 / 存档不见了手工传了 --userpath,被追加了版本目录去掉该参数,去 版本号/ 子目录里找找
时长没记上注入变量没生效,或还没同步等一会儿刷新 Steam;确认是从启动器启动的
卸载删了不该删的东西--dir= 指错了目录不可逆;从备份恢复,并停止使用该参数
游戏 40 ~ 60 秒后消失内存上限限制杀掉了进程见 开发概览 · 一个真实案例