CS2 DemoTracer v0.8.0
v0.8.0 是一次以本地 Demo 归档和 GUI 使用体验为核心的功能版本。DemoTracer 仍然专注于快速转换 Demo 并在本地 CS2 中回放;新界面把“我转换过什么、这些回放来自哪里、现在该怎样继续”整理成了可长期维护的工作流。
本地回放库
- GUI 现在默认进入本地回放库。Windows 首次运行使用
文档\CS2 DemoTracer\Library,也可以设置主导出库并同时索引多个额外归档目录。 - 新转换按
<库>\<地图>\<可读名称>--<hash12>\保存;完整 Demo SHA-256 仍是唯一身份,不再只有难以辨认的散落哈希目录。 - 新增地图背景、搜索/筛选、队伍与选手概览,以及可展开的 SteamID64 和 K/D/A;核心信息保持在首屏,高级细节按需查看。
- 每个归档增加本机
demo-info.json和demo-source.json。它们保存可重建的显示元数据和原 Demo 指针,但不会污染可移植的 ABI 17manifest.json。
更可靠的 Demo 信息
- 比分改为依据正式
round_end和跨换边的稳定队伍身份计算,不再把回合开始记分板快照误当最终比分。 - 归档会展示地图、队伍、选手、K/D/A、完整 Demo 时长、CS2 patch、转换器版本,以及来自服务器 header/文件名证据的平台信息。
- Demo 文件时间明确显示为近似文件时间;不会伪装成 Demo 中不存在的可靠比赛日期。
- 旧归档不会再显示未经证实的“最终比分”。在原
.dem仍存在时,可用“补全资料”重新生成本机元数据而无需重写.dtr。
找回、整理和再次转换
- 转换时会记住原
.dem路径并用完整 SHA-256 校验。“补全资料”和“重新选择轮次”会优先自动使用这条指针,只有文件确实被移动或删除时才要求重新定位。 - “整理旧归档”可以校验散落的回放目录、按完整 Demo 哈希去重并复制进按地图归类的主库;原目录不会被移动或删除。
- 新侧栏明确区分回放库、转换任务和已打开的 Manifest;播放命令与语音、饰品等导出状态也使用更直接的说明。
Playback 修复
- 当 Manifest 含有 Demo 记录的音乐盒证据时,DemoTracer 现在会同步 replay bot 的音乐盒与 MVP 音乐状态,并在加载切换或卸载时恢复原状态。
- 同步带有受限重试窗口,用于处理 CS2 在玩家/库存服务稍晚就绪的情况,不会持续覆盖无关状态。
兼容性
.dtrwriter 仍为 v7,reader 仍支持 v3–v7。- Manifest ABI 仍为 17;BotController native ABI 仍为 16(bundle minor 31);DemoTracer API 仍为 6。
- 现有
.dtr无需重新转换。只有需要新版归档元数据的旧条目才需要使用“补全资料”。 - 正式发布资产仍只维护并验证 Windows x64。
下载
- GUI:推荐给大多数用户,包含新的本地回放库、单 Demo 转换和播放命令生成。
- CLI:用于 inspect、批量转换、pool、wizard 和独立 validate。
- Playback Bundle:安装到本地 Windows x64 CS2 server,用于播放
.dtr;升级时请完整替换 bundle,不要混用新旧插件。
English
CS2 DemoTracer v0.8.0
v0.8.0 is a feature release centered on the local demo library and desktop workflow. DemoTracer remains focused on fast conversion and local CS2 playback; the redesigned GUI now keeps converted replays understandable, recoverable, and easy to reuse over time.
Local replay library
- The GUI now opens in a local replay library. On first run Windows uses
Documents\CS2 DemoTracer\Library; users can choose a main export library and index multiple additional archive folders. - New conversions use
<library>\<map>\<readable-name>--<hash12>\, while the full demo SHA-256 remains the unique identity. - Embedded map artwork, search/filter controls, team and player summaries, and expandable SteamID64 and K/D/A details keep the first view focused without hiding useful evidence.
- Each archive gains local
demo-info.jsonanddemo-source.jsonsidecars for rebuildable display metadata and source provenance. The portable ABI 17manifest.jsonremains sanitized and unchanged.
More reliable demo metadata
- Scores are derived from authoritative
round_endevents and stable team identities across side swaps instead of treating a round-start scoreboard snapshot as the final result. - Archive metadata includes map, teams, players, K/D/A, full demo duration, CS2 patch, converter version, and platform evidence inferred from the server header or filename.
- Source file time is explicitly presented as approximate file time, not as a reliable match timestamp that the demo does not provide.
- Legacy archives no longer present unverified snapshots as final scores. When the original
.demis available, Repair metadata rebuilds local sidecars without rewriting.dtrpayloads.
Recovery, organization, and reconversion
- Conversion remembers the source
.dempath and verifies it with the full SHA-256. Metadata repair and Choose rounds again reuse that pointer automatically and ask for relocation only when the file has actually moved or disappeared. - Organize old archives validates scattered replay folders, deduplicates by full demo hash, and copies accepted archives into the map-grouped main library without moving or deleting their sources.
- A persistent sidebar separates the library, conversion tasks, and an opened Manifest. Playback commands and voice/cosmetic export state use clearer, more direct wording.
Playback fix
- When a Manifest contains demo-backed music-kit evidence, DemoTracer now synchronizes the replay bot's music kit and MVP music state, then restores the prior state on replacement or unload.
- A bounded retry window handles CS2 player/inventory services becoming ready slightly later without continuously overwriting unrelated state.
Compatibility
- The
.dtrwriter remains v7; the reader still supports v3–v7. - Manifest ABI remains 17, BotController native ABI remains 16 (bundle minor 31), and DemoTracer API remains 6.
- Existing
.dtrfiles do not require reconversion. Only legacy entries that need richer library metadata should use metadata repair. - Official release assets remain Windows x64 only.
Downloads
- GUI for the new local replay library, single-demo conversion, and playback command generation.
- CLI for inspect, batch, pool, wizard, and standalone validation workflows.
- Playback Bundle for local Windows x64 CS2 server playback. Replace the complete bundle when upgrading instead of mixing old and new plugins.
Full Changelog: v0.7.2...v0.8.0