CS2 DemoTracer v0.7.1
CS2 DemoTracer v0.7.1
这是一个建议所有 v0.7.0 用户安装的修复版本,重点改善部分完美世界 Demo 的转换结果、饰品同步、回放体验和服务器端稳定性。
对玩家最重要的修复
- 部分完美世界 Demo 转换后少人或身份错位:这类 Demo 可能使用较高的玩家实体编号,旧版会把玩家关联到错误的角色实体,继而出现少人、名字和头像不同步、饰品挂到错误玩家等问题。v0.7.1 按照 CS2 实际使用的实体编号范围重新解析玩家关联。
- Hand Wraps 没有导出:饰品索引曾把 Hand Wraps 错分到不受支持的类别,导致 Demo 中明明存在的棕色裹手等手套被过滤。v0.7.1 已恢复 Hand Wraps 的导出和播放同步。
- 一个超长名字影响整批玩家:旧版遇到超出显示长度限制的 UTF-8 名字时,可能让同一批玩家的名字和头像一起同步失败。现在只缩短回放中用于显示的名字,原始 Demo 数据保持不变,其他玩家也不会受影响。
回放体验
- Demo 语音现在可以从 freeze time 的预录阶段开始播放。
- 正常播放结束或触发 handoff 后,玩家外观与第一视角 viewmodel 可以自然保持到回合边界;移动控制和武器锁仍会立即释放,不会妨碍接管后的 Bot 行为。
default、full和handoff_safe现在默认同步准星。准星由服务器通过 BotHider 提供,只影响观看回放 Bot 时的显示,不会修改真人玩家的客户端配置。
服务器端安全与稳定性
- 加强了
.dtr文件校验,异常大、损坏或结构不合法的回放会在进入运行时前被拒绝,避免过度占用内存或把错误布局交给 BotController。 dtr_*控制命令只允许服务器控制台和 listen server 的本机 Host 使用;远端玩家和 dedicated server 客户端不能控制回放。dtr_util_trace只能在插件自己的traces目录中创建新的 CSV,不再接受任意路径,也不会覆盖已有文件。- Desktop 转换器现在先完整生成并校验新输出,再替换旧目录;如果转换失败,原有回放包会保留。
升级建议
- 建议同时更新 Converter 和 Playback Bundle。
- 普通的旧
.dtr文件仍然兼容,不需要全部重新转换。 - 如果旧回放包出现过少人、名字或头像错位、饰品对应错误,或者缺少 Hand Wraps,请用 v0.7.1 Converter 重新转换原 Demo。
.dtr格式仍为 v7,manifest ABI 仍为 17,BotController ABI 仍为 16;超出新增安全上限或结构损坏的旧文件会被拒绝。
下载
- GUI:适合一次转换和检查一个 Demo。
- CLI:适合 inspect、批量转换、pool 和 validate。
- Playback Bundle:安装到本地 CS2 server,用于实际回放;请与 v0.7.1 Converter 配套更新。
English
v0.7.1 is a recommended patch for all v0.7.0 users. It focuses on conversion accuracy for some Perfect World demos, cosmetic synchronization, playback continuity, and server-side reliability.
Player-facing fixes
- Missing players or mismatched identities in some Perfect World demos: These demos can use higher player entity indices than the old parser handled correctly. That could associate a player with the wrong pawn and lead to missing players, mismatched names or avatars, and cosmetics attached to the wrong identity. v0.7.1 now decodes the full entity-index range used by CS2.
- Hand Wraps not exported: The cosmetic index incorrectly classified Hand Wraps as unsupported, so recorded gloves such as brown Hand Wraps could be filtered out. Export and playback synchronization for Hand Wraps have been restored.
- One long name breaking a whole identity batch: A UTF-8 name over the presentation limit could prevent names and avatars from being applied for other players in the same batch. v0.7.1 shortens only the presentation copy while preserving the original demo data.
Playback improvements
- Demo voice can now begin during freeze-time preroll.
- Presentation and first-person viewmodels can remain stable until the round boundary after natural completion or handoff, while movement control and weapon locks are still released immediately.
- Crosshair alignment is now enabled by default in the
default,full, andhandoff_safepresets. Crosshairs are published by the server through BotHider and do not modify human client configuration.
Server safety and reliability
- Stronger
.dtrvalidation rejects oversized, damaged, or structurally invalid replays before they reach the runtime. - Replay control commands are limited to the server console and the local host on a listen server. Remote players and dedicated-server clients cannot control playback.
dtr_util_tracecan create new CSV files only inside the plugin's owntracesdirectory and will not overwrite an existing file.- The Desktop converter now finishes and validates a new output before replacing the previous directory, so a failed conversion preserves the existing replay pack.
Upgrading
- Update both the Converter and Playback Bundle.
- Normal existing
.dtrfiles remain compatible and do not all need to be reconverted. - Reconvert the original demo with v0.7.1 if an older pack showed missing players, identity or cosmetic mismatches, or missing Hand Wraps.
- The format remains
.dtrv7 with manifest ABI 17 and BotController ABI 16. Old files that exceed the new safety limits or contain malformed layouts are intentionally rejected.
Downloads
- GUI for converting and inspecting one demo at a time.
- CLI for inspect, batch, pool, and validate workflows.
- Playback Bundle for local CS2 server playback; update it together with the v0.7.1 Converter.