投票 再次無門檻學會移植 Balatro 小丑牌並安裝新 Steamodded 1.0


3樓貓 發佈時間:2025-02-15 22:46:49 作者:HorsenLiu Language

由於你盒縱容網絡暴力加害者,且對受害者賬號進行限流操作,不會對索要鏈接的私信進行回覆,有需要的盒友移步粉色電視的同名文章,或在 GitHub 搜索 HorsenLiu/BalatroMods。

0. 前言

上一篇教程以「授人以漁」的方式教會了大家移植小丑牌 PC 版到手機上並添加 Mod。

投票
  再次無門檻學會移植 Balatro 小丑牌並安裝新 Steamodded 1.0-第0張無門檻學會移植 Balatro 小丑牌並添加 Mod

如果你沒有看過,可以點進去粗略地瞭解一下,以便更好地銜接上新的這篇。

當時比較可惜的是 Lovely 注入器不支持移動端,導致依賴 Lovely 的 Steamodded 1.0-alpha 在手機上運行不起來。只能退而求其次安裝 0.9.8 的舊版本,而且 Mod 版不能自定義卡面。不過現在我終於找到方法解決了所有問題!雖然有點麻煩,但可以讓移動端也能有 PC 端的 Mod 遊玩體驗。

你可能已經開始迷糊了。不要緊,先記住這幾個重要的東西:

  • 移植工具:balatro-mobile-builder,用於生成移動端安裝包,支持同步存檔;

  • smods:全稱 Steamodded 1.0-alpha,所有模組的前置模組;

  • Lovely:smods 需要有它才能生效;

  • 模組:也就是 Mod 文件,分為普通模組和 Lovely 模組,後面細說;

  • 轉儲:Lovely 生成的 dump 文件,這次教程的主角。

下面正式開始,首先需要的前置條件:

  • PC 版 Balatro 小丑牌

  • 可以訪問 GitHub 的網絡環境(推薦使用 Watt Toolkit 加速器)

  • 手機和數據線(最好是原裝線,第三方線可能僅支持充電,不支持數據傳輸)

  • 不會被殺毒軟件亂刪文件的電腦

  • 沉著冷靜有耐心的大腦

注意:

如果你之前跟著上一篇教程操作過,需要先做兩個步驟:

  1. 把 PC 版的小丑牌恢復成原版狀態:打開 Steam,點擊庫,找到 Balatro,右鍵 -> 管理 -> 屬性 -> 已安裝文件 -> 驗證遊戲文件的完整性(或者直接卸載重裝);

  2. 把移動端的小丑牌卸載掉。如果移動端進度比較新,請一定把存檔同步給電腦端作為備份(相關教程在本文最後一部分)。

1. 運行移植工具

參考文章:GitHub - PGgamer2/balatro-mobile-builder

1.1 下載 balatro-mobile-builder

打開下載頁面(目前最新版本是 beta-0.9.4): https://github.com/PGgamer2/balatro-mobile-builder/releases 

根據你的系統選擇其中一個 exe,大多數人應該都是下載【balatro-mobile-builder-win-x64.exe】

投票
  再次無門檻學會移植 Balatro 小丑牌並安裝新 Steamodded 1.0-第1張

1.2 複製到 Balatro 本地文件

這一步大家應該都會吧。打開 Steam,點擊庫,找到 Balatro,右鍵 -> 管理 -> 瀏覽本地文件,把【balatro-mobile...exe】複製到裡面,保持和【Balatro.exe】在同一個文件夾中。

投票
  再次無門檻學會移植 Balatro 小丑牌並安裝新 Steamodded 1.0-第2張
投票
  再次無門檻學會移植 Balatro 小丑牌並安裝新 Steamodded 1.0-第3張

1.3 打開手機 USB 調試並連接電腦

這一步是為了方便直接安裝 apk 並同步 PC 版的存檔。由於大家的手機品牌都不一樣,建議自行搜索開啟 USB 調試的方法,基本上大同小異。

這裡以 MIUI / 澎湃 OS 為例:打開設置 -> 點擊我的設備 -> 全部參數與設備 -> 連續點擊 OS 版本(系統版本)進入開發者模式 -> 返回設置搜索「開發者」-> 點擊開發者選項 -> 往下翻,依次開啟 USB 調試和 USB 安裝。

投票
  再次無門檻學會移植 Balatro 小丑牌並安裝新 Steamodded 1.0-第4張

手機通過數據線連接電腦,手機上會彈窗,點擊允許。

1.4 開始移植

雙擊【balatro-mobile...exe】,然後我負責給你逐步翻譯。

  • 【Open the Android save manager (y/[n])? 是否打開安卓存檔管理器?】如果你是你一次安裝,就沒有存檔,直接回車

  • 【Apply FPS cap patch ([y]/n)? 是否安裝幀率上限補丁?】將幀率限制為設備的原始刷新率,建議安裝,直接回車

  • 【Apply Landscape patch ([y]/n)? 是否安裝橫屏補丁?】將遊戲鎖定為橫屏方向,建議安裝,直接回車

  • 【Apply High DPI patch ([y]/n)? 是否安裝高分辨率補丁?】啟用高分辨率圖形模式,建議安裝,直接回車

  • 【Apply Disable CRT patch (y/[n])? 是否安裝禁用 CRT 補丁?】禁用 CRT 著色器可能會導致畫面發白,不建議安裝,直接回車

  • 【Build for iOS (y/[n])? 是否為 iOS 構建?】如果你是 Android 設備,直接回車

  • 等待程序下載必備構建工具。這裡比較考驗你的「上網能力」,如果下載過程異常緩慢甚至中斷,就會因為文件不完整導致程序閃退。可以直接把我分享的工具複製到【Balatro.exe】的所在位置,程序檢測到就會跳過下載。

  • 【Delete downloaded building tools ([y]/n)? 是否刪除構建工具?】這個就看你自己了,如果不想留,直接回車

  • 【Install to your Android device through USB ([y]/n)? 是否通過 USB 安裝到你的安卓設備?】直接回車,程序會自動下載 adb 工具,方便我們最後添加 Mod 用。安裝成功的輸出是這樣的:

投票
  再次無門檻學會移植 Balatro 小丑牌並安裝新 Steamodded 1.0-第5張

如果程序沒有這樣走,點擊進入 platform-tools 文件夾,在文件管理器地址欄輸入 cmd 回車,在命令行窗口輸入 adb devices 回車檢測已連接的設備。如果 List of devices attached 下面是空白的沒有任何字符串,說明手機和電腦沒有連接上。

  • 【Copy local saves to your device ([y]/n)? 是否複製本地存檔到你的設備?】這一步就是把 PC 上的遊戲存檔同步到手機,如果你需要,直接回車

  • 【Delete ADB ([y]/n)? 是否刪除 ADB 工具?】ADB 工具我們下一步有用,所以不要回車,直接關掉窗口就可以了。ADB 工具的文件夾叫【platform-tools】,記住它的名字和位置。

如果你對模組不感興趣,進行到這裡就可以結束了。打開手機上的 Balatro 享受和 PC 端一樣的遊戲體驗。

2. PC 端安裝 smods(Steamodded)  

參考文章:Home · Steamodded/smods Wiki · GitHub

新版的 smods 不再需要拖動 exe 來注入代碼,而是作為一個模組(Mod)安裝到遊戲中。也就是說 smods 是所有其他模組的前置模組,不同的是它需要 Lovely 才能運行。說到 Lovely,現在越來越多的模組(特別是大型模組)都需要依賴 Lovely 了。

這裡教大家如何分辨普通模組和 Lovely 模組:

  • 如果模組是一個文件夾,裡面有 lovely 子文件夾,說明是 Lovely 模組;

  • 如果模組是一個文件夾,裡面有 lovely.toml 文件,說明是 Lovely 模組;

  • 如果模組是一個文件夾,但裡面沒有 lovely 相關的文件,說明是普通模組;

  • 如果模組是單個 lua 文件,說明是普通模組。

如果你圖方便,可以把所有模組都看作是 Lovely 模組。

當遊戲啟動時,Lovely 會讀取和自己有關的文件,以此來生成轉儲(dump)文件,這樣 smods 就生效了。smods 又把普通模組的代碼注入遊戲,這樣所有模組都生效了。

如果 Lovely 模組發生了更新、增加、刪除,遊戲啟動時轉儲文件也會發生變化;如果普通模組發生了更新、增加、刪除,轉儲文件則不會發生變化。所以說,轉儲文件和模組文件要搭配在一起,才能讓遊戲正常運行不報錯。

2.1 下載 Lovely 注入器

打開下載頁面(目前最新版本是 v0.7.1):https://github.com/ethangreen-dev/lovely-injector/releases

根據你的系統選擇一個 zip,大多數人應該都是下載【lovely-x86_64-pc-windows-msvc.zip】。解壓出來得到一個叫【version.dll】的文件。

投票
  再次無門檻學會移植 Balatro 小丑牌並安裝新 Steamodded 1.0-第6張

2.2 複製到 Balatro 本地文件

這一步大家應該都會吧。打開 Steam,點擊庫,找到 Balatro,右鍵 -> 管理 -> 瀏覽本地文件,把【version.dll】複製到裡面,保持和【Balatro.exe】在同一個文件夾中(似曾相識?)。

投票
  再次無門檻學會移植 Balatro 小丑牌並安裝新 Steamodded 1.0-第7張
投票
  再次無門檻學會移植 Balatro 小丑牌並安裝新 Steamodded 1.0-第8張

2.3 下載 smods 和其他模組

打開下載頁面:https://github.com/Steamodded/smods/archive/refs/heads/main.zip

解壓後得到文件夾【smods-main】,和其他模組放在一起準備好。

2.4 複製到 Mods 文件夾

打開文件管理器,在地址欄輸入【%AppData%/Balatro】並回車。如果裡面沒有 Mods 文件夾,就手動創建一個。把 smods-main 和其他模組複製到這個 Mods 文件夾裡面。

至此,smods 就算是安裝上了。如果需要更新 smods,或者添加、刪除模組,都要在這個 Mods 文件夾裡變動。

3. 傳輸模組和轉儲文件到手機

參考文章:Lovely / Steamodded 1.0 mods on Android · Issue #137 · blake502/balatro-mobile-maker

現在到了最重要的一步。

為了讓 Lovely 模組能在移動端運行,這一次我們不僅要把模組文件傳進手機,還要把轉儲文件也傳進去。好在所有東西都在 Mods 文件夾中。

不過,對於移動端來說,這些轉儲文件會導致第 1.4 步移植時搞的那些補丁失效,所以我們還需要一個前置模組:BalatroMobileCompat。它和 smods 一樣也是 Lovely 模組,用於以模組的方式給移動端添加補丁,對 PC 端沒有影響。

3.1 下載 BalatroMobileCompat

由於第 1.4 步移植的時候我們沒有安裝「禁用 CRT 補丁」,為了大家方便,我直接把相關代碼註釋掉了。如果你需要自定義補丁,就下載解壓後自己修改 lovely.toml 文件,把不想安裝的補丁用 # 註釋掉。

打開下載頁面(目前最新版本是 v1.0.0):https://github.com/eeve-lyn/BalatroMobileCompat/releases

解壓得到【BalatroMobileCompat-1.0.0】。因為這是個 Lovely 模組,所以我們要先讓它在 PC 端生成轉儲文件。和 smods 一樣,把它複製到 Mods 文件夾中。

3.2 運行遊戲

啟動 Balatro.exe。如果遊戲正常運行不報錯,主菜單右上角顯示了 STEAMODDED,說明 smods 生效了,這也意味著我們得到了可用的轉儲文件。

投票
  再次無門檻學會移植 Balatro 小丑牌並安裝新 Steamodded 1.0-第9張

接下來把包含模組轉儲文件的 Mods 文件夾傳輸進手機,放到正確的位置,我們就能在手機上運行和電腦上一毛一樣的模組。

3.3 傳輸文件

理論上來說,你的手機現在還是連著電腦的。還記得第 1.4 步的時候留著沒刪的 ADB 工具嗎,它在 Balatro 本地文件中,文件夾名叫【platform-tools】。進入這個文件夾,如果你能看到【adb.exe】說明位置正確。在文件管理器地址欄輸入 cmd 並回車,打開命令行。

投票
  再次無門檻學會移植 Balatro 小丑牌並安裝新 Steamodded 1.0-第10張

依次輸入以下命令並回車。要一字不差地輸入,最好複製粘貼(不包括前面的原點)

進入目標文件夾

  • cd %AppData%/Balatro

把 Mods 文件夾傳輸到手機

  • adb push Mods /data/local/tmp/balatro

把遊戲設置文件傳輸到手機(可選)

  • adb push config /data/local/tmp/balatro

  • adb push settings.jkr /data/local/tmp/balatro

進入手機命令行

  • adb shell

進入遊戲文件目錄

  • run-as com.unofficial.balatro

創建文件夾

  • mkdir -p files/save/game/SMODS

進入 game 文件夾

  • cd files/save/game

複製 Mods 到這裡

  • cp -r /data/local/tmp/balatro/Mods ./

複製遊戲設置文件到這裡(可選)

  • cp -r /data/local/tmp/balatro/config ./

  • cp /data/local/tmp/balatro/settings.jkr ./

複製轉儲文件到這裡

  • cp -r Mods/lovely/dump/* ./

複製 nativefs.lua 到這裡

  • cp Mods/smods-main/libs/nativefs/nativefs.lua ./

複製 json.lua 到這裡

  • cp Mods/smods-main/libs/json/json.lua ./

複製 version.lua 到 SMODS

  • cp Mods/smods-main/version.lua SMODS/

到這裡,我們已經完成 99% 的步驟了。最後,我們需要在 game 文件夾中創建一個【lovely.lua】文件,讓程序知道我們的 Lovely 是什麼版本,以及 Mods 文件夾具體在哪裡。

3.4 創建 lovely.lua 文件

大概率你也不知道 Mods 文件夾在哪裡,那就運行下面這個命令:

  • pwd

cmd 會輸出一個字符串,比如我這邊是【/data/user/0/com.unofficial巴拉巴拉】。注意看 com 之前的內容,也許你的和我的不一樣,反正把這串字符記住。

【/data/user/0/】

還記得 Lovely 注入器的版本嗎,我這邊是 0.7.1,把這串數字也記住。

【0.7.1】

有了字符和數字,就有了最後一個命令:

  • echo 'return { mod_dir = "/data/user/0/com.unofficial.balatro/files/save/game/Mods", version = "0.7.1" }' > "lovely.lua"

如果剛才你的兩個內容都和我一樣,直接粘貼到 cmd 運行。如果不一樣,就替換成你的內容再運行。

最後我們運行命令,看看 game 文件夾中都有什麼東西:

  • ls -l

投票
  再次無門檻學會移植 Balatro 小丑牌並安裝新 Steamodded 1.0-第11張

當你做完這一切,在手機上啟動 Balatro,玩得盡興!

4. 設備之間同步存檔

當你愉快地在手機上打了幾局,想要把存檔同步給電腦。或者某一端的存檔直接覆蓋掉另一端的存檔,就參照下面的教程。

強烈建議操作前備份電腦存檔!存檔位置:C:\Users\你的用戶名\AppData\Roaming\Balatro 中名稱為 1、2、3 的文件夾

4.1 雙端存檔同步

手機和電腦連接,雙擊【balatro-mobile...exe】

  • 【Open the Android save manager (y/[n])? 是否打開安卓存檔管理器?】輸入 y 並回車

  • 【Sync saves between devices based on overall progression ([y]/n)? 根據整體進度在設備之間同步存檔?】直接回車,程序會對比手機和電腦的進度,讓兩端的存檔保持一致。

4.2 電腦存檔覆蓋手機存檔

手機和電腦連接,雙擊【balatro-mobile...exe】

  • 【Open the Android save manager (y/[n])? 是否打開安卓存檔管理器?】輸入 y 並回車

  • 【Sync saves between devices based on overall progression ([y]/n)? 根據整體進度在設備之間同步存檔?】輸入 n 並回車

  • 【Copy local saves to device (y/[n])? 是否複製本地存檔到設備?】輸入 y 並回車。這一步會把電腦存檔複製到手機。也就是以電腦存檔為原本,手機向電腦看齊。

4.3 手機存檔覆蓋電腦存檔

手機和電腦連接,雙擊【balatro-mobile...exe】

  • 【Open the Android save manager (y/[n])? 是否打開安卓存檔管理器?】輸入 y 並回車

  • 【Sync saves between devices based on overall progression ([y]/n)? 根據整體進度在設備之間同步存檔?】輸入 n 並回車

  • 【Copy local saves to device (y/[n])? 是否複製本地存檔到設備?】輸入 n 並回車。

  • 【Copy device saves locally (y/[n])? 是否複製設備存檔到本地?】輸入 y 並回車。這一步會把手機存檔複製到電腦。也就是以手機存檔為原本,電腦向手機看齊。


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com