跳到正文
本页目录

配置

模块读取 mods\BeDD\config\config.json,一般由测试框架写入(Install-BeDDMod 会写)。 没有这个文件时游戏照样无头运行,只是用默认值、没有 managerScript(所以只能进已经开着的管理窗口)。

json
{ "clientWidth": 1600, "clientHeight": 900, "pipeName": "BeDD", "managerScript": "C:\\BeDD\\BeDDManager.ps1" }

Install-BeDDMod 和 Start-BeDDGame.ps1 还会把实例的 LeviLamina 切到内置崩溃记录器(mods\LeviLamina\config\Config.json 里的 modules.crashLogger.builtin):默认的 CrashLogger.exe 是控制台程序,每次启动游戏都会在桌面上闪一下黑窗口。

配置项

键
clientWidth、clientHeight游戏窗口大小(0 表示不改),每次运行点击位置都一样
pipeName多开时每个实例一个
loopbackOnly默认 true:游戏只在本机通信,新实例不会弹 Windows 防火墙提示,也不会去查询本机以外的游戏服务器(否则它们可能以"局域网世界"出现在测试存档前面)。测试框架自己启动的专用服务器每个服务器目录还是会问一次,点取消即可
managerScriptBeDDManager.ps1 的路径(Install-BeDDMod 会写):没有管理窗口时游戏用它启动管理窗口
mute默认 true:游戏不出声
trace把到达游戏的每个输入写进 logs\latest.log,报 bug 时用
pipeInstances默认 4:可同时使用游戏管道的脚本数(某个脚本断开时,它按住的键、鼠标按钮和 input 移动覆盖都会松开);1 表示一次一个

给 bedboo 用的配置项

这些配置项打开 bedboo 的 bedd 传输要用的操作。默认全部关闭;除非测试框架需要, 否则保持关闭(见安全)。

键
gameHooks默认 false:挂钩游戏自身的系统,用于 world 与 look(Get-BeDDWorld、Set-BeDDLook)、input(Set-BeDDInput:行走、跳跃、潜行、疾跑,与按键绑定无关)、slot、action 与 button(Set-BeDDSlot、Invoke-BeDDAction、Set-BeDDButton:快捷栏、丢弃/背包/视角/暂停、按游戏刻或直到目标方块破坏为止按住攻击/使用/选取)
tap默认 false:提供 \\.\pipe\<pipeName>-tap,一个二进制流,包含客户端收发的游戏数据包(Tap 协议),并带加入日志,读取方可在会话中途接入。它包含登录玩家的整个会话,所以只有你的用户能打开。打开时客户端会请服务器不使用它的 blob 缓存,每个区块都完整发送
tapLoopback默认 true,只在 tap 打开时生效:单人世界和本游戏开的局域网世界也接到 tap 管道上(数据包重新序列化;局域网访客的流量不包括在内)
tapJournalMiB默认 128:tap 加入日志的大小上限;超过后中途接入不完整(complete:false)
allowSend默认 false:允许管道操作 send(Send-BeDDPacket),bedboo 等脚本借此让客户端发送它序列化好的聊天和命令(你电脑上的任何程序都能以你的玩家身份这样做)
sendAllowsend 可发送的数据包 id,默认 [9, 77](text、command_request);login、inventory_transaction、player_auth_input 和 item_stack_request 始终被拒绝
allowStack默认 false:stack 操作(Send-BeDDStack)让管道客户端以登录玩家的身份发出物品堆请求(背包移动、合成、箱子存取),bedboo 的 bedd 模式用它。只在需要的测试里打开

环境变量

变量谁读取
BEDD_PIPEBeDD.psm1Connect-BeDD 不带 -PipeName 时用的管道(默认 BeDD)
BEDD_MANAGER_PIPEBeDDManager.ps1、模块用另一个管理窗口(而不是本会话的那个)的管道,比如录制时专用的那个;设了它启动的游戏显示在那里
BEDD_LABEL模块游戏在管理窗口里的名字(Start-BeDDGame.ps1 -Label 会设置它)
BEDD_RETURN_FOCUS模块一个窗口句柄:游戏启动时若仍激活了自己,前台还给这个窗口(Start-BeDDGame.ps1 和垫片的 Start-Game 会设置它)
BEDD_DIR你的测试框架Be.D.D. 解压的位置(安装)
BEDD_INSTANCE、BEDD_VERSIONS_DIR、BEDD_LAUNCHER_DATA、BEDD_LEVILAUNCHER、BEDD_LIPBeDDSetup.psm1游戏实例和工具在哪里(在新电脑上准备)