Summary
On Linux, DumpSource2-DOTA completes successfully and dumps schemas (schemas/, schemas.json), convars, and commands, but module_metadata/ is never created — no .kv3 files.
On Windows, GameTracking’s Dota 2 pipeline produces a full DumpSource2/module_metadata/ tree (client.kv3, server.kv3, particles.kv3, etc.).
Environment
Game: Dota 2 (AppID 570), ClientVersion=6840 (Jun 28 2026)
OS: Ubuntu 24.04 LTS, x86_64
Binary: DumpSource2-DOTA from GameTracking tools release tools-linux-x64.tar.gz (2026-06-27, build 5eb38ed)
Client: game/dota/bin/linuxsteamrt64/libclient.so (depot 373306)
CWD: game/bin/linuxsteamrt64/ (same layout as GameTracking dump_source2.sh)
LD_LIBRARY_PATH: linuxsteamrt64 + SDL3 (implib stub for libvideo.so only)
Steps to reproduce
- Download Dota 2 Linux binaries (incl.
libclient.so) and game/bin/linuxsteamrt64/ deps.
- Apply implib stub for
libvideo.so (as in GameTracking dump_source2.sh).
- From
game/bin/linuxsteamrt64/:
LD_LIBRARY_PATH="$(pwd):$SDL3_PATH" ./DumpSource2-DOTA /path/to/DumpSource2/output
- Check output directory.
Expected behavior
Same as GameTracking-Dota2 on Windows:
DumpSource2/module_metadata/client.kv3
DumpSource2/module_metadata/server.kv3
- ~30
.kv3 files total with resource_manifests, etc.
Actual behavior
convars.txt, commands.txt, schemas/, schemas.json — OK
- module_metadata/ — missing (directory not created)
- Log shows module metadata step starts, but only one module is processed:
[info] Dumping module metadata
[info] Dumping metadata for filesystem_stdio
- No further Dumping metadata for
client / server / etc.
No warnings/errors mentioning ExtractModuleMetadata or empty module metadata.
grep 'Dumping metadata for' dumpsource2.log
# only: filesystem_stdio
find DumpSource2/module_metadata -name '*.kv3' | wc -l
# 0 (directory does not exist)
Additional context
ModuleMetadata::Dump() only creates module_metadata/ when buf is non-empty after ExtractModuleMetadata().
For filesystem_stdio, the log line appears but no .kv3 is written → buffer appears empty.
Game modules (client, server, …) are not logged at all — unclear if they are missing from Modules::allModules on Linux or skipped earlier.
Schema-related warnings during dump (unrelated to this issue):
Metadata 'MDebugSnapshotDataRenderFn' has unknown value for parser
Question
Is ExtractModuleMetadata / module_metadata KV3 export expected to work on Linux for Dota 2? If not, could this be documented? If yes, is there a known workaround (extra libs, different cwd, win64-only modules list)?
Happy to provide full dumpsource2-last.log, binary hashes, or test on a specific DumpSource2 commit.
Summary
On Linux,
DumpSource2-DOTAcompletes successfully and dumps schemas (schemas/,schemas.json), convars, and commands, butmodule_metadata/is never created — no .kv3 files.On Windows, GameTracking’s Dota 2 pipeline produces a full
DumpSource2/module_metadata/tree (client.kv3,server.kv3, particles.kv3, etc.).Environment
Game: Dota 2 (AppID 570),
ClientVersion=6840(Jun 28 2026)OS: Ubuntu 24.04 LTS, x86_64
Binary: DumpSource2-DOTA from GameTracking tools release
tools-linux-x64.tar.gz(2026-06-27, build 5eb38ed)Client:
game/dota/bin/linuxsteamrt64/libclient.so(depot 373306)CWD:
game/bin/linuxsteamrt64/(same layout as GameTracking dump_source2.sh)LD_LIBRARY_PATH:
linuxsteamrt64+ SDL3 (implib stub for libvideo.so only)Steps to reproduce
libclient.so) andgame/bin/linuxsteamrt64/deps.libvideo.so(as in GameTrackingdump_source2.sh).game/bin/linuxsteamrt64/:Expected behavior
Same as GameTracking-Dota2 on Windows:
DumpSource2/module_metadata/client.kv3DumpSource2/module_metadata/server.kv3.kv3files total withresource_manifests, etc.Actual behavior
convars.txt,commands.txt,schemas/,schemas.json— OKclient/server/ etc.No warnings/errors mentioning
ExtractModuleMetadataor empty module metadata.Additional context
ModuleMetadata::Dump()only createsmodule_metadata/when buf is non-empty afterExtractModuleMetadata().For
filesystem_stdio, the log line appears but no.kv3is written → buffer appears empty.Game modules (
client,server, …) are not logged at all — unclear if they are missing fromModules::allModuleson Linux or skipped earlier.Schema-related warnings during dump (unrelated to this issue):
Question
Is
ExtractModuleMetadata/module_metadataKV3 export expected to work on Linux for Dota 2? If not, could this be documented? If yes, is there a known workaround (extra libs, different cwd, win64-only modules list)?Happy to provide full
dumpsource2-last.log, binary hashes, or test on a specific DumpSource2 commit.