Skip to content

Releases: unicbm/demotracer

CS2 DemoTracer v0.8.0

Choose a tag to compare

@unicbm unicbm released this 18 Jul 03:10

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.jsondemo-source.json。它们保存可重建的显示元数据和原 Demo 指针,但不会污染可移植的 ABI 17 manifest.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 在玩家/库存服务稍晚就绪的情况,不会持续覆盖无关状态。

兼容性

  • .dtr writer 仍为 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.json and demo-source.json sidecars for rebuildable display metadata and source provenance. The portable ABI 17 manifest.json remains sanitized and unchanged.

More reliable demo metadata

  • Scores are derived from authoritative round_end events 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 .dem is available, Repair metadata rebuilds local sidecars without rewriting .dtr payloads.

Recovery, organization, and reconversion

  • Conversion remembers the source .dem path 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 .dtr writer 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 .dtr files 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

CS2 DemoTracer v0.7.2

Choose a tag to compare

@unicbm unicbm released this 16 Jul 16:53

CS2 DemoTracer v0.7.2

这是一个建议所有使用 v0.7.1 Playback Bundle 进行本地回放的用户安装的稳定性修复版本,重点解决 listen server 中真人与 Bot 数量变化时的 native 崩溃风险,以及首个实际回合的刀具外观错误。

关键修复

  • 真人加入或队伍人数变化时可能 native 崩溃:当回合内或回合结算期间真人与 Bot 的加载关系发生变化时,旧版可能过早销毁或复用 BotHider controller。v0.7.2 延迟清理并校验 slot/controller 身份,避免旧清理任务命中新 controller。
  • 启用 Demo 刀具饰品对齐时,Round 0 仍显示默认模型和涂装:当 manifest 含有 Demo 记录的刀具饰品证据并启用刀具饰品同步时,旧版在首个实际回合中可能只正确同步 HUD 名称和动画,实际刀具实体的模型和涂装仍为默认值。v0.7.2 会在安全的回合准备阶段刷新旧刀实体,使首回合也使用 Demo 记录的刀型和涂装。

DTR 回合证据 Banner

  • round_start 成功准备至少一个安全 replay bot 后,向在线真人显示固定 DTR banner 5 秒。
  • 该功能由 round_banner 控制,默认开启;设为 false 可关闭。
  • 图片使用固定版本的 CDN 地址。客户端无法访问该 CDN 时可能看不到图片,但不会影响 replay 加载或执行。

升级建议

  • 本次修复集中在 Playback Bundle,建议 v0.7.1 用户完整替换 playback bundle,尤其是其中的 BotHider native runtime 和 DemoTracer 插件。
  • Converter 行为没有变化;现有 .dtr 文件无需重新转换。
  • .dtr 格式仍为 v7,manifest ABI 仍为 17,BotController ABI 仍为 16,DemoTracer API 仍为 6。

下载

  • Playback Bundle:安装到本地 CS2 server,包含本次 native 稳定性和首回合刀具修复。
  • GUI:适合一次转换和检查一个 Demo。
  • CLI:适合 inspect、批量转换、pool 和 validate。
English

v0.7.2 is a recommended playback-stability patch for everyone using the v0.7.1 Playback Bundle for local replay. It fixes a native crash risk when human and bot relationships change on a listen server, plus incorrect knife visuals in the first physical round.

Key fixes

  • Native crash during human joins or roster changes: A BotHider controller could be destroyed or reused too early while human and bot relationships changed during a round or round transition. Cleanup is now deferred and bound to the exact slot/controller identity so stale work cannot affect a replacement controller.
  • Round 0 kept the default model and paint with demo knife alignment enabled: When the manifest contains demo-backed knife cosmetic evidence and knife cosmetic alignment is enabled, the HUD name and animation could be correct while the actual knife entity in the first physical round still kept its default model and paint. v0.7.2 safely refreshes that stale entity during round preparation so the recorded knife model and paint apply from the first round.

DTR round-evidence banner

  • After round_start successfully prepares at least one safe replay bot, live human clients receive the pinned DTR banner for five seconds.
  • The feature is enabled by default through round_banner; set it to false to disable it.
  • The image uses a version-pinned CDN URL. Clients that cannot reach that CDN may not render the image, but replay loading and playback are unaffected.

Upgrading

  • The fixes are concentrated in the Playback Bundle. v0.7.1 users should replace the complete playback bundle, especially the BotHider native runtime and DemoTracer plugin.
  • Converter behavior is unchanged, and existing .dtr files do not need to be regenerated.
  • The format remains .dtr v7 with manifest ABI 17, BotController ABI 16, and DemoTracer API 6.

Downloads

  • Playback Bundle for local CS2 server playback, including the native stability and first-round knife fixes.
  • GUI for converting and inspecting one demo at a time.
  • CLI for inspect, batch, pool, and validate workflows.

CS2 DemoTracer v0.7.1

Choose a tag to compare

@unicbm unicbm released this 15 Jul 15:22

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 行为。
  • defaultfullhandoff_safe 现在默认同步准星。准星由服务器通过 BotHider 提供,只影响观看回放 Bot 时的显示,不会修改真人玩家的客户端配置。

服务器端安全与稳定性

  • 加强了 .dtr 文件校验,异常大、损坏或结构不合法的回放会在进入运行时前被拒绝,避免过度占用内存或把错误布局交给 BotController。
  • dtr_* 控制命令只允许服务器控制台和 listen server 的本机 Host 使用;远端玩家和 dedicated server 客户端不能控制回放。
  • dtr_util_trace 只能在插件自己的 traces 目录中创建新的 CSV,不再接受任意路径,也不会覆盖已有文件。
  • Desktop 转换器现在先完整生成并校验新输出,再替换旧目录;如果转换失败,原有回放包会保留。

升级建议

  • 建议同时更新 ConverterPlayback 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, and handoff_safe presets. Crosshairs are published by the server through BotHider and do not modify human client configuration.

Server safety and reliability

  • Stronger .dtr validation 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_trace can create new CSV files only inside the plugin's own traces directory 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 .dtr files 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 .dtr v7 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.

CS2 DemoTracer v0.7.0

Choose a tag to compare

@unicbm unicbm released this 15 Jul 05:53

CS2 DemoTracer v0.7.0

这次主要更新了 Windows 桌面端:旧 GUI 已替换为全新的 Tauri 版本,界面更清爽,操作也更直接。

你会看到的变化

  • 全新桌面界面:更大的字号、自定义顶栏、浅色/深色/跟随系统主题,并支持中文和英文。
  • 回合选择与转换反馈更清楚;可疑回合不会默认选中,未选择的回合也不会再显示成转换失败。
  • 可以直接打开已有的 manifest.json 浏览回放归档,不需要保留原始 demo。
  • 转换完成后可以选择武器、饰品、Steam 身份、头像、语音和 Playoff,并一键复制完整播放命令;这些选择会自动记住。
  • 饰品导出的风险确认已简化为一次短语输入,并提供点击复制。
  • 旧版 .dtr 仍然可以继续使用,不需要重新转换。

下载哪个包

  • GUIcs2-demotracer-gui-v0.7.0-windows-x64.zip — 推荐给大多数转换用户。
  • CLIcs2-demotracer-cli-v0.7.0-windows-x64.zip — 用于命令行、批量、pool 和 validate。
  • Playback Bundlecs2-demotracer-playback-v0.7.0-windows-x64.zip — 在 CS2 中播放回放时安装;使用新版播放预设时请同步更新。

仅提供 Windows x64 正式包。GUI 需要 WebView2,当前 Windows 10/11 通常已经自带。

English

v0.7.0 replaces the old GUI with a redesigned Tauri desktop application.

Highlights

  • A cleaner desktop interface with larger text, custom window chrome, light/dark/system themes, and Chinese/English UI.
  • Clearer round selection and conversion feedback, especially for suspicious or unselected rounds.
  • Open an existing manifest.json as a local replay archive without keeping the original demo.
  • Build and copy one complete playback command from remembered weapon, cosmetic, identity, avatar, voice, and Playoff options.
  • Simpler cosmetic-export confirmation with click-to-copy support.
  • Existing .dtr files remain compatible and do not need reconversion.

Downloads

  • GUI for normal desktop conversion.
  • CLI for command-line, batch, pool, and validation workflows.
  • Playback Bundle for playing replays inside CS2; update it when using the new playback preset commands.

Official packages remain Windows x64 only. The GUI requires WebView2, normally included with current Windows 10 and Windows 11 installations.

CS2 DemoTracer v0.6.0

Choose a tag to compare

@unicbm unicbm released this 14 Jul 15:19

CS2 DemoTracer v0.6.0

v0.6.0 是一次较大的架构与性能版本。相比 v0.5.2,本次重点重构了
demo 解析、转换导出、回放加载和 handoff 链路。

先选对下载包

  • CLIcs2-demotracer-cli-v0.6.0-windows-x64.zip
    • 转换器入口是 cs2-demotracer.exe,不包含 GUI 可执行文件。
    • 适合命令行、inspect、convert、validate、wizard、批量和 pool 工作流。
    • 三个包中体积最小;只需要转换 demo 的命令行用户下载它即可。
  • GUIcs2-demotracer-gui-v0.6.0-windows-x64.zip
    • 转换器入口是 cs2-demotracer-gui.exe,不包含 CLI 可执行文件。
    • 适合单 demo 的图形化分析、回合选择和转换。
    • 批量、pool、wizard 或独立 validate 工作流仍请使用 CLI。
  • Playback Bundlecs2-demotracer-playback-v0.6.0-windows-x64.zip
    • 安装到本地 Windows x64 CS2 服务器,用于播放转换后的 .dtr
    • 包含 DemoTracerDemoTracerBotHider CounterStrikeSharp 插件,
      BotControllerBotHider Metamod runtime 及对应 API。
    • 它不是云服务器或托管服务;只转换 demo、不在 CS2 中回放的用户不需要下载。
    • Metamod:Source 和 CounterStrikeSharp 是外部前置依赖,不包含在播放包内。

主要更新

  • 解析与转换速度大幅提升。 转换器的数据链路经过系统重构:默认非饰品转换
    跳过昂贵的饰品列,主解析恢复安全的多线程路径,movement/usercmd 使用严格
    row-key 对齐的窄 overlay 并在不匹配时自动回退;行物化和逐玩家 .dtr 导出也已
    并行化。完整饰品转换增加 entity revision cache,并减少列合并中的深拷贝。
  • 更自然的 handoff 衔接和接管。 Contact handoff 现在只使用当前 native
    可见性证据,不再被记忆中的 enemy handle 或单纯附近人数过早触发;停止 replay
    时会清理残留的移动、跳跃和 usercmd 输入,同时保留原生 bot 已建立的状态,让接管
    更平顺。
  • 更快的回放加载。 下一轮 .dtr 会在回合间后台预解码,并配合稳定 manifest、
    voice sidecar 缓存、native warm buffer 复用和显式释放,减少回合切换时的等待和
    重复工作。
  • 更稳定的 replay 身份展示。 Demo-backed 名字、SteamID、头像关联、准星和
    scoreboard flair 会跨 handoff、replay finish、sequence complete 和后续回合保持,
    直到被明确替换或卸载。
  • 新增可选 playoff continuation。 dtr_playoff 可在 sequence 耗尽后,分别从
    T、CT 的 full-buy 来源轮继续调度,并保持严格的逐玩家 SteamID 匹配。该功能默认
    关闭;示例配置仍为 "playoff": false
  • 更多 runtime 热路径优化和修复。 减少 managed replay tick、native weapon
    lookup、projectile alignment、BotHider capability check 与混合语音回放中的重复工作;
    同时合入 Windows BotHider team-join 修复,并修复 playoff freeze-preroll 阵容证据
    丢失问题。

兼容性

  • .dtr writer 仍为 v7,reader 仍支持 v3–v7;旧 .dtr 无需重新转换。
  • Manifest ABI 仍为 17;DemoTracer companion API 仍为 6。
  • BotController ABI major 仍为 16;本次播放包包含 ABI minor 31。
  • 升级时请整体替换 Playback Bundle,不要混用新旧 native DLL 和 CSS plugin。
  • Playback Bundle 需要 CounterStrikeSharp v1.0.371 或更新版本。
  • 本次正式发布资产仍只维护并验证 Windows x64。
English

CS2 DemoTracer v0.6.0

v0.6.0 is a major architecture and performance release. Compared with v0.5.2,
it substantially refactors demo parsing, conversion, replay loading, and handoff.

Choose the right download

  • CLIcs2-demotracer-cli-v0.6.0-windows-x64.zip
    • Its converter entry point is cs2-demotracer.exe; the GUI executable is not included.
    • Use it for inspect, convert, validate, wizard, batch, and pool workflows.
    • This is the smallest package and is all command-line converter users need.
  • GUIcs2-demotracer-gui-v0.6.0-windows-x64.zip
    • Its converter entry point is cs2-demotracer-gui.exe; the CLI executable is not included.
    • Use it for graphical single-demo analysis, round selection, and conversion.
    • Batch, pool, wizard, and standalone validate workflows remain in the CLI.
  • Playback Bundlecs2-demotracer-playback-v0.6.0-windows-x64.zip
    • Install it on the local Windows x64 CS2 server that will play converted
      .dtr routes.
    • It includes the DemoTracer and DemoTracerBotHider CounterStrikeSharp
      plugins, the BotController and BotHider Metamod runtimes, and their APIs.
    • It is not a hosted or cloud service. Converter-only users do not need it.
    • Metamod:Source and CounterStrikeSharp remain external prerequisites.

Highlights

  • Substantially faster parsing and conversion. The converter now uses lean
    non-cosmetic columns, safer multi-threaded parsing, strict row-key-aligned
    movement/usercmd overlays with automatic fallback, lower-copy column merging,
    parallel row materialization and per-player .dtr generation, and cached
    cosmetic extraction.
  • More natural handoff. Contact handoff now relies on current native
    visibility evidence instead of remembered enemy handles or proximity alone.
    Replay stop clears residual movement, jump, and usercmd input while preserving
    the native bot state needed for a smoother takeover.
  • Faster replay preparation. Upcoming .dtr files are decoded off the game
    thread. Stable manifests and voice sidecars are cached, warm native buffers are
    reused where appropriate, and unused buffers are released explicitly.
  • Persistent replay presentation. Demo-backed names, SteamIDs, avatar
    associations, crosshairs, and scoreboard flair remain stable across handoff,
    replay completion, sequence completion, and later rounds until explicitly
    replaced or unloaded.
  • Optional playoff continuation. dtr_playoff can continue an exhausted
    sequence using independently selected full-buy T and CT source rounds with
    strict per-player SteamID matching. It remains disabled by default.
  • Runtime hot-path improvements and fixes. Managed replay ticking, native
    weapon lookup, projectile alignment, BotHider capability checks, and mixed
    voice playback perform less repeated work. This release also includes the
    Windows BotHider team-join fix and preserves freeze-preroll roster evidence
    while preparing playoff rounds.

Compatibility

  • .dtr writer format remains v7; v3–v7 files remain readable and existing
    .dtr files do not need reconversion.
  • Manifest ABI remains 17; DemoTracer companion API remains 6.
  • BotController ABI major remains 16; the bundled ABI minor is 31.
  • Replace the complete Playback Bundle when upgrading instead of mixing old and
    new native DLLs or CounterStrikeSharp plugins.
  • The Playback Bundle requires CounterStrikeSharp v1.0.371 or newer.
  • Official release assets remain Windows x64 only.

Full Changelog: v0.5.2...v0.6.0

CS2 DemoTracer v0.5.2

Choose a tag to compare

@unicbm unicbm released this 13 Jul 04:56

CS2 DemoTracer v0.5.2

本版本重点更新服务器运行时与 replay 展示链路。

主要更新

  • Server bundle 现在内置 DemoTracer 自维护的 BotHider runtime、CounterStrikeSharp provider 和对应 API,无需再单独安装公开 BotHider CSS plugin。
  • Replay 名字、SteamID64、头像关联和准星展示改由服务器统一发布,并在 replay 替换、卸载、断线或换图时可靠恢复。
  • 修复部分阵容回放的初始出生点分配,使 replay bot 使用 DTR 记录的 round-start 位置。
  • 改进 C4 所有权对齐,减少玩家出生、晚加入或 freeze time 重分配造成的错误持有者。
  • DemoTracer 与内置 BotHider 的 CounterStrikeSharp 插件现统一使用 .NET 10。

兼容性

  • .dtr writer 仍为 v7,现有 .dtr 无需重新转换。
  • Manifest ABI 仍为 17;BotController native ABI 为 16.30。
  • 升级服务器时请替换完整 v0.5.2 server bundle,并移除另外安装的公开 BotHider CSS plugin。
  • Server bundle 需要 CounterStrikeSharp v1.0.371 或更新版本。
English

CS2 DemoTracer v0.5.2

This release updates the server runtime and replay presentation path.

Highlights

  • The server bundle now includes DemoTracer's maintained BotHider runtime, CounterStrikeSharp provider, and API. A separate public BotHider CSS plugin is no longer required.
  • Replay names, SteamID64 values, avatar associations, and crosshair presentation are now published by the server and restored reliably when replays are replaced or unloaded, or when players disconnect or the map changes.
  • Fixed initial spawn assignment for partial-roster playback so replay bots use DTR-recorded round-start positions.
  • Improved C4 ownership alignment after player spawns, late joins, and freeze-time reassignment.
  • DemoTracer and the bundled BotHider CounterStrikeSharp plugins now target .NET 10.

Compatibility

  • The .dtr writer remains v7. Existing .dtr files do not need reconversion.
  • Manifest ABI remains 17; BotController native ABI is 16.30.
  • Replace the complete v0.5.2 server bundle when upgrading and remove separately installed public BotHider CSS plugins.
  • The server bundle requires CounterStrikeSharp v1.0.371 or newer.

Full Changelog: v0.5.1...v0.5.2

CS2 DemoTracer v0.5.1

Choose a tag to compare

@unicbm unicbm released this 12 Jul 11:29

CS2 DemoTracer v0.5.1

这是一个面向服务器展示与稳定性的修复版本。重点修复 replay 头像身份、scoreboard 同步和手套材质重复写入问题;.dtr 格式、manifest ABI 和 native ABI major 均未变化。

主要修复

  • 修复 ServerAvatarOverrides 第 0 项被首个 DTR 头像占用后,未匹配玩家错误继承同一头像的问题。Runtime 现在会先保留空的 fallback 项。
  • dtr_replay_identity avatar 现在保留真实 demo SteamID64,在应用 demo PNG 头像覆写的同时保留 Steam 资料卡、勋章和称赞信息;缺少或无效的 PNG 会回退到 Steam 头像。full 保留为 avatar 的兼容别名。
  • 修复 scoreboard 对 CounterStrikeSharp NetworkedVector<CSPerRoundStats_t> 执行不受支持索引访问的问题;K/D/A 继续通过受支持的 match totals 路径同步。
  • 避免对相同手套 econ 状态反复写入,并使延迟重试与当前 pawn/token 绑定,减少客户端材质仍在加载时被重复销毁和重建。

兼容性

  • .dtr writer 仍为 v7;runtime reader 仍支持 v3 到 v7。
  • Manifest ABI 仍为 17;BotController native ABI 仍为 16.29;DemoTracer companion API 仍为 v6。
  • 已有 .dtr 无需重新转换。仅更新服务器功能时,替换完整 v0.5.1 server bundle 即可。
  • Server bundle 仍需要 CounterStrikeSharp v1.0.371 或更新版本,目标为 CS2 1.41.6.9。

校验

  • Converter 测试通过:115 个库测试和 7 个 CLI 测试,0 失败。
  • Windows x64 converter CLI / GUI release build 完成。
  • BotController native Release build 完成。
  • DemoTracer CSS Release build 完成,0 warnings / 0 errors。
  • 头像覆写、Steam 资料卡保留和未匹配玩家头像隔离已进行实机验证。
  • Release assets 已检查无原始 demo、本机路径、日志或调试符号;两个 ZIP 完整性和 SHA256SUMS.txt 均已核验。
English

CS2 DemoTracer v0.5.1

This is a server-presentation and stability patch release. It focuses on replay avatar identity, scoreboard synchronization, and redundant glove-material writes. The .dtr format, manifest ABI, and native ABI major are unchanged.

Fixes

  • Fixed unmatched players inheriting the first DTR avatar when index zero of ServerAvatarOverrides was occupied. The runtime now reserves an empty fallback entry first.
  • dtr_replay_identity avatar now keeps the real demo SteamID64, preserving native Steam profile cards, badges, and commendations while applying demo PNG avatar overrides. Missing or invalid PNG evidence falls back to the Steam avatar. full remains a compatibility alias for avatar.
  • Fixed scoreboard synchronization attempting unsupported indexed access on CounterStrikeSharp NetworkedVector<CSPerRoundStats_t>; K/D/A continues through the supported match-total fields.
  • Avoided rewriting identical glove econ state and bound delayed retries to the current pawn/token, reducing repeated client material destruction and recreation while textures are still loading.

Compatibility

  • The .dtr writer remains v7; the runtime reader still supports v3 through v7.
  • Manifest ABI remains 17, BotController native ABI remains 16.29, and DemoTracer companion API remains v6.
  • Existing .dtr files do not need reconversion. For server-only use, replace the complete v0.5.1 server bundle.
  • The server bundle still requires CounterStrikeSharp v1.0.371 or newer and targets CS2 1.41.6.9.

Validation

  • Converter tests passed: 115 library tests and 7 CLI tests, with 0 failures.
  • Windows x64 converter CLI and GUI release builds completed.
  • BotController native Release build completed.
  • DemoTracer CSS Release build completed with 0 warnings and 0 errors.
  • Avatar overrides, Steam profile-card preservation, and unmatched-player avatar isolation were verified in game.
  • Release assets were checked for raw demos, local paths, logs, and debug symbols; both ZIPs and SHA256SUMS.txt were verified.

CS2 DemoTracer v0.5.0

Choose a tag to compare

@unicbm unicbm released this 11 Jul 09:33

CS2 DemoTracer v0.5.0

本版本主要适配 2026 年 7 月的 Valve CS2 demo / runtime 更新,并同步更新 CounterStrikeSharp 运行要求。重点是恢复新版 demo 的完整输入回放,同时保持旧 demo 和既有 .dtr 的兼容性。

主要更新

  • 适配 Valve 新版 demo user-command delta 编码;旧版 data 路径继续保留,新版 delta_data 也可正确解析。
  • 恢复受影响 demo 中的开火、投掷物释放、subtick movement 和部分移动输入,修复人物漂移、脚步动画异常等连带问题。
  • 更新 2026 年 7 月 CS2 runtime / gamedata 兼容性,并将服务器前置要求更新为 CounterStrikeSharp v1.0.371 或更新版本。
  • 修复新版 CS2 下 crosshair paint 配置 hook、回放视野/感知、freeze-time 控制、武器与输入注入等 runtime 路径。
  • 修复 demo 语音回放的阵营路由和发送者身份映射:队内语音不再发送给对方阵营,语音显示绑定到正确的 replay bot。
  • 收紧公开主线范围,移除不再承诺维护的实验性 Demo2Nade / nade-library surface;DemoTracer companion API 更新到 v6。
  • 保持 .dtr writer v7、manifest ABI 17、BotController native ABI major 16;本次 server bundle 使用 ABI minor 29。

兼容性

  • Converter 同时支持旧版 demo user-command 数据和 Valve 新版 delta 数据。
  • 使用新版 delta 编码的 demo 需要 converter v0.5.0 或更新版本;若曾用旧 converter 导出且出现不开火/不释放投掷物,需要重新转换。
  • 旧版 demo 无需重新转换;已经正常工作的 .dtr 也无需重新生成。
  • Runtime reader 支持 .dtr v3 到 v7;当前 writer 仍输出 .dtr v7。
  • Server bundle 需要 CounterStrikeSharp v1.0.371 或更新版本,目标为 CS2 1.41.6.9。
  • DemoTracer companion API 为 v6;BotController native ABI 为 16.29。

校验

  • Converter 测试通过:115 个库测试和 7 个 CLI 测试,0 失败。
  • Windows x64 converter CLI / GUI release build 完成。
  • BotController native Release build 完成。
  • DemoTracer CSS Release build 完成,0 warnings / 0 errors。
  • 新版 demo 输入回放、语音阵营路由和发送者身份已进行实机验证。
  • Release assets 已检查无原始 demo、本机路径、日志或调试符号;SHA256SUMS.txt 已重新生成。
English

CS2 DemoTracer v0.5.0

This release primarily adapts DemoTracer to the July 2026 Valve CS2 demo and runtime updates, with updated CounterStrikeSharp runtime requirements. It restores complete input replay for affected new demos while retaining compatibility with older demos and existing .dtr files.

Highlights

  • Added support for Valve's newer delta-encoded demo user commands while retaining the existing legacy data path.
  • Restored attack input, grenade release, subtick movement, and related movement state in affected demos, including associated floating and missing-footstep-animation behavior.
  • Updated July 2026 CS2 runtime and gamedata compatibility, with CounterStrikeSharp v1.0.371 or newer now required for the server bundle.
  • Fixed runtime paths affected by the CS2 update, including the crosshair paint configuration hook, replay perception/FOV handling, freeze-time control, weapon control, and input injection.
  • Fixed replay voice team routing and speaker identity mapping so team voice is not sent to the opposing team and is displayed on the correct replay bot.
  • Narrowed the maintained public surface by removing the experimental Demo2Nade / nade-library path; updated the DemoTracer companion API to v6.
  • Kept .dtr writer format at v7, manifest ABI at 17, and BotController native ABI major at 16. This server bundle uses ABI minor 29.

Compatibility

  • The converter supports both older demo user-command data and Valve's newer delta data.
  • Demos using the new delta encoding require converter v0.5.0 or newer. Reconvert affected demos previously exported by an older converter if attack or grenade input is missing.
  • Older demos do not need to be reconverted, and existing .dtr files that already replay correctly remain usable.
  • The runtime reader supports .dtr v3 through v7; the current writer still emits .dtr v7.
  • The server bundle requires CounterStrikeSharp v1.0.371 or newer and targets CS2 1.41.6.9.
  • DemoTracer companion API is v6; BotController native ABI is 16.29.

Validation

  • Converter tests passed: 115 library tests and 7 CLI tests, with 0 failures.
  • Windows x64 converter CLI and GUI release builds completed.
  • BotController native Release build completed.
  • DemoTracer CSS Release build completed with 0 warnings and 0 errors.
  • New-demo input replay, voice team routing, and speaker identity were verified in game.
  • Release assets were checked for raw demos, local paths, logs, and debug symbols; SHA256SUMS.txt was regenerated.

CS2 DemoTracer v0.4.0

Choose a tag to compare

@unicbm unicbm released this 08 Jul 06:14

CS2 DemoTracer v0.4.0

本版本聚焦于回放保真度、表现层同步和投掷物一致性。

主要更新

  • 新增 demo-backed viewmodel / 左右手状态导出与回放应用。
  • 新增 HUD crosshair override 基础设施,并将传统 crosshair alignment 保持为默认关闭。
  • 新增投掷物 birth-state 对齐,改善 smoke / flash / HE / decoy 等投掷物初始位置和速度一致性。
  • 新增燃烧弹 / 燃烧瓶 effect point 元数据和保守落点对齐,降低 molotov / incendiary replay 漂移。
  • 用 compact econ validation index 替换旧 skins_en.json,改善皮肤、手套、探员、贴纸、挂件、音乐盒等 econ id 校验。
  • 更新 DemoTracer companion API 到 v5。
  • 保持 .dtr writer v7、manifest ABI 17、BotController native ABI major 16。
  • 更新命令文档、格式文档、使用说明和 release packaging。

兼容性

  • Runtime reader 支持 .dtr v3 到 v7。
  • 当前 writer 仍输出 .dtr v7。
  • Crosshair alignment 默认关闭,需要手动启用。
  • Molotov / incendiary 对齐只在 demo metadata 足够可靠时生效,不强制伤害或生命值。

校验

  • Converter release build 完成。
  • DemoTracer CSS Release build 完成,0 warnings / 0 errors。
  • SHA256SUMS.txt 已按本次 release assets 重新生成。
English

CS2 DemoTracer v0.4.0

This release focuses on replay fidelity, presentation alignment, and projectile consistency.

Highlights

  • Added demo-backed viewmodel and left/right-hand state export and playback.
  • Added HUD crosshair override infrastructure while keeping legacy crosshair alignment disabled by default.
  • Added projectile birth-state alignment to improve initial position and velocity consistency for smoke, flash, HE, decoy, and related grenade projectiles.
  • Added fire projectile effect-point metadata and conservative molotov/incendiary point alignment to reduce replay drift.
  • Replaced the old skins_en.json path with a compact econ validation index for weapon paints, gloves, agents, stickers, charms, music kits, and related econ IDs.
  • Updated DemoTracer companion API to v5.
  • Kept .dtr writer format at v7, manifest ABI at 17, and BotController native ABI major at 16.
  • Updated command docs, format docs, usage docs, and release packaging.

Compatibility

  • Runtime reader supports .dtr v3 through v7.
  • Current writer still emits .dtr v7.
  • Crosshair alignment remains disabled by default and must be enabled explicitly.
  • Molotov/incendiary alignment only applies when reliable demo metadata is available. It does not force damage or health state.

Validation

  • Converter release build completed.
  • DemoTracer CSS Release build completed with 0 warnings / 0 errors.
  • SHA256SUMS.txt was regenerated for the current release assets.

CS2 DemoTracer v0.3.8

Choose a tag to compare

@unicbm unicbm released this 04 Jul 12:31

v0.3.8

更新内容

回放身份保真:记分板奖章 / Flair

  • 新增 demo-backed scoreboard flair medal 字段导出。
  • Converter 会从 demo 证据中导出 scoreboard_flair manifest 字段,用于记录玩家在该 demo 中实际携带的记分板奖章。
  • Runtime 会在 BotHider-managed replay bot 上应用该字段,使 TAB 记分板中的奖章更接近原 demo。
  • 该字段是可选 manifest 字段,旧 manifest 仍然兼容;没有证据时不会强行写入。
  • 实测中,奖章通常会在 freeze time 结束、回合进入 live play 的第一个正式 tick 显示。

饰品证据污染修复

  • 修复重复加载 replay、重新执行 dtr_go、或 bot slot 变化后,旧 cosmetic evidence 可能污染新 bot / 新玩家的问题。
  • 改进了普通武器、viewmodel、ECON 写入链路在多次加载场景下的隔离性。
  • 该修复降低了“HUD 对了,但 ECON / viewmodel 错位”这类状态遗留问题的概率。

兼容性说明

  • .dtr 文件格式不变。
  • Manifest ABI 保持兼容。
  • 该版本不包含社区服自定义头像字段的额外解析;现有 avatar_overrides 仍只使用通用 demo-backed ServerAvatarOverrides 路径。

Assets

  • cs2-demotracer-v0.3.8-windows-x64.zip
    Windows x64 converter package, including CLI and GUI.

  • cs2-demotracer-server-v0.3.8-windows-x64.zip
    Windows x64 server playback bundle, including DemoTracer CSS plugin and matching BotController runtime files.

  • SHA256SUMS.txt
    SHA256 checksums for release assets.

English release notes

v0.3.8

Changes

Replay identity fidelity: scoreboard flair medals

  • Added export and runtime replay support for demo-backed scoreboard flair medals.
  • The converter now writes optional scoreboard_flair manifest evidence when the demo contains a stable player flair value.
  • The runtime applies this value to BotHider-managed replay bots so TAB scoreboard medals better match the original demo.
  • This is an optional manifest field, so older manifests remain compatible and missing evidence is left untouched.
  • In CS2, the flair may become visible when freeze time ends and the replay round enters live play.

Cosmetic evidence pollution fix

  • Fixed cosmetic replay evidence pollution across repeated loads, repeated dtr_go runs, and bot slot changes.
  • Improved isolation for weapon, viewmodel, and ECON cosmetic writes across replay loads.
  • This reduces cases where HUD state is correct but ECON / viewmodel cosmetics are inherited from stale replay state.

Compatibility notes

  • .dtr format is unchanged.
  • Manifest ABI remains compatible.
  • This release does not add special parsing for community-server custom avatar fields. Existing avatar_overrides behavior remains limited to the generic demo-backed ServerAvatarOverrides path.

Assets

  • cs2-demotracer-v0.3.8-windows-x64.zip
    Windows x64 converter package, including CLI and GUI.

  • cs2-demotracer-server-v0.3.8-windows-x64.zip
    Windows x64 server playback bundle, including the DemoTracer CSS plugin and matching BotController runtime files.

  • SHA256SUMS.txt
    SHA256 checksums for release assets.