Skip to content

Releases: CnCSharp-Dev/Causality-0

V1.0.2

01 Apr 09:23

Choose a tag to compare

Patch release for DNT recording exclusion
DNT 录制排除补丁版本

Highlights | 亮点

  • Added DNT-based exclusion for replay recording
    新增对开启 DNT 玩家的一层回放录制排除

Changed | 调整

  • Players with DNT enabled are no longer added into actor recording tracks
    开启 DNT 的玩家不再进入角色录制轨

  • DNT filtering is now applied across the main player recording event chain
    DNT 过滤现在已接入主要的玩家录制事件链

Fixed | 修复

  • Fixed DNT players previously still being captured by normal replay actor recording flow
    修复开启 DNT 的玩家此前仍会进入普通回放录制流程的问题

  • Fixed voice packets from DNT players previously still having a chance to enter replay recording when voice capture was enabled
    修复在语音录制开启时,DNT 玩家语音仍可能进入回放录制的问题

V1.0.1

16 Mar 15:04

Choose a tag to compare

Formal release focused on replay compression, pure world pickup reconstruction, and post-load playback stability
以回放压缩、纯世界掉落物重建与 load 后回放稳定性为核心的正式版

Highlights | 亮点

  • Added raw and Lzma replay compression support
    新增原始与 Lzma 两种回放压缩保存支持

  • Replaced locker-based world restoration with pure world pickup reconstruction
    用纯世界掉落物重建替换基于 locker 的世界恢复链路

  • Improved deterministic door playback stability after load
    改进 load 之后门交互的确定性回放稳定性

Added | 新增

  • Added replay compression support with None and Lzma
    新增 NoneLzma 两种回放压缩保存支持

  • Added replay compression preset support for tuning Lzma encoder behavior
    新增回放压缩档位配置,用于调整 Lzma 编码行为

  • Added recorded door position context to interaction frames for more stable post-load playback
    新增门交互位置上下文落盘,用于提升 load 之后的回放稳定性

  • Added single-DLL merged deployment for compressed replay dependencies
    新增压缩回放依赖的单 DLL 合并部署路径

Removed | 移除

  • Removed locker and chamber persistence blocks from .c0
    移除 .c0 中 locker 与 chamber 的持久化块

  • Removed locker interaction replay pipeline and locker event wiring
    移除 locker 交互回放链路与对应事件接线

  • Removed locker-dependent world reconstruction from the main replay flow
    从主回放流程中移除依赖 locker 的世界重建逻辑

Changed | 调整

  • World-state persistence now records only world pickups from Map.Pickups
    世界状态持久化现在只记录 Map.Pickups 中的世界掉落物

  • load now clears current world pickups before replay rebuild starts
    load 现在会在回放世界重建开始前先清空当前世界掉落物

  • .c0 replay protocol is now V16
    .c0 回放协议现已提升到 V16

  • Release branding is now V1.0.1
    正式版标识现已更新为 V1.0.1

Improved | 改进

  • Improved post-load door playback matching by using recorded spatial context
    通过录制的空间上下文改进 load 后门回放匹配稳定性

  • Improved replay-generated pickup cleanup across stop, round end, and restart boundaries
    改进回放生成掉落物在停止播放、回合结束与重开边界下的清理行为

  • Improved compressed replay deployment by switching to SharpCompress plus ILRepack merging
    改进压缩回放部署方式,改为 SharpCompress 配合 ILRepack 合并

Fixed | 修复

  • Fixed ghost pickup residue after playback stop and round restart
    修复回放停止与回合重开后残留幽灵掉落物的问题

  • Fixed unstable post-load door interaction playback caused by runtime door id drift between sessions
    修复因不同会话间运行时 door id 漂移导致的 load 后门交互回放不稳定问题

  • Fixed several world-state rebuild issues that previously caused air-opening lockers and delayed phantom item spawns
    修复多个世界状态重建问题,解决此前对着空气开柜与延迟幽灵物资生成的异常现象

  • Fixed single-DLL deployment issues from the previous merged compression strategy
    修复旧压缩合并策略下的单 DLL 部署问题

Configuration | 配置

Current config entries
当前配置项

default_record_fps: 60
record_voice: false
replay_compression: Lzma
replay_compression_preset: Normal
  • Added replay_compression and replay_compression_preset in the formal release
    正式版新增 replay_compressionreplay_compression_preset

V1.0.1pre

12 Mar 02:57

Choose a tag to compare

V1.0.1pre Pre-release
Pre-release

Pre-release focused on replay completeness, world-state persistence, and playback stability
以回放完整性、世界状态持久化与回放稳定性为核心的预发布版本

Highlights | 亮点

  • Added late-join and disconnect lifecycle replay support
    新增中途加入、离开与断线的生命周期回放支持

  • Added persistent world-state recording for pickups and lockers
    新增世界状态持久化录制,覆盖掉落物与柜体内容

  • Added projectile persistence to .c0
    新增投掷物轨迹与所有者信息落盘到 .c0

  • Improved deterministic door playback behavior
    改进门交互的确定性回放行为

  • Added plugin configuration support for recording defaults
    新增录制默认行为的插件配置支持

Added | 新增

  • Late-joining players are now included in recordings and spawned at the correct timeline position during playback
    录制开始后中途加入的玩家现在也会被纳入录制,并在回放时按正确时间线出场

  • Leave and disconnect lifecycle events are now recorded and replayed properly
    离开与断线生命周期事件现已支持正确录制与回放

  • World-state persistence now covers initial map pickups, pickup create and remove events, pickup movement persistence, locker and chamber contents, and locker/chamber state restoration on load
    世界状态持久化当前已覆盖录制开始时的地图掉落物快照、掉落物创建与移除事件、掉落物位移持久化、柜体与腔室内容,以及 load 后的柜体与腔室状态恢复

  • Projectile tracks and owner ids are now stored inside replay files
    投掷物轨迹与所有者 id 现已写入回放文件

  • Added configuration support for default recording FPS and whether player voice is recorded
    新增默认录制帧率与是否录制玩家语音的配置项支持

  • Added bilingual Chinese and English descriptions for current configuration entries
    为当前配置项补充了中英双语说明

Improved | 改进

  • Improved actor lifecycle playback consistency across join, role change, death, and disconnect cases
    改进晚加入、角色切换、死亡与断线场景下的角色生命周期回放一致性

  • Improved world reconstruction flow after loading a replay
    改进加载回放后的世界现场重建流程

  • Improved locker and chamber item restoration to follow native spawn behavior more closely
    改进柜体与腔室物品恢复逻辑,使其更接近游戏原生生成行为

  • Improved playback ordering so door state restoration happens before actor movement is applied
    改进回放执行顺序,使门状态恢复先于角色位移应用

  • Improved replay determinism for interactions that previously depended on live runtime checks
    改进此前依赖实时运行时检查的交互回放确定性

Fixed | 修复

  • Fixed missing replay coverage for players who joined after recording had already started
    修复录制开始后加入的玩家无法被完整回放的问题

  • Fixed playback issues for players who left or disconnected before round end
    修复玩家在回合结束前离开或断线时的回放异常问题

  • Fixed projectiles previously existing only in memory instead of being fully persisted in .c0
    修复投掷物此前只存在于内存而未完整写入 .c0 的问题

  • Fixed cases where replay actors could appear to pass through doors
    修复回放角色可能出现穿门的问题

  • Fixed unstable door interaction playback caused by re-triggering live door logic instead of restoring recorded results
    修复因重新触发实时门逻辑而非恢复录制结果导致的门交互回放不稳定问题

  • Fixed several world-state rebuild issues affecting pickups, lockers, and structure-linked item spawns
    修复多个影响掉落物、柜体与结构关联物品生成的世界状态重建问题

Configuration | 配置

Current config entries
当前配置项

default_record_fps: 60
record_voice: false
  • default_record_fps only affects new recordings and does not change the FPS already embedded in existing replay files
    default_record_fps 只影响新开始的录制,不会改变旧回放文件中已经写入的 FPS

  • record_voice controls whether new recordings save player voice packets
    record_voice 用于控制新的录制是否保存玩家语音包

Notes | 说明

  • Replay files continue to store their own recorded FPS, and that FPS is restored when loading the replay
    回放文件仍然会保存自身录制帧率,并在加载时恢复该帧率

  • Different server default FPS settings do not affect playback compatibility for already-recorded files
    不同服务器的默认帧率设置不会影响已录制文件的回放兼容性

  • Plugin runtime version is now 1.0.1, with pre-release branding updated to V1.0.1pre
    插件运行时版本现为 1.0.1,预发布标识已更新为 V1.0.1pre

Pre-release notes | 预发布说明

  • Ragdoll, corpse, and death-scene ecosystem work is still in progress
    尸体、布娃娃与死亡现场生态相关功能仍在开发中

  • Structure-specific restoration for some special lockers and display structures is still being refined
    部分特殊柜体与展台结构的专用恢复逻辑仍在继续细化

v1.0.0: The Genesis (2026-03-08)

09 Mar 04:50

Choose a tag to compare

A deterministic hourglass for SCP:SL. It captures the fading echoes of a round and breathes them back into the world.

SCP:SL 的确定性沙漏。捕获对局消散的回声,将往日的因果重新刻入世界。

经过对 Unity 底层物理引擎、Mirror 网络同步协议以及 SCP:SL 原生管线的深度重构与接管,Causality-0 正式迎来 v1.0.0 创世纪版本 (The Genesis)!