d2r_mod_update
Update a Diablo II Resurrected mod by extracting, rebuilding, and deploying changes, with optional conflict warnings and regeneration suppression.
Instructions
Full recovery pipeline: extract → build → deploy.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| warn_conflicts | No | ||
| no_regen | No | ||
| game_dir | No |
Implementation Reference
- d2r_mcp/server.py:289-294 (handler)MCP tool handler for 'd2r_mod_update' — delegates to _mod_update (imported from d2r_mcp.mod). Decoration @mcp.tool() registers it as a tool.
@mcp.tool() async def d2r_mod_update(warn_conflicts: bool = False, no_regen: bool = False, game_dir: str | None = None) -> dict: """Full recovery pipeline: extract → build → deploy.""" return _mod_update(warn_conflicts=warn_conflicts, no_regen=no_regen, game_dir=game_dir) - d2r_mcp/mod.py:161-171 (handler)Core logic of d2r_mod_update: runs extract() → build() → deploy(force=True, no_build=True) as a full recovery pipeline.
def update(warn_conflicts: bool = False, no_regen: bool = False, game_dir: str | None = None) -> dict: """Run the full extract+build+deploy recovery pipeline.""" r = extract(game_dir=game_dir) if r["status"] != "ok": return r r = build(warn_conflicts=warn_conflicts, no_regen=no_regen, game_dir=game_dir) if r["status"] != "ok": return r return deploy(force=True, no_build=True, game_dir=game_dir) - d2r_mcp/server.py:224-228 (registration)Import of _mod_update from d2r_mcp.mod module, aliased so it can be used by the tool handler.
from d2r_mcp.mod import ( build as _mod_build, deploy as _mod_deploy, undeploy as _mod_undeploy, diff as _mod_diff, extract as _mod_extract, clean as _mod_clean, update as _mod_update, audit as _mod_audit, )