Reported issues for rpgmaker-mz-mcp
Pod holds 14 of 14 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.
Back to rpgmaker-mz-mcp.
Most discussed
export_web (#18): effects/ folder copied unpruned even when no animation uses Effekseer
Follow-up to #18. export_web output ran cleanly: all maps and every boss battle with 0 HTTP 404s, and the marker file is correctly left out of the zip.
It copies the whole effects/ folder without pruning: 175 Effekseer files, about 3 MB, in a project where no animation uses Effekseer. Every entry in Animations.json is MV-style with an empty effectName. Output was 683 files against 474 for a pruned export. With a bigger RTP-based project this alone could push past itch's 1,000-file…
Read the thread · 2026-09-23 · closed · 2 comments
run_playtest: battles run in real time (autoBattle 60s default too short for bosses); escape codes leak into lines
Follow-up to #22, re-tested on Opus55 at 792a54b. The #22 fixes all work: transfers settle (transferredTo), a blocked walk names the blockedTile, battleLines come back separately, and progress notifications kept a client with a strict 60 s timeout alive through a 75 s run. Two things left:
- Battles run at real-time speed, so
autoBattle's 60 s default is too short for a normal boss. A 6-turn boss fight (Thornmother, level 6 party) failed with `Battle still running after…
Read the thread · 2026-09-23 · closed · 0 comments
run_playtest (#13): walk doesn't settle transfers, ambiguous blockedAt, runs exceed 60s client timeouts
Follow-up to #13. render_map and run_playtest both work on a real 11-map project: renders came back with no problems, and a 13-step script ran the quest scene (51 message lines captured), a boss fight on auto-battle and the aftermath. Small issues:
walkreturns before a triggered transfer finishes. Walking onto a doormat stops early witheventRunning: true, but a followingevalstill reports the old map (2 → expected 1).walkandstartEventshould settle: wait while…
Read the thread · 2026-09-23 · closed · 0 comments
paint_blueprint (#14): passability overview marks A4 wall tops as walkable
Follow-up to #14. paint_blueprint rebuilt a 31×25 dungeon identical to my 21-call hand-built version (0/775 cells differ), in one call using catalog names. Great.
The returned passability overview is misleading for A4 walls. It marks wall-top cells . (walkable) and only the face row #:
............###.###............ <- faces
............................... <- wall tops shown walkable
In the engine, wall tops block movement on their outer edges, so the player can't step…
Read the thread · 2026-09-23 · closed · 0 comments
Invisible-wall lint (#12): false positive on solid-landmark events over drawn B/C objects
Follow-up to #12 (tested on the Opus55 / "The Hundredth Dawn" project with the new build).
The lint works: it catches the original doorway bug when re-introduced. It also found a real bug I didn't know about (a spring event on the DLC's wadeable Water A tile, which meant the pond itself was walkable).
But it also fires on the documented solid-landmark idiom from the authoring skill: an action-button, priority-same event on an overworld landmark drawn as an upper-layer tile (World_B…
Read the thread · 2026-09-23 · closed · 0 comments
export_web: pruned HTML5 deployment + zip for itch.io
Problem
Shipping to the web (itch.io) needs a pruned deployment: itch caps HTML uploads at ~1000 files, and a project that imported a full resource pack has thousands of unused images. The editor's "exclude unused files" isn't available to an agent. I wrote an exporter that:
- Collects every string in
data/*.jsonplus string literals injs/plugins.jsandjs/plugins/*.js. - Copies runtime (
index.html,js,css,fonts,icon,data/*.json, all ofimg/system). - Copies an…
Read the thread · 2026-09-23 · closed · 0 comments
Enemy battlerName asset check ignores side-view (img/sv_enemies)
Problem
battlerNameWarnings (src/tools/battleTools.ts) and the enemy check in src/validation/assets.ts always look in img/enemies. When System.optSideView is true, RMMZ loads enemy battlers from img/sv_enemies, so a name that exists only in enemies/ passes validation but fails to load in side-view battles (and vice versa gives a false warning).
Fix
Check sv_enemies when optSideView is true (and enemies otherwise); ideally mention the other folder in the message…
Read the thread · 2026-09-23 · closed · 0 comments
paint_blueprint: paint a whole map from ASCII rows + legend (with A4 wall-face handling)
Problem
Painting a full map through paint_tiles/fill_area is dozens of calls and tile-id bookkeeping. For every map in an 11-map game I ended up writing the same client-side helper: an ASCII blueprint + legend → one paint_tiles call per layer (+ clearing upper layers), plus place_object calls. Two conventions needed extra code every time:
- A4 walls: the bottom cell of each vertical wall run must be the wall side kind (
kind + 8, e.g. 6656 → 7040) while the rest is the *wall…
Read the thread · 2026-09-23 · closed · 0 comments
Most recent
Add render_map (headless screenshot) and a scripted run_playtest tool
Problem
The authoring skill says "validators prove structure, not that it looks/plays right — play the build", but the server gives the agent no way to see anything. Every visual bug I caught while building a full game (wrong wall kinds, multicolour stamp where I expected one glyph, black-void forest, sprite choices) came from a headless renderer I had to write myself. Same for runtime bugs (the invisible-wall doorway, choice handling in endings).
Proposal — render_map (priority)…
Read the thread · 2026-09-23 · closed · 0 comments
Lint: graphic-less 'same' priority page on a walkable tile is an invisible wall
Problem
A graphic-less event page with priority same (1) placed on a passable tile is an invisible wall. This shipped in a real build: a cutscene NPC's "after" page (no image, priority same) sat on a house's only doorway, and players couldn't leave the first map. validate_event/validate_project reported clean — the write-gate only checks the opposite case (action-button + below on an impassable tile).
It's easy to produce: copying a visible NPC page and blanking the image, or a…
Read the thread · 2026-09-23 · closed · 0 comments
Auto-load tileset .txt name sidecars for non-default sheets (DLC packs ship them)
Related: #5.
Problem
The server's built-in catalogs were generated from RPG Maker's English .txt name sidecars — but it only knows the default sheets. Commercial DLC packs ship the same sidecar format next to their sheets (e.g. the 8bit Retro Graphic Materials pack: img/tilesets/Tl_Outside_A2.png + Tl_Outside_A2.txt, Name|日本語名 one line per local index). With that DLC, find_tile returned nothing for every tileset, and the only documented route was the vision-bootstrap skill…
Read the thread · 2026-09-23 · closed · 0 comments
create_skill / batch_create drop occasion, hitType, speed, repeats, tpGain… and mis-derive hitType (spells become physical)
Found while authoring a complete game (~40 skills) via batch_create.
Problem
buildSkillRecord (src/tools/skillTools.ts, shared by create_skill and batch_create) hard-codes or mis-derives several fields and silently drops the caller's values:
| field | current behaviour | consequence |
|---|---|---|
occasion |
always 1 (battle only) |
healing/cure skills (e.g. "Heal") can't be used from the menu |
hitType |
damage.type 1 or 5 → 1 (physical), else 2 |
**every… |
Read the thread · 2026-09-23 · closed · 0 comments
create_map_event rejects an explicit empty list: [] but accepts an omitted list
What happened
The create_map_event description says:
Nested
image/conditionsdeep-merge; an omittedlistbecomes a valid empty (code-0-terminated) list.
Passing list: [] explicitly is refused instead of being normalized the same way:
create_map_event(mapId: 2, name: "EV001 Opening Rite", x: 18, y: 9, pages: [
{ trigger: 3, priorityType: 0, list: [] },
{ conditions: { switch1Valid: true, switch1Id: 1 }, trigger: 0, priorityType: 1, list: [] }
])
Error:…
[Read the thread](https://github.com/Redseb/rpgmaker-mz-mcp/issues/7) · 2026-07-29 · open · 0 comments
### find_tile/get_tile_catalog return an empty result for uncataloged tilesets, which is indistinguishable from "no such tile"
## What happened
Building a map on a DLC tileset (the *8bit Retro Graphic Materials* pack, tileset id 2, sheets `Tl_Outside_A1..A5/B/C`), every lookup came back empty:
find_tile(tilesetId: 2, query: "monument") -> { count: 0, matches: [] } find_tile(tilesetId: 2, query: "grass") -> { count: 0, matches: [] } find_tile(tilesetId: 2, query: "flower") -> { count: 0, matches: [] } find_tile(tilesetId: 2, query: "rock") -> { count: 0, matches: [] }
All four of those tiles…
[Read the thread](https://github.com/Redseb/rpgmaker-mz-mcp/issues/5) · 2026-07-29 · open · 0 comments
The remaining reports are on [the project's issue tracker](https://github.com/Redseb/rpgmaker-mz-mcp/issues).