跳到正文
本頁目錄

配置

模塊讀取 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遊戲實例和工具在哪裡(在新電腦上準備)