Menu ▾ ▴

#15 [请教确认] v0.24.7 在 exFAT 磁盘上,关闭链接部署相关功能后仍会阻断游戏启动,是否属于预期行为?

open
nobody
None
2 days ago
2026-08-26
Anonymous
No

Originally created by: Raincie
Originally owned by: Inky-Feather

背景

先感谢维护者的工作。RimCrow 的链接部署设计我很认同,本次反馈主要是想确认一个
v0.24.7 新出现的行为是否符合设计预期,也方便我这边安排后续使用方式。

环境

  • RimCrow v0.24.7,Windows 11
  • 游戏 RimWorld 安装在 exFAT 分区:E:\SteamLibrary\steamapps\common\RimWorld
    (游戏 Mods 目录在 exFAT 上,该文件系统不支持 NTFS Junction)
  • 当前 Profile 设置:prefer_steam_launch=1、use_workshop_mods=0、use_self_mods=0

现象

在界面上点击"启动游戏"时,每次都会在启动前中断,日志(data/logs/app.log)提示:

ERROR 模组链接部署失败:当前环境的模组目录所在磁盘不支持文件链接,
无法通过文件链接加载模组:E:\...\RimWorld\Mods
请将该目录改到 NTFS 磁盘后重试。
WARNING 启动前准备失败。请检查当前环境路径、文件权限和模组链接状态。

需要说明的是,v0.22.6 ~ v0.23.9 在此环境下均可正常启动,升级到 v0.24.7 后出现该情况。

我的理解与困惑

我阅读了相关代码,初步理解如下,如有偏差还请指正:

  • mgr_files.py 的 sync_managed_links() 会先调用 _get_link_deployment_failure(local_mods_path),
    在 exFAT 上无条件返回失败(_JUNCTION_UNSUPPORTED_FILE_SYSTEMS = {FAT, FAT32, EXFAT}),
    即便本次 deploy_paths 为空、实际上无需部署任何链接。
  • api.py 的启动流程在该检查失败后直接终止启动(raise LaunchPreparationError),
    没有"警告后继续"或"跳过"的降级路径。

让我略感困惑的一点是:当前 Profile 中与链接部署相关的开关(创意工坊、自营)均已关闭,
本次启动理论上并不依赖链接部署,但游戏仍然因此无法启动。

如果这是设计如此(例如为了确保环境一致性),我会照此调整使用方式;
如果不是,能否考虑以下方向之一:

  1. 仅当确实需要部署链接(deploy_paths 非空)时才做文件系统支持检查;
    无需部署时直接跳过,避免影响无关的启动流程;
  2. 提供一个"启动时同步链接"的总开关,便于用户按需关闭;
  3. 或将此失败降级为非阻塞:提示后继续启动(与 v0.23.x 行为一致);
  4. 若确实限制 NTFS,可在界面上给出更明确的引导(如"请将游戏 Mods 目录放到 NTFS 分区"),
    便于用户第一时间定位原因。

无论采用哪种方式,都很感谢你们维护这个优秀的项目,期待回复。

Discussion

  • Anonymous

    Anonymous - 2026-08-27

    Originally posted by: Inky-Feather

    不好意思,设计上应该是关闭相关功能后不会阻断才对,可能当时改出问题了,我检查一下,顺便改成自动禁用相关功能。感谢反馈和建议

     
  • Anonymous

    Anonymous - 2 days ago
     
  • Anonymous

    Anonymous - 2 days ago

    Originally posted by: Inky-Feather

    我尝试修复了该问题,在 v0.24.12 版本,如果仍然存在异常请反馈

     

Log in to post a comment.