This article talks about the modern ZDoom PK3 structure that is preferable for server clusters and should be migrated towards in favor of embedded wads in PK3 files.

Just What Are Embedded Wads Anyway?


Embedded wads, or “nested” wads as they’ve come to be called recently, are wad files placed into the root folder of a pk3. This practice has historically been frowned upon, but had many benefits such as more readily-sharable map files with custom assets and easy packaging.

Unfortunately, embedded wads do cause something of a performance hit on the user and server end due to the way Zandronum stores them in working memory. Embedded wads are always loaded into working memory, regardless of whether the game is using the assets within the wad itself. This is because of legacy concerns where you’ll never know when you’ll need a given asset, so it must always be readily available.

In addition, embedded wads are associated with memory leaks, while up to debate, MM8BDM still moved to the new structure anyway to mitigate concerns.

Who Should Care?


Map pack developers, mainly! Also anyone who’s made a full expansion with a bunch of maps in it that use embedded wads. If you made a fun game mode that’s stored in only a wad file with no PK3, this doesn’t at all apply to you!

Rules of the ZDoom Structure


So… How Do I Move to the New Structure?


The process of moving is simple, though a little labor-intensive. Let’s go over this step-by-step.

Unless otherwise stated, all directories mentioned can have as many sub directories as you want and they’ll all be treated the same as their parent directory.