Troubleshooting¶
Common setup and parsing issues, with quick fixes.
Installation issues¶
python-snappy build or import errors¶
gem depends on Snappy support for compressed packet payloads. If install/import fails:
- ensure you are on supported Python (3.10+),
- run
uv syncfrom a clean environment, - install system Snappy development libraries if your platform requires them.
Then retry:
Docs build issues¶
If docs fail locally:
If strict mode reports link issues, fix broken links in docs/ rather than disabling strict checks.
Maintainers: docs dependencies are intentionally pinned to avoid accidental major-version breakage.
Replay parsing issues¶
Truncated or partially downloaded replay files¶
Some replays may end abruptly (live/unfinished/corrupted downloads). In those cases, parsing may return partial data or terminate early depending on where truncation occurs.
Recommended checks: - redownload replay from source, - compare file size with expected source listing, - test with a known-good replay to isolate environment vs file quality.
“Missing” fields on entities¶
Valve schema/field names can shift across patches. A field that exists in one replay may be absent or renamed in another.
Debug workflow: 1. confirm entity class name, 2. inspect available fields on that entity at runtime, 3. update field access logic to tolerate missing/renamed fields.
Performance issues¶
Parsing feels slow on large replay sets¶
Use these checks first:
- avoid heavy work directly inside hot callbacks,
- batch expensive post-processing after parse,
- prefer targeted extraction over collecting every possible field.
If needed, profile callback hotspots before optimizing parser internals.
Still stuck?¶
Please open an issue with:
- Python version + OS,
- exact command run,
- traceback/log output,
- replay source (match id/salt if shareable),
- whether issue reproduces on multiple replays.