Why This Guide Exists
D2R modding looks deceptively simple — just edit a few JSON files. But beneath the surface lurk countless traps:
- Changed an item name → game still shows the original 😤
- Added colorful loot abbreviations → unique names turn yellow 🤔
- Restart the game → stuck on “Loading…” for 4+ minutes 💀
- ~20 seconds after launch → instant crash, no log 🫠
- Special characters all become blank squares □
This guide solidifies personally verified patterns into iron rules — 9 chapters + tools.
The Three Most Important Rules
Before touching a single file, memorize these. They prevent 80% of wasted troubleshooting:
- Edit the right file: The CN client reads different content from different files — names may come from
bnet.json, descriptions fromitem-modifiers.json, the rest fromitem-names.json. Wrong file = invisible changes.- Never guess codes/IDs: Item codes are counterintuitive (e.g., flawless gems are mostly
gl*, notgz*). Missingidfield = crash ~20s after launch with zero logs. Always grep from authoritative sources.- Every string needs
id, simplified Chinese useszhCN: The myth that “CN client reads sgCN/bnCN, not zhCN” has been empirically debunked. Original CN game data contains zero sgCN/bnCN fields.
Chapter Overview
01 · Mod Anatomy
Understand any D2R mod’s complete content. Mods have a four-layer structure:
| Layer | Content | Key Files |
|---|---|---|
| Text | All “words” | item-names.json, item-modifiers.json, bnet.json |
| UI | Interface/HUD/interaction | _profilehd.json, hudpanelhd.json |
| Art | Fonts/textures/effects | fonts/*.ttf, sprites/, overlays/ |
| Logic | Values and rules | excel/*.txt |
Critical insight: The mod’s <name>.mpq is a folder, not an archive. Edits take effect without repacking — just fully restart the client.
02 · Golden Rules
Hard rules that cause failure when violated:
- CN client reads differently than intuitive: quality labels and some gem names get display-overridden by
bnet.json. Whenitem-nameaffixeschanges don’t show, checkbnet.json. - zhCN is the correct locale field: The sgCN/bnCN myth originated from SU mod’s defensive fields. Three production mods running on CN server have zero sgCN/bnCN entries.
- Three crash modes: Missing
idfield (~20s crash),texture_desc_cache.json(4+ min loading freeze), referencing CN-harmonized art assets (DX12 DeviceLost).
03 · Standard Data Procedure
Never write item codes from memory. Comprehensive reference including:
- Complete item code/ID lookup tables
- Standard grep-based extraction from
.txtfiles - Counterintuitive quirks documented
04 · Colors & Safe Symbols
Complete D2R text color control codes (ÿc0 ~ ÿcM, including DLC additions), plus:
- Color semantic conventions (orange for runes, green for set items, gold for uniques…)
- Font-safe symbol whitelist — not all Unicode renders in D2R’s bundled AR font
- Reusable loot coloring patterns
- Multi-line color bleed fix: each line starts with its own color code + ends with
ÿc0terminator
05 · Reign of the Warlock DLC Reference
2026 DLC systemic changes: new Warlock class, runewords, Codex system, new item categories, version compatibility notes.
06 · China Server Complete Guide (Most Critical Chapter)
Every pitfall of CN server modding:
- Three crash modes with precise attribution
- Debunked myths: full sgCN/bnCN reversal with evidence chain
- CN censorship mechanism: runtime string-key interception, not data-layer
- File safety table: what you can modify, what will crash
- International → CN conversion SOP
07 · UI Manual
Panels, HUD, buttons, message routing:
- Panel registration truth:
_profilehd.jsonis the master panel registry - Message routing mechanism
- Widget vs Panel distinction
- Overlay effects and multi-mod compatibility
08 · New Mod Skeleton
Minimum viable mod that loads, doesn’t crash, and displays Chinese correctly. Complete directory structure, modinfo.json template, launch parameters, auto-registration, and validation checklist. Build in 15 minutes.
09 · Game Mechanics Reference
FCR/FHR breakpoint tables, socket rules, superior item mechanics, CB/DS/Break probabilities — the data foundation for loot coloring and balancing decisions.
Write Discipline (Anti-Echo-Chamber)
This guide has suffered two “unverified conclusion treated as iron rule” incidents and now enforces strict sourcing:
- Every iron rule must cite original evidence: screenshot or vanilla extract. No evidence = mark “unverified”.
- Community resources are only reliable for numeric codes; letter codes and new-version features require in-game verification.
- Reference mods ≠ vanilla: must verify against CASC original extracts before citing as “official.”
- Evidence levels: ✅ In-game verified / 🔬 Production confirmed / 📐 Structural fact / ⚠️ Unverified (banned).
Scope
- D2R CN (NetEase/bnCN) + International client, with emphasis on CN specifics
- Knowledge from real-world verification (through 2026-06), D2R version includes 3.x Reign of the Warlock
- Generic knowledge only — no machine paths or private info, ready to sync and share
Get the Full Knowledge Base
9 chapters + tool scripts, forever free and open source:
Whether you donate or not, filing Issues / PRs to help complete this knowledge base — leaving your own pitfalls documented for the next person — is the best way to give back.