5 分钟看懂 Dalamud:FFXIV 插件框架 3 步装好
【免费下载链接】DalamudFFXIV plugin framework and API项目地址: https://gitcode.com/GitHub_Trending/da/Dalamud
FFXIV 的原生界面里,角色面板、队伍框、小地图的位置和大小都是锁死的,你想把"队友血线、自身冷却、交易行行情"放在一块屏幕上,只能自己拉窗口挤位置。FFXIV 插件框架 Dalamud 解决的就是这类问题:它把游戏内部数据暴露给 C# 插件,让你在游戏里画自己的浮层、注册自己的命令。读完这篇,你会知道 Dalamud 能做什么、它怎么跑起来、以及怎么装好第一个插件。
如果你只想记住三件事 🧩
Dalamud 的定位一句话:跑在 FFXIV 进程里的插件开发框架,提供游戏数据读取和原生互操作。
- 游戏数据读取:
IPlayerState、IClientState等接口直接读玩家状态、队伍、职业资源,不用手动切界面 - 游戏内自定义界面:基于 ImGui,
WindowSystem窗口体系支持拖拽、置顶、保存窗口位置 - 聊天框斜杠命令:
IConsole让插件注册命令,在聊天框里直接执行复合操作
数据、界面、命令这三块拼起来,就是 FFXIV 插件生态里大部分工具的底座。下面看三类玩家各取所需。
三类玩家,各取所需
开荒团团长。团本里要同时盯队友血线、增益和职业资源,原生界面只能逐个点开角色面板。用IClientState、IPlayerState读数据,把全队信息收进一块浮层面板,一眼扫完,视线不用离开战斗画面。
日常玩家。宏、查价、整理仓库这类操作要翻多级菜单。通过IConsole注册一条斜杠命令后,在聊天框敲一行字就执行完多步操作。
插件组合用户。一个插件负责采集数据,另一个负责展示。前者通过 IPC call gate 推送事件、暴露远程调用,后者订阅并在浮层上呈现,两个插件各自独立更新、互不拖累。
它是怎么跑起来的
知道了它能在游戏里做什么,下面看一条从"点启动"到"窗口出现在屏幕上"的链路,一共三步。
- C++ 组件
Dalamud.Boot先把 .NET 运行时加载进游戏进程(或改写进程入口点完成同样目的),让 C# 代码得以在游戏里运行。 - C# 核心层的
PluginManager扫描插件目录、校验清单,把每个插件的 C# 程序集加载进内存,并注入服务接口;插件从接口拿游戏状态数据,在自己的渲染回调里画窗口。 - 单个插件崩溃时由
PluginErrorHandler兜底,不会直接拖垮游戏进程。
具体分工在 README.md 的 Components & Pipeline 表格里列了 5 个组件;想读注入层源码可以从 Dalamud.Boot/ 开始。
从 0 到第一个插件,4 步 📌
- 到 XIVLauncher 官方页下载安装,启用 Dalamud 选项——它统一管理多项必需依赖,README 明确不建议手动运行。验证点:启动器里能看到 Dalamud 的加载状态。
- 进入游戏,看到 Dalamud 图标。验证点:图标出现说明注入成功;没有则先检查启动器日志。
- 打开插件管理窗口,搜索内置仓库,一键安装任意插件。验证点:装完能在游戏里打开它的窗口。
- 想开发就克隆仓库,再按官方构建文档搭建环境:
git clone https://gitcode.com/GitHub_Trending/da/Dalamud验证点:Dalamud.CorePlugin/ 的PluginImpl.cs能跑通——它演示了建窗口、注册/coreplug命令、卸载时注销事件的全流程。
装完之后的几件事,建议先想清楚。
用之前先想清楚
- 这是第三方框架,README 明确声明与 SQUARE ENIX 无任何关联,使用是否触犯服务条款要自己判断。
- 插件同样是第三方代码,质量参差不齐;框架有插件清单校验和封禁清单,但优先选知名插件更稳妥。
- 游戏大版本更新后,钩子和签名扫描依赖的内存布局可能变化,插件可能加载失败,需要等框架适配,这不是你的配置问题。
- 崩溃时
DalamudCrashHandler会记录转储文件,排查问题或向社区求助时,这份转储是关键证据。
进阶入口与社区
项目以 AGPL-3.0 协议开源,官方 Discord 社区负责答疑。想深入代码,三个入口够用:
- Dalamud/Plugin/Services/:40 多个接口文件,一个文件一个服务,想读什么游戏数据先来这里找接口
- Dalamud/Plugin/Ipc/:插件间 call gate 通信的实现
- Dalamud.Boot/:C++ 注入层,看框架是怎么进游戏进程的
下一步很具体:打开 XIVLauncher 装上第一个浮层插件,感受数据直接铺在战斗画面上的效果;或者克隆仓库,把 CorePlugin 通读一遍。
本文仅作项目介绍,第三方插件的使用可能受游戏服务条款约束,请自行判断。
【免费下载链接】DalamudFFXIV plugin framework and API项目地址: https://gitcode.com/GitHub_Trending/da/Dalamud
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考