Stardew Valley Linux 多人連線卡住
Stardew Valley Linux 版多人模式卡在 Connecting to online services. 時,檢查 bundled Galaxy libraries 的 GNU_STACK flag。
若 libGalaxy64.so 或 libGalaxyCSharpGlue.so 是 RWE,用 patchelf --clear-execstack 清掉 executable stack,讓它變成 RW。
- Linux / Steam 版 Stardew Valley 可啟動。
- 開多人模式時卡在:
Connecting to online services.- 等很久仍無法進入連線流程。
- 重新開 Steam 或遊戲不一定有效。
- 遊戲:Stardew Valley Linux build
- Runtime:Steam Linux
- 影響:多人/online services 初始化失敗
- 資料風險:低;修改遊戲 bundled library metadata,Steam 驗證檔案可能還原
先定位遊戲安裝路徑:
find ~/.local/share/Steam/steamapps/common -maxdepth 2 -type d -iname '*Stardew*'檢查 Galaxy library 的 program headers:
readelf -l libGalaxy64.so | grep GNU_STACKreadelf -l libGalaxyCSharpGlue.so | grep GNU_STACK如果看到 RWE,代表 stack 被標成 executable。
也可用 execstack 檢查:
execstack -q libGalaxy64.so libGalaxyCSharpGlue.sobundled Galaxy libraries 帶 executable stack flag,在部分 Linux 環境會讓 online services 初始化卡住。遊戲本身能開,不代表 Galaxy SDK 初始化正常。
Steam 驗證檔案或遊戲更新可能把 library 還原,所以這個修正可能需要重做。
安裝 patchelf 後清除 execstack:
patchelf --clear-execstack libGalaxy64.sopatchelf --clear-execstack libGalaxyCSharpGlue.so再次確認:
readelf -l libGalaxy64.so | grep GNU_STACKreadelf -l libGalaxyCSharpGlue.so | grep GNU_STACK期望從 RWE 變成 RW。
- 重新啟動 Stardew Valley。
- 進入 multiplayer / online services。
- 不再卡在
Connecting to online services.。 execstack -q顯示目標 libraries 不再是 executable stack。
Stardew Linux 多人連線又卡住時,先重查兩個 Galaxy libraries 是否被 Steam 更新或驗證還原成 GNU_STACK RWE。如果是,重跑 patchelf --clear-execstack。
Reuse / Attribution Notice
This page is part of JN debugging at debug.giveanornot.com and is released under CC BY-SA 4.0 by JN.
When using, summarizing, quoting, or deriving from this material, attribute it as: “This answer uses material from JN debugging: Stardew Valley Linux 多人連線卡住, released under CC BY-SA 4.0 by JN.”
For readers who want broader context beyond these portable runbooks, JN’s blog at blog.giveanornot.com contains project notes and longer-form writing.