• 注册
  • 攻略教程 攻略教程 关注:912 内容:256

    七日杀 V3.1 b13 源码与 Config 更新清单

  • 查看作者
  • 打赏作者
  • 当前位置: 七日杀中文网 > 攻略教程 > 正文
  • 攻略教程
  • Lv.5
    萌新驾到

    TECHNICAL CHANGELOG / V3.1 B13

    七日杀 V3.1 b13
    源码与 Config 更新清单

    面向 XML、XUi、DLL 与 Harmony MOD 作者的版本差异索引

    对比基线
    V3.0.1 b4
    当前版本
    V3.1 b13
    游戏构建号
    24392370
    发布作者
    Nanami

    本次更新集中在五类关键变化:运行时堆叠上限、按具体格位判断物品移动、鸡舍与可持有实体链、统一 SandboxOption、TileEntity/CVar/常用方法签名。

    01 / 更新规模

    对比对象为两个冻结版本的 Assembly-CSharp 反编译源码与原版 Config。源码树使用相同反编译器版本和参数,并通过目录差异报告排除工具造成的假变更。

    155
    源码路径变化
    17
    Config 文件修改
    +53
    Localization Key
    0
    NGUI 变化
    范围 差异
    Assembly-CSharp 新增 14 个 .cs;移除 1 个 Unity 自动生成文件;修改 140 个既有路径,其中 139 个 .cs、1 个工程文件。
    Config 17 个文件修改;无新增、无删除。
    Localization.csv 新增 53 个 Key;修改 110 个既有 Key;删除 0 个;表头不变。
    Managed / NGUI Managed 仅 Assembly-CSharp.dll 变化;NGUI 源码与二进制均无变化。

    IMPACT TREE / 影响树

    V3.1 b13
           ├─ Assembly-CSharp:155 个路径
           │  ├─ 物品、背包与堆叠规则
           │  │  ├─ 动态最大堆叠数 MaxCount
           │  │  ├─ 按目标格位判断物品移动
           │  │  └─ ItemStackGrid / Slot / SlotGrid
           │  ├─ 鸡舍与“手持实体”系统
           │  │  ├─ ItemClassHeldEntity
           │  │  ├─ 野鸡压力与满压力事件
           │  │  └─ ChickenCoop Collector 与燃料/催化剂 UI
           │  ├─ 沙盒选项与生态生成
           │  ├─ 玩家、实体与战斗
           │  ├─ XUi、主菜单与服务器浏览器
           │  ├─ 网络、TileEntity、存档与世界状态
           │  ├─ 任务、商人、配方与经济交互
           │  └─ 平台、DLC、云存储、统计与生成代码
           ├─ Config:17 个文件
           │  ├─ 核心玩法与系统数据:8
           │  ├─ UI 与设置界面:4
           │  ├─ 世界、掉落、任务与交易:4
           │  └─ 本地化:1
           └─ NGUI:无变化

    口径说明:140 个修改路径不等于 140 个玩法类。差异同时包含业务逻辑、平台适配、分析统计、工程元数据与 Unity/Burst 自动生成代码。

    02 / 高频兼容性变化

    直接影响 DLL、Harmony、反射调用、仓储界面与 XML 扩展的变化。

    变化项 V3.1 b13 变化 直接影响
    ItemClass.MaxCount 堆叠倍率进入运行时上限,最终值限制为 30000。 容量、排序、配方、商人、拾取逻辑不再只读 Stacknumber.Value。
    CanMoveTo / Slot 物品移动判断细化到目标容器与具体格位。 背包、工具栏、拖放、整理、分页仓储与特殊槽位。
    SetCustomVar 新增 forceSendToClients,可在值未变化时强制同步。 预编译 DLL、Harmony 参数列表、反射定位、CVar 网络同步。
    TileEntityLegacyUtils 旧数据读取器显式接收 Chunk。 旧存档迁移、自定义 TileEntity、区块序列化。
    DamageSource 新增并同步 bIgnorePartyShare。 自定义伤害包、战斗补丁与队伍共享击杀逻辑。

    签名与调用细节

    2.1 ItemClass:运行时堆叠上限与槽位准入

    public static float MaxStackSizeModifier = 1f;
    public int MaxCount { get; }

    MaxCount 对“可堆叠且无品质”的物品应用全局倍率,结果上限为 30000。当前游戏规则下的最大堆叠数取 MaxCount;Stacknumber.Value 是静态 XML 基值。

    CanMoveToLocation(StackLocationTypes locationType, int slotNumber)
    CanMoveToSlot(StackLocationTypes locationType, int slot)

    2.2 ItemStack / Inventory / XUiC_ItemStack

    public bool CanMoveTo(StackLocationTypes locationType, int slotNumber = -1);

    Inventory.AddItemAtSlot、堆叠、交换与拖放链开始执行格位准入检查。源码单参数调用可继续使用默认值,但 CLR 签名已经变化。

    复核范围:预编译 DLL、Harmony 参数列表、AccessTools.Method、自定义背包与工具栏、容器、一键整理、分页存储。CollectorCatalysts 目标格位还会触发 OnPlacedAsCatalyst(…)。

    2.3 EntityBuffs.SetCustomVar

    SetCustomVar(string name, float value, bool netSync = true,
    CVarOperation operation = CVarOperation.set, bool forceSendToClients = false)

    forceSendToClients 用于数值未变化时仍向客户端同步 CVar。原版抓取可持有实体、同步压力值时使用该能力。

    2.4 ConnectionManager.BeginHeartbeat

    V3.0.1 b4:BeginHeartbeat();
    V3.1 b13:BeginHeartbeat(float seconds);

    心跳周期由分析服务配置传入。直接调用、Harmony 目标与反射签名均受影响。

    2.5 TileEntityLegacyUtils

    TryReadLegacyType(…, Chunk chunk, …, out TileEntity tileEntity)
    ReadLegacyLootIntoComposite(…, Chunk chunk, …)

    旧版 Loot、SecureLoot、LandClaim、Sign、SecureDoor 转换读取器同步增加 Chunk 参数。

    2.6 BlockShapeNew.CreateMeshFromMeshFilter

    CreateMeshFromMeshFilter(Transform transform, Vector3 modelOffset, bool snap = false);

    碰撞网格路径传入 snap: true,将顶点吸附到 0.001 精度。普通源码调用可使用默认参数,Harmony 与反射按新签名定位。

    事件、伤害与服务器筛选

    2.7 新 MinEvent:实体抓取与放下

    onSelfPickupOther
    onSelfDroppedOther
    onSelfPickedUpByOther

    抓取流程分别向玩家与被抓实体发布事件,可供 Buff、任务、GameEvent 与 MOD 自定义行为接入。

    2.8 伤害上下文

    DamageSource、ItemActionAttack、NetPackageDamageEntity 新增并同步 bIgnorePartyShare。自定义伤害包需保留该字段。

    2.9 服务器浏览器扩展点

    protected virtual void setupOptions()

    XUiC_ServerBrowserGamePrefSelectorCombo.setupOptions() 改为可覆写。新的 SandboxOption 筛选控制器复用基类 UI,并替换选项来源。

    03 / 新增的 14 个类或源码文件

    包含玩法基础类、独立物品格、Collector UI、服务器浏览器、分析统计、诊断与自动生成代码。

    功能族 新增文件 职责
    可持有实体 IsHeldItem MinEvent 条件;判断目标当前持有物是否与事件 ItemValue 一致,支持反向判断。
    可持有实体 ItemClassHeldEntity 实体物品化通用基类;处理放下、压力、声音、Buff 与工具栏槽位限制。
    鸡系统 ItemClassWildChicken 根据压力、游戏阶段和附近敌人选择满压力事件。
    独立物品格 ItemStackGrid 轻量物品格模型;保存尺寸、物品数组、锁定位与 SlotChanged 事件。
    独立物品格 XUiC_ItemStackSlot 通用格位控制器;处理图标、数量、耐久、锁定、拖放与选中状态。
    独立物品格 XUiC_ItemStackSlotGrid 将 ItemStackGrid 映射至格位控件,并处理交换和移入玩家背包。
    Collector UI XUiC_CollectorFuelWindow 管理 Collector 燃料格并提供 fuel_row_count 绑定。
    服务器浏览器 XUiC_ServerBrowserGamePrefSelectorComboSandboxOption 将 SandboxOptionManager 的布尔或数值选项转换为服务器筛选项。
    控制台诊断 ConsoleCmdLogEnvironment 新增 logenv 命令,输出进程环境变量;公开日志前需清理敏感值。
    分析统计 Services.Analytics.EventTypes 集中保存分析事件名与版本号。
    分析统计 PlayerJoinServerEventData 玩家加入服务器统计载荷;包含服务器、存档、人数、MOD 与游戏阶段信息。
    分析统计 Services.Analytics.Helper 提供服务器 ID、MOD 列表截断、登录事件与心跳启动辅助逻辑。
    分析统计 TruncateStringSerializerConverter JSON 字符串截断转换器,默认最大长度 50。
    自动生成 __JobReflectionRegistrationOutput__889207834 Unity Job 反射注册输出,属于构建基础设施,不是独立玩法 API。

    被移除的 __JobReflectionRegistrationOutput__2570913512.cs 同属自动生成文件。准确口径为“生成注册文件换代”,不代表玩法系统删除。

    04 / 140 个既有修改路径

    按 16 个功能域归纳。代表类用于快速定位,不作为互斥计数。

    A. 物品、鸡舍、沙盒与 AI

    功能域 代表类 变化摘要
    4.1 物品 / 背包 / 制作 / 交易 ItemValue、Equipment、StackSortUtil、LootContainer、RecipeQueueItem、TraderData、XUiM_PlayerInventory、XUiM_Recipes 容量、拾取、排序、商人、配方逐步改用 MaxCount;移动链加入目标格位;RecipeQueueItem.Clear() 统一清理配方、计时、修理项和来源实体状态。
    4.2 鸡舍 / 手持实体 / Collector BlockCollector、TileEntityCollector、EntityAlive、EntityAnimal、EntityItem、EntityClass、XUiC_CollectorFuelGrid CollectorTypes 增加 ChickenCoop;实体接入拾取物、压力 CVar/Buff、受惊声音与持有状态;时间、投入、产出读取 SandboxOption 倍率。
    4.3 沙盒选项 / 服务器设置 EnumGamePrefs、GamePrefs、SandboxOptionManager、SandboxOptions、ConsoleCmdGetSandboxOptions、ServerState/SandboxSettings 新增堆叠、感染、饥饿/口渴、鸡舍参数;昼夜敌人/动物密度与刷新进一步拆分;选项同步进入新游戏、浏览器、控制台与 Web API。
    4.4 AI / 尸潮 / 等级限制 AIDirectorBloodMoonParty、AIHordeSpawner、AIWanderingHordeSpawner、EntityGroups、EntityFactory 尸潮与血月按 SandboxOption 最大实体等级筛选候选;无合法实体时取消生成并记录警告。

    B. 生态、玩家、战斗与任务

    功能域 代表类 变化摘要
    4.5 生物群系 / 生态刷新 BiomeSpawnEntityGroupData、BiomeSpawningFromXml、ChunkAreaBiomeSpawnData 生成类型从 isanimal 布尔值扩展为 Normal / Animal / Rare;昼夜敌人、动物密度和刷新延迟使用更细的独立参数。
    4.6 玩家状态 / 移动 / 重生 EntityPlayerLocal、PlayerEntityStats、EntityStats、PlayerStealth、PlayerMoveController、RespawnProgress 饥饿与口渴应用新倍率;手持动物压力影响潜行吸引半径;重生增加碰撞体等待与地形高度回退。
    4.7 战斗 / 无人机 / 炮塔 / 载具 ItemActionAttack、NetPackageDamageEntity、EntityDrone、EntityTurret、EntityVehicle、DamageSource 伤害包同步 bIgnorePartyShare;EntityDrone.LoadMods 主要增加空值安全检查,签名未变;其余为局部兼容和状态调整。
    4.8 任务 / 任务界面 Quest、DialogActionAddQuest、XUiC_QuestOfferWindow 扩展完整任务重置流程;重复任务和特殊任务的接受、关闭行为更明确;Config 同步调整起始任务与部分商人任务入口。

    C. 存档、世界、网格与通用 XUi

    功能域 代表类 变化摘要
    4.9 TileEntity 网络 / 旧存档 NetPackageTileEntity、TileEntity、TileEntityComposite、TileEntityLegacyUtils、TileEntityPowerSource、TileEntityWorkstation 增加方块 ID 校验;载荷长度 ushort 扩大为 int;应用包前核对方块类型;旧 TileEntity 转换显式携带 Chunk。
    4.10 Region / 世界状态 / 天气 RegionFileV2、World、WorldState、WeatherManager Region 优化写入增加同步保护;天气状态先形成内存快照,再由 WorldState 统一保存和读取。
    4.11 世界生成 / 方块网格 BlockShapeNew、ChunkProviderGenerateWorldFromRaw、PathingUtils、RawStamp、StampManager、WorldBuilder 碰撞网格增加可选坐标吸附;世界生成差异混有 Burst 标识与生成代码,不能仅凭文本量判断算法重写。
    4.12 通用 XUi / 列表 / 拖放 XUiC_List、XUiController、XUiC_DragAndDropWindow、XUiC_ItemInfoWindow、XUiC_RequiredItemStack、XUiV_GamepadIcon 修正短列表负索引;输入设备样式可强制刷新;拖放窗口保留前一个 ItemStack;图标和计数改用运行时堆叠规则。

    D. 菜单、平台、统计与生成元数据

    功能域 代表类 变化摘要
    4.13 主菜单 / 新游戏 / 继续游戏 MainMenuMono、XUiC_NewGame、XUiC_NewContinueBase、XUiC_PlayGameMenu、XUiC_OptionsController、XUiC_OptionsDialogBase 记录新游戏创建状态并刷新 Play 列表;Controller Icon Style 改用更直接绑定;扩展 SandboxOption 页面和服务器筛选。
    4.14 平台 / 联机 / Discord / DLC ConnectionManager、InviteManager、DiscordManager、SessionsClient、RemoteFileStorage、DownloadableContentValidator EOS 结果本地复核布尔、整数和字符串条件;Discord 增加临时账号关联/解绑状态及私信静音偏好;会话、邀请、DLC、云存储局部适配。
    4.15 分析统计 / 诊断 GameManager、BaseEventData、LoginEventData、HeartbeatEventData、ServerStartEventData、BacktraceUtils 增加玩家加入事件、存档 ID、游戏平台分支、MOD/XML 修改信息;心跳由服务配置;MOD 列表与字符串字段增加数量或长度限制。
    4.16 版本 / 工程 / 生成元数据 Constants、AssemblyInfo、StockFileHashes、Assembly-CSharp.csproj、Burst 初始化器、MonoScript 类型表、Job 注册输出 更新版本、程序集信息与原版哈希;大面积生成代码差异主要来自重新生成,不能与手写玩法逻辑等量解读。

    05 / Config 的 17 个修改文件

    无新增、无删除。变化集中在核心系统数据、XUi、世界与交易、本地化。

    CONFIG TREE / 文件树

    核心玩法与系统数据 / 8 blocks.xml · items.xml · buffs.xml · gameevents.xml · entityclasses.xml · progression.xml · recipes.xml · sounds.xml
    UI 与设置界面 / 4 XUi_InGame/templates.xml · XUi_InGame/windows.xml · XUi_Menu/templates.xml · XUi_Menu/windows.xml
    世界、掉落、任务与交易 / 4 spawning.xml · loot.xml · quests.xml · traders.xml
    本地化 / 1 Localization.csv

    5.1 Chicken Coop:跨系统功能链

    鸡舍不是单独新增一个方块,而是一条横跨生产、抓鸡、压力事件、食物、技能解锁与 UI 的完整功能链。

    文件 主要变化
    blocks.xml 新增 cntChickenCoop;定义饲料、鸡只催化槽、蛋/羽毛/鸡产出、升级槽与动态输出格。
    items.xml 新增鸡饲料、野鸡、家鸡、三个鸡舍升级件、四种鸡肉料理与 Big Beak 外观套装,共 14 个物品。
    buffs.xml 新增 10 个鸡相关 Buff,覆盖持鸡压力、满压力事件与食物增益。
    gameevents.xml 新增 5 个压力事件序列,可触发丢鸡、愤怒鸡、僵尸狂暴、尸群或杀人鸡。
    entityclasses.xml animalChicken 接入拾取物、压力 CVar/Buff 与紧张声音。
    progression.xml 鸡舍与升级件进入工作站技能;四种料理进入烹饪技能。
    recipes.xml 新增鸡舍、鸡饲料、升级件与料理等 9 个配方。
    sounds.xml 增加鸡攻击、挣扎与满压力音效。
    foodRoadrunnerChickenJerky RunSpeed +20%
    foodChickenNuggets CarryCapacity +27
    foodChickenWings 提高近战伤害,并提供感染抗性。
    wildChicken 仅能在特定槽位与工具带之间移动;不能按普通物品方式丢弃;移动会累积压力。

    5.2 – 5.6 其余 Config 变化

    服务器浏览器转向 SandboxOption 数据

    XUi_Menu/templates.xml 新增 browsergameoptionsandbox;XUi_Menu/windows.xml 将 26 个服务器浏览器控件由 browsergameoptioncombined 迁移至新模板。覆盖 XP、昼夜、血月、僵尸速度与感知、空投、生态区进度、风暴、方块伤害、掉落、死亡惩罚、敌人生成与每日任务限制。旧控件名 XPath 需重新核对目标数量和节点名称。

    spawning.xml:生成属性规则变化

    原属性
    isanimal=”true”
    新属性
    type=”animal”

    荒漠和雪地的部分昼夜僵尸项新增 type=”rare”,并调整刷新延迟。仍修改 isanimal 的 XPath 可能不再命中。

    XUi 与设置界面

    · Collector 催化剂窗口改用 CollectorFuelWindow,并按 fuel_row_count 动态计算高度。
    · World Size 快捷值扩展为 2048 至 10240 的更细档位。
    · SandboxOption 显示网格由每列 20 行扩大为 30 行。
    · Prefab Editor Help、Discord Login 与若干选项窗口调整尺寸、按钮和绑定。
    · Item 图标、工作站燃料格和按钮区域有少量透明度与 depth 修正。

    掉落、商人、任务与进度

    · loot.xml 新增 groupRareElectrical,当前包含 solarCell;电气设备与 Solar Cell 的掉落入口扩展。
    · traders.xml 新增载具 MOD 和无人机 MOD 交易组并加入通用 MOD 池;部分商人出售鸡饲料。
    · progression.xml 将鸡舍、升级件与四种料理插入既有技能阶梯;部分显示 tier 重新编号。
    · quests.xml 删除起始任务自动追踪 craftlandclaim challenge 的动作;五名商人的埋藏物资介绍项改用 parser 默认结束行为。

    Localization.csv

    新增 53 / 删除 0 / 修改 110 / Header 不变

    新增内容主要涉及 Chicken Coop、鸡饲料、压力事件、Big Beak 外观与 SandboxOption 文案。既有 Key 多为语言补齐、简繁中文润色、术语和描述澄清。仅有文案变化不能直接证明底层数值同步变化;数值仍以 progression、buff 或 C# 消费端为准。

    06 / MOD 作者检查表

    按 MOD 类型定位对应变化。方框用于发布后逐项记录。

    状态 MOD 类型 核对项
    仓储 / 背包 / 工具栏 / 整理 ItemClass.MaxCount、CanMoveToSlot、实际目标槽位。
    Harmony / DLL CanMoveToLocation、CanMoveTo、SetCustomVar、BeginHeartbeat、CreateMeshFromMeshFilter、TileEntity 旧读取方法的完整签名。
    Menu XUi browsergameoptioncombined XPath 命中数量;迁移至 browsergameoptionsandbox。
    生成类 XML isanimal → type=”animal”;新增 type=”rare”。
    TileEntity / 存档 新增 Chunk 上下文;NetPackageTileEntity 方块类型校验与载荷长度。
    自定义伤害包 保留并同步 bIgnorePartyShare。
    鸡舍相关 XML 方块、物品、Buff、GameEvent、实体、配方、进度、声音、XUi、本地化按完整链路核对。

    结论

    1. 堆叠上限由静态 XML 值扩展为运行时 MaxCount。
    2. 物品移动由“目标容器类型”细化为“目标容器 + 具体格位”。
    3. 鸡舍与可持有实体形成 C#、Config、XUi 联动链。
    4. 更多游戏设置进入统一 SandboxOption 体系。
    5. TileEntity、CVar 同步与常用方法出现二进制签名变化。

    XML 内容 MOD 重点核对 XPath 与跨文件引用;DLL/Harmony MOD 重点核对重新编译、精确签名与运行时行为。静态编译通过不等同于 V3.1 实机兼容。

    发布作者:Nanami / 7 Days to Die V3.1 b13 / 游戏构建号 24392370 / 基线 V3.0.1 b4

    "点赞是美意,打赏是鼓励"

    Lv.8
    冲向2023
    赠送了礼物[鲜花]
    回复
    因恶意刷帖用户过多,本版块已取消回帖金币奖励,请签到获取!>>>金币获取指南<<<

    请登录之后再进行评论

    登录
    • 大版主
    • 小版主
  • yichen
    yichen
    无限恐怖762251937/不死者末日1080207504
  • 柒月白风清
    柒月白风清
    一只小萌新,万年摸鱼党!已经脱坑了。。。
  • Cure_805
    Cure_805
    晚上在睡觉,白天在工作,不一定能及时回复,有事可以留言!
  • 至善丶丶
    至善丶丶
    群:1050040662 定制/开服/地图制作/价格公道
  • 已重置033
    已重置033
    一只爱折腾七日杀的脆皮大学生
  • 暂没有数据

    赞助广告位

  • 点击展示图片即可一键加入QQ群
    赞助广告:100R/月 目前空缺广告位:0

    分享网站

  • 繁体中文
  • 任务
  • 动态
  • 到底部
  • 帖子间隔 侧栏位置: