ASIcrisp/Dead-Island-Limit-Adjuster

GitHub: ASIcrisp/Dead-Island-Limit-Adjuster

一款《死亡岛》(2011 原版)的引擎限制调整模组,通过提升活跃 AI 预算上限让场景中可同时存在更多丧尸。

Stars: 0 | Forks: 0

# 死亡岛限制调整器(2011 版) 死亡岛限制调整器提升了原版游戏的存活 AI 预算,使得自定义生成器能够让更多的丧尸保持活跃状态,而不会受到原版 25 个 AI 上限的回收限制。它还公开了密度、可选的尸体保留、进程工作集调整、预设、严格的构建验证以及诊断日志。 ## 支持的游戏 - 适用于 Windows 的原版死亡岛(2011 年发布),32 位 - 提供日期为 2012 年 1 月 13 日的补丁可执行文件集 - `game_x86_rwdi.dll` 时间戳:`0x4F10070E` - `game_x86_rwdi.dll` SHA-256:`dccb7840b73ca04200d7d7e1e7eb6d3846ee954bb502b74da763e56c5ad63785` 这不适用于死亡岛:终极版或激流版。默认情况下会拒绝未知的构建版本,而不是盲目地进行地址补丁。 ## 更改内容 | 设置 | 零售版 | 发布默认值 | 目的 | | --- | ---: | ---: | --- | | 最佳活跃 AI | 15 | 128 | 延迟大群丧尸下的相关性降低 | | 最大活跃 AI | 25 | 256 | 提升存活 AI 准入上限 | | 丧尸密度 | 1.00x | 1.00x | 在你提高它之前保持正常人口数量不变 | | 尸体清理 | 启用 | 启用 | 可通过 `PreserveDeadBodies=1` 单独禁用 | | 进程工作集 | Windows 管理 | 256–2047 MB 软目标 | 减少激进的修剪而不增加硬性上限 | 该模组本身不会生成丧尸。它移除了阻止地图脚本、开发者命令、修改器或其他模组维持大群丧尸存活的全局低预算限制。 ## 安装说明 仅使用一种加载方法。 ### 独立方法 1. 打开包含 `DeadIslandGame.exe` 的文件夹。 2. 将 `winmm.dll` 和 `DeadIslandLimitAdjuster.ini` 复制到该文件夹中。 3. 启动游戏。 4. 进入菜单后检查 `DeadIslandLimitAdjuster.log`。它应该显示 `Build validation: exact supported build` 和 `AI limit enforcement: active`。 独立的 WinMM 代理会转发所提供的引擎导入的每一个 WinMM 函数。它可以与单独的 `dsound.dll` 模组(如 rich-presence 或 crash-dump 包装器)共存。 ### 现有 ASI loader 方法 1. 请勿安装此版本的 `winmm.dll`。 2. 将 `DeadIslandLimitAdjuster.asi` 和 `DeadIslandLimitAdjuster.ini` 复制到 `DeadIslandGame.exe` 旁边。 3. 让你现有的 ASI loader 加载该插件。 请勿同时安装 `winmm.dll` 和 `DeadIslandLimitAdjuster.asi`;这会导致调整器被启动两次。 ## 预设 - `Balanced.ini`:64 最佳 / 128 最大。在普通 CPU 上进行初步测试的最佳选择。 - `Horde.ini`:128 最佳 / 256 最大,2 倍密度。 - `Extreme.ini`:256 最佳 / 512 最大,4 倍密度。在拥挤区域预计会出现严重的 CPU 负载。 要使用预设,请将其重命名为 `DeadIslandLimitAdjuster.ini` 并将其放置在 DLL 或 ASI 旁边。 ## 重要限制 “无限内存”在技术上是不可能的。死亡岛是一个 32 位进程。提供的可执行文件已经是 Large Address Aware(大地址感知),但其地址空间仍然是有限的,并且引擎仍然需要 world streaming 来卸载远处的地图资源。完全禁用 world streaming 会增加崩溃和关卡过渡损坏,而不是修复它们。 因此,此模组更改了安全且相关的限制: - 存活 AI 准入/相关性预算; - 生成密度缩放; - 可选的正常击败 AI 清理例程; - Windows 工作集目标; - 构建验证以及关卡过渡后的持续重新应用。 它不会永远保持每个地图区块、纹理、网格、声音、物理实体和被击败的 AI 处于加载状态。这些系统共享同一个有限的 32 位地址空间。 包含的 DLL 已交叉编译并针对提供的二进制文件进行了静态验证。由于此环境无法启动 Windows 游戏,因此首次游戏内检查是上述生成的日志。 ## 推荐测试顺序 1. 从默认的 128/256 配置和 `PreserveDeadBodies=0` 开始。 2. 确认日志识别出确切的构建版本。 3. 以 25 个为步长生成丧尸,并观察帧时间和内存使用情况。 4. 在提高密度之前先提高 `MaximumActiveAI`。 5. 仅在短期测试中启用 `PreserveDeadBodies`;尸体消耗预算和内存的速度比存活 AI 更快。 如果丧尸仍在特定门口或地图边界消失,通常是脚本化的生成盒停用或关卡 streaming 过渡,而不是全局 25 个 AI 的上限。该模组有意不去绕过这些地图安全过渡。 ## 从源码构建 Visual Studio 2022 配合 CMake: ``` build_vs2022.bat ``` 选择 Win32/x86 平台。游戏无法加载 64 位的 DLL。 ## 卸载说明 删除已安装的 `winmm.dll` 或 `DeadIslandLimitAdjuster.asi`、INI 文件以及生成的日志。不会修改任何存档数据或原版游戏文件。
标签:Bash脚本, DLL注入, 内存修改, 单机游戏, 参数调优, 客户端加密, 流量审计, 游戏Mod