Token导航 LogoToken导航TokenDH.com
Ddo Dat API logo
运维云端未说明官方级别未说明来源级核验

Ddo Dat API

MCP Server

一个AI驱动的工具,用于探索《龙与地下城在线》游戏数据,通过HTTP API提供物品、法术、NPC等游戏数据的查询和可视化。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
C#Claude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

morrikan

提供方

morrikan

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

DDO 阅读 API

一款基于人工智能的探索工具 龙与地下城 游戏数据。询问有关物品、法术、NPC、任务、增强树、战利品表等的问题,并直接从游戏的客户端文件中获取答案。

在引擎盖下,a。NET web API读取DDO的 .dat 文件,并通过HTTP公开它们。MCP(模型上下文协议)桥将API连接到Claude Code(或任何兼容MCP的AI代理),因此您可以通过对话方式查询游戏数据,而不是挖掘原始文件。API还包括内置的 项目查看器 在浏览器中呈现DDO样式项工具提示面板。

它做什么

API加载DDO的客户端数据文件(gamelogic、general、sound、local_English、surfaces、animation、cells、maps、mesh和highres纹理),并通过HTTP公开其内容。它为以下对象提供端点:

  • Db属性 --解析的属性集合来自 client_gamelogic.dat,具有基于名称的查找、weenie类型浏览、增强树和宝藏表
  • EntityDesc --EntityDesc对象来自 client_gamelogic.dat
  • 图像 --从dat文件中提取并提供PNG图像,包括复合项目图标
  • 声音 --声音元数据来自 client_general.dat
  • 食谱 --按配料项目查找制作食谱
  • 原始数据访问 --按ID从任何dat文件中读取原始二进制对象
  • ID范围 --列出已知的对象类型ID范围
  • 缓存管理 --重建gamelogic索引、检查缓存状态或下载完整索引
  • 项目查看器 --浏览器通过DDO工具提示模拟面板呈现项目页面

先决条件

  • DDO已安装 -《龙与地下城在线》的本地安装(API直接从游戏的 .dat 文件)
  • .NET 10 SDK
  • Git Bash或兼容的shellrun.sh 使用bash和Windows reg 查找DDO安装路径的命令
  • Node.js --用于OpenAPI到MCP桥
  • 克劳德代码 --AI代理CLI
  npm install -g @anthropic-ai/claude-code

适用于Docker模式(./run.sh --docker),你还需要 Docker 桌面版.

快速开始

克隆仓库并运行安装脚本:

git clone https://github.com/morrikan/ddo-dat-api.git
cd ddo-dat-api
./run.sh

什么 run.sh 是否

  1. 查询Windows注册表以查找DDO安装目录
  2. 通过构建和运行API dotnet run (或使用Docker --docker)
  3. 等待API可用
  4. 保存OpenAPI模式并为Claude设置MCP服务器
  5. 打开Swagger UI并启动Claude Code

如果注册表查找失败(例如非标准安装位置),请设置 INSTALL_PATH 手动输入 run.sh 或在 DatSource.cs.

API运行后,可在 http://localhost:5138 Swagger用户界面位于 http://localhost:5138/swagger.

性能说明

索引生成通常在 3-4分钟 在本地运行时。 在Docker模式下,可能需要30分钟以上 由于卷装载开销。

索引以以下格式保存到磁盘 indexcache.json 并自动加载到后续的初创公司,因此此成本只支付一次(或在游戏补丁之后)。您可以随时通过以下方式触发重建 POST /Cache/Rebuild.

API终点

端点方法描述
/DbProperties/{id}GET按ID获取已解析的属性集合
/DbProperties/IdsForName?name=GET按名称查找对象ID
/DbProperties/WeenieTypeCountsGET获取每种weenie类型的计数
/DbProperties/ByWeenieType/{weenieType}GET列出给定weenie类型的对象
/DbProperties/EnhancementTreesGET列出所有增强树
/DbProperties/TreasureTablesGET列出所有宝表ID
/DbProperties/SearchPOST按关键字/正则表达式模式搜索对象
/Strings/{table}/{key}GET按表和键ID查找本地化字符串
/Set/{setId}GET通过SetBonus_ID获取一组奖励条目
/EntityDesc/{id}GET按ID获取EntityDesc对象
/Image/{id}GET按ID获取PNG图像
/Image/Icon/{id}GET获取复合项目图标(底层+背景+魔术边框+项目图标)
/Recipe/ForItem/{id}获取获取所有使用物品作为配料的制作食谱
/Sound/{id}GET按ID获取声音元数据
/RawDat/{dat}/{id}GET从特定数据文件读取原始字节
/RawDat/IdRangesGET列出已知的对象类型ID范围
/Cache/RebuildPOST触发完全缓存/索引重建
/Cache/MetadataGET获取索引时间戳、版本和大小
/Cache/DownloadGET下载完整索引
/Item/id/{id}GET在浏览器中渲染项目页面(见下文)

ID可以十六进制形式提供(前缀为 0x)或者作为纯整数。

项目查看器

GET /Item/id/{id} 为任何可配置的项目呈现浏览器页面。该页面有两列:

  • --一个结构化的字段/值表,列出名称、类型、统计数据、绑定、效果、增强槽、设置奖金、食谱等
  • 正确的 --DDO风格的工具提示模拟面板,反映了游戏中的检查窗口,包括物品图标、伤害/护甲统计、效果列表、增强槽和耐久性页脚

支持的项目类型:

类型注释
武器伤害线、暴击力、攻击/伤害能力模组、手性、增强加值
护盾护盾加成、最大dex加成、DR、护甲检查惩罚、法术失败、护盾重击伤害
护甲护甲加成、最大指数加成、护甲检查惩罚、法术失败
珠宝/服装槽标识(戒指、脖子、小饰品、斗篷等)
增强增强类型、装备效果、设置奖励(血统)

所有类型显示:最低等级、绑定、点击法术(带图标、施法者等级、充电、充值)、效果、增强槽位、设置奖励、材料、耐用性、重量和食谱。

Item Viewer Sample

例子: http://localhost:5138/Item/id/0x7902F2C7

项目结构

ddo-dat-api/
├── run.sh                # Setup script (registry lookup, build, MCP setup, launch Claude)
├── render-panel.mjs      # Puppeteer script for screenshot testing the item viewer panel
├── CLAUDE.md             # AI agent instructions and property display rules
├── .claude/skills/       # AI workflow skills (name lookup, property rendering, etc.)
└── src/DdoDatApi/
    ├── dockerfile        # Multi-stage .NET 10 build (for --docker mode)
    ├── Program.cs        # App entry point, Swagger config
    ├── DatSource.cs      # Loads all dat files via VoK.Sdk
    ├── Controllers/      # API endpoints + EffectResolver (effect instantiation logic)
    ├── Caching/          # Index builder (IndexLoader) and static cache holder (DatCache)
    ├── Converters/       # JSON property converters
    ├── Models/           # DTOs and view models
    └── Views/Item/       # Razor view for the item viewer page

render-panel.mjs

一个Puppeter脚本,导航到项目页面并将模拟面板的屏幕截图保存到 temp/render-{id}.png。可用于在开发过程中直观地验证工具提示面板。

node render-panel.mjs 
# e.g. node render-panel.mjs 0x7902F2C7

许可证

本项目不隶属于Standing Stone Games或Daybreak Game Company,也不受其认可。

目录标签

目录标签

C#Claude云端部署游戏数据解析本地部署API服务AI查询物品查看器DDO

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP