Before you install

The documented target is the Switch release of Diablo II: Resurrected at version 1.0.34.0, including Reign of the Warlock. You need your own ExeFS program files for packaging and RomFS resources for gameplay. The internal tool identifier 3.3.94012 refers to this same version. PC game files are not a substitute.

Check ownership and version first

Use your own Switch console and purchased game, update and expansion. The upstream file document explicitly excludes other game versions and says the project has not verified operation without the expansion.

  • Console version: 1.0.34.0.
  • Internal tooling identifier: 3.3.94012.
  • Dumped update number: v2228224, another representation of the same update.

The build scripts check the expected version. If verification fails, correct the inputs rather than bypassing the checks. This site does not provide game packages, console keys, prepared game-derived inputs or texture-pack downloads.

Know which files serve which purpose

Artifact Purpose Source documentation
ExeFS main, sdk, subsdk0 Program inputs used when preparing the app; about 26 MB Required for the matching Switch version
Full update RomFS/data/ Extracted archive set, including build_manifest.psv; about 8.4 GB Local workspace inputs
18 selected .data files Phone gameplay resources; about 5.6 GB Imported after installation
Legacy Device Pack Additional converted textures for supported older chips Must match the built app's metadata
Clean shell Open-source host without a playable game Packaging input, not a completed IPA
Prepared input Version-sensitive, game-derived build material Community cloud workflow, not the same as a shell

Put extracted files in the workspace

The default upstream workspace is:

~/dm-work/data/switch/3.3.94012/Update/
├── ExeFS/
│   ├── main
│   ├── sdk
│   └── subsdk0
└── RomFS/
    └── data/
        ├── build_manifest.psv
        └── *.data

Run the documented check from the repository root:

./setup.sh check

It reports missing files and verifies the program version without changing those inputs. The setup.sh route is documented for the local workspace; Windows no-Xcode packaging has its own Python tool and prerequisites in the Windows guide.

If your own dump is still an XCI or NSP

Upstream documents an extraction route using dm/tools/extract_game.sh or the combined setup.sh entrypoint. It needs hactool, built according to its own instructions and placed on PATH or supplied through HACTOOL=<path>.

./setup.sh "/path/to/your-game-package.xci" "/path/to/your/prod.keys"

Use the actual path to your own files. The upstream document says to allow about 20 GB of free disk space for extraction. Console keys are sensitive: keep them local and never upload them to a public repository or paste them into a website.

We have reviewed the extraction instructions, not run this operation on a physical console or a game dump.

What goes onto the phone

The upstream resource importer looks for these 18 archives:

00-00000001.data … 00-00000006.data
01-00000001.data  01-00000002.data
02-00000001.data  02-00000002.data
03-00000001.data  03-00000002.data
04-00000001.data  04-00000002.data
05-00000001.data  05-00000002.data
17-00000001.data  17-00000002.data

For the upstream app, place them together inside its Documents area using Files or Finder. The containing folder can have any name and the importer can search nested folders. The community jiayx package documents a different prepared resource layout named D2R Mobile Resources; follow the instructions for your actual build, not a mixture of the two.

The normal resources are still required when using a Legacy Device Pack. That pack is additional, not a replacement.

Tools depend on your chosen route

Check the device table, then choose iOS with Xcode, Windows packaging, native Mac or the advanced cloud workflow. A blanket “install Python and download an IPA” checklist is not sufficient for all four.

Back up any existing game progress before changing packages. Refreshing a signature is different from deleting an app; the latter can remove its local resources and saves.

Frequently Asked Questions

Can I use my Battle.net PC installation instead?

No. This project targets the Switch program and its resource formats. A PC installation does not provide the matching ARM64 executables or the required Switch texture, interface and audio formats.

Why do different pages mention 8.4 GB and 5.6 GB?

The full extracted update data directory is about 8.4 GB. The specific 18 resource archives used on the phone total about 5.6 GB. A prepared-input archive and an IPA are different artifacts again.

Does the MIT license cover finished game-containing packages?

No. The license for the project's own code does not grant permission to distribute Blizzard's game program, resource archives, converted texture packs or other game-derived content.