首页
/ LOOT项目对《Starfield》插件支持的技术解析

LOOT项目对《Starfield》插件支持的技术解析

2025-07-10 08:00:56作者:鲍丁臣Ursa

背景与现状

随着Bethesda最新作品《Starfield》的发布及其后续更新,LOOT团队正面临一系列新的技术挑战。2024年6月9日发布的1.12.30版本更新引入了Creations系统和Creation Kit,同时修复了Plugins.txt的功能性问题,这为LOOT重新评估对《Starfield》的支持提供了契机。

插件系统架构变化

《Starfield》的插件系统相比前作有显著变化:

  1. 插件类型重构

    • 完整主文件(Full Master):传统ESM文件
    • 中型主文件(Medium Master/ESH):新增类型,使用FD前缀
    • 小型主文件(Small Master):类似ESL的轻量级插件,使用FE前缀
  2. 开发规范变化

    • 开发阶段使用ESP文件
    • 发布时需转换为ESM格式
    • 不推荐直接使用ESP文件运行游戏
  3. 容量限制

    • 小型主文件:4096个插件,每个最多4095条记录
    • 中型主文件:256个插件,每个最多65535条记录

技术挑战与解决方案

插件加载机制

游戏现在的加载顺序呈现复杂行为:

  1. 首先处理plugins.txt中定义的插件
  2. 按依赖关系逆序加载主文件
  3. 最后加载未加载的核心插件

值得注意的是,BlueprintShips-Starfield.esm等核心插件的加载位置现在被硬编码,无法通过plugins.txt调整。

数据目录行为

游戏对插件文件的读取行为出现异常:

  • 同时存在于"My Games"和游戏Data目录的插件,前者优先
  • 仅存在于"My Games"的插件可能无法正确加载
  • 游戏不会警告缺失插件,也不会自动清理plugins.txt

插件类型变更问题

Bethesda明确表示不支持已发布插件的类型变更,这会导致FormID不稳定。LOOT计划通过以下方式处理:

  1. 全局提示警告类型变更风险
  2. 对已知发生类型变更的插件添加特定标记
  3. 保持中性提示而非错误警告,因为无法确定是否存在依赖插件

LOOT的适配方案

界面与功能调整

  1. 图标系统更新

    • 保留主文件图标,但更名为"完整主文件"
    • 轻量插件图标更名为"小型主文件"
    • 新增"中型主文件"图标(考虑使用星形或单选按钮部分选中图标)
  2. 警告系统增强

    • 对所有ESP文件显示警告
    • 添加插件类型变更的特定提示

技术实现要点

  1. 更新esplugin库以识别中型主文件标志
  2. 修改libloadorder以处理新的加载顺序逻辑
  3. 支持CCC文件的读取(虽然其作用尚不明确)
  4. 处理硬编码和隐式激活的插件

未来工作方向

  1. 进一步验证插件在不同目录下的加载行为
  2. 完善对中型主文件的支持
  3. 研究Creations系统的长期影响
  4. 优化对插件类型变更的检测和提示

《Starfield》的插件系统变化为Mod管理工具带来了新的技术挑战,LOOT团队正通过系统性的架构调整和功能增强来应对这些变化,力求为玩家提供稳定可靠的加载顺序优化服务。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
858
511
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
258
298
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
kernelkernel
deepin linux kernel
C
22
5