星露谷反作弊

星露谷反作弊

星露谷物语联机的主机权威反作弊工具。验证玩家模组,并检测金钱、物品栏、移动、体力、战斗和进度方面的可疑变动,具备可疑度评分、详细日志及游戏内主机控制面板。

🛡️ 星露谷反作弊

星露谷反作弊是一个为星露谷联机合作模式设计的主机权威反作弊系统。

该系统并非仅仅依赖玩家客户端报告的信息,而是将协作模组验证主机端行为验证相结合。主机通过监控同步的游戏状态,来检测涉及金钱、物品栏、移动、体力、进度、战斗以及世界活动等方面的可疑或不可能发生的变化。

其目标并非声称可以完全杜绝作弊。星露谷并非围绕竞争性的服务器权威架构设计的。相反,星露谷反作弊旨在显著增加随意作弊的难度,为主机提供有用的证据,并让私人联机服务器能够更好地控制其农场中发生的事件。


✨ 主要特性

🛡️ 主机权威监控

重要的玩家数据会通过星露谷的同步联机状态在主机端进行监控。

反作弊系统可以检测涉及以下方面的可疑行为:

  • 意外的金钱增加
  • 不可能或异常高价值的物品栏收益
  • 超出正常限制的物品堆叠
  • 过高的移动速度
  • 不可能的体力值
  • 可疑的体力恢复
  • 不可能的技能等级
  • 异常的技能经验值进度
  • 可疑的邮件、配方和进度变化
  • 大规模物体生成
  • 异常快速的怪物击杀
  • 不可能的游戏状态值
  • 可疑的每日运气变化

由于许多检查都在主机端进行,因此不会完全依赖信任客户端发送的信息。

🔍 模组验证

当玩家加入时,星谷谷反作弊会比较多个来源的信息:

  • SMAPI 的联机模组握手
  • 星露谷反作弊客户端报告
  • 模组唯一标识符 (Mod Unique IDs)
  • 模组版本
  • 可选的文件指纹
  • 定期的客户端状态报告

主机可以使用几种验证模式:

仅报告 (ReportOnly) 检测并记录问题,而不自动惩罚玩家。

黑名单 (Blacklist) 标记已配置的禁止模组。

白名单 (Whitelist) 仅允许批准的模组。

严格 (Strict) 为受控的联机环境使用更严格的验证规则。

对于大型私人模组包,主机可以使用以下命令自动从当前安装的模组创建白名单: ac_makewhitelist
使用以下命令也可以同时固定最低版本: ac_makewhitelist pin

📊 可疑度评分

星露谷反作弊使用一个可配置的可疑度评分系统,而不是将每个异常事件都视为作弊证据。 不同的违规行为根据其严重程度会增加不同的可疑度。 可疑度会随着时间衰减,有助于减少孤立误报的影响。 根据你的配置,系统可以:

  • 记录违规行为
  • 通知主机
  • 增加可疑度
  • 断开玩家连接
  • 将玩家添加到本地拒绝列表
  • 通过星露谷的联机系统封禁玩家的平台账户

自动惩罚功能在默认情况下是故意禁用的。 推荐的做法是首先以仅报告 (ReportOnly) 模式运行模组,查看日志,为你的模组包调整阈值,然后再启用自动执行功能。

🖥️ 游戏内主机面板

F9 打开反作弊界面。 此按键可以在配置文件中更改。

对于主机,面板显示以下信息:

  • 连接的玩家
  • 验证状态
  • 可疑度评分
  • 当前金钱
  • 体力
  • 物品栏信息
  • 当前位置
  • 格子坐标
  • 技能等级
  • 进度信息
  • 检测到的模组
  • 最近的违规行为

主机还可以直接从面板执行管理操作,包括:

  • 批准玩家
  • 踢出玩家
  • 将玩家添加到拒绝列表
  • 重新运行验证
  • 导出安全日志

👤 农场工人状态面板

农场工人也可以按 F9。 他们不会看到管理信息,而是会看到一个只读状态屏幕,显示他们自己的反作弊连接状态。

它可以显示是否:

  • 星露谷反作弊加载正常
  • 主机请求了验证
  • 他们的模组列表已提交
  • 主机已回复
  • 定期状态更新正常工作
  • 他们当前的验证已通过

农场工人无法看到其他玩家、主机阈值或管理信息。

📝 详细安全日志

星露谷反作弊可以创建详细日志,用于调查和故障排除。 日志包含以下信息:

  • 玩家连接事件
  • 验证结果
  • 检测到的违规行为
  • 与违规相关的证据
  • 可疑度变化
  • 强制执行操作
  • 每个玩家的活动

日志存储在星露谷反作弊模组文件夹内。 示例结构: Mods/StardewAntiCheat/logs/
包括: security.log 一般安全和验证事件。 violations.log 检测到的违规行为及其证据。 players/ 单独玩家日志。 exports/ 导出的日志快照。

🧰 主机控制台命令

星露谷反作弊包含多个管理命令。

ac_status 显示连接的玩家、验证状态和可疑度评分。

ac_stats [player] 显示实时的玩家统计数据。

ac_player <player> 显示关于某个玩家的详细反作弊信息。

ac_mods <player> 显示检测到的模组信息。

ac_kick <player> [reason] 断开玩家连接。

ac_ban <player> [reason] 通过星露谷的联机系统封禁玩家。

ac_deny <player> 将玩家添加到本地拒绝列表。

ac_allow <id> 从拒绝列表中移除一个ID。

ac_denylist 显示被拒绝和封禁的玩家。

ac_approve <player> 手动批准玩家并重置其可疑度。

ac_score <player> <value> 更改玩家的可疑度评分。

ac_makewhitelist [pin] 从主机安装的模组创建模组白名单。

ac_fingerprints 显示本地模组指纹。

ac_reload 对已连接的玩家重新运行验证。

ac_export 导出安全日志。

ac_panel 打开游戏内反作弊面板。

📥 安装

Requirements - 环境要求

  • 星露谷物语 1.6.x
  • SMAPI 4.0.0 或更新版本

当前版本是针对星露谷物语 1.6 和 SMAPI 4.x 开发的。 无需安装 Harmony 或额外的运行时模组依赖。

安装模组

  1. 安装最新兼容版本的 SMAPI
  2. 下载星露谷反作弊。
  3. StardewAntiCheat 文件夹解压到: Stardew Valley/Mods/
  4. 通过 SMAPI 启动游戏。
  5. 加载或创建一个联机农场。
  6. 模组将自动判断当前玩家是主机还是农场工人。
  7. 运行游戏一次以生成 config.json

为了完整的验证系统,主机和农场工人都应安装星露谷反作弊。 即使客户端未安装此模组,某些主机端行为检查仍然可以工作,但客户端验证将包含较少的信息。

⚙️ 首次配置建议

星露谷反作弊默认采用以监控为中心的配置。 对于新安装,强烈建议:

  1. 将验证保持在**仅报告 (ReportOnly)**模式。
  2. 保持自动踢出和封禁功能为禁用状态。
  3. 与你的联机组正常游戏。
  4. 查看 logs/violations.log
  5. 为你的特定模组包调整阈值。
  6. 在对结果感到满意后再启用强制执行。

高度模组化的游戏可能会合理地产生与原始星露谷相比看起来不寻常的行为,因此配置非常重要。

🔐 私人模组包的白名单模式

如果你服务器上的每个人都应使用相同的已批准模组包,推荐使用 白名单 (Whitelist) 模式。 无需手动输入每个模组,运行: ac_makewhitelist
星露谷反作弊将使用主机当前安装的模组生成配置。 然后将验证模式更改为: Whitelist
这使得维护受控的私人模组包变得更加容易。

⚠️ 重要限制

星露谷反作弊旨在对其能检测和不能检测的内容保持透明。

无限生命 农场工人的生命值通常不会以提供可靠主机端验证的方式同步到主机。 因此,无限生命无法被可靠检测。 然而,体力是同步的,可以被验证。

共享金钱 当农场使用共享钱包时,多个玩家可以修改同一个同步的金钱值。 反作弊可以检测可疑变化,但归因于某个特定玩家可能并不总是可靠的。 独立钱包提供更好的归因。

战斗 星露谷并未向主机提供每次攻击和伤害事件的完整同步历史。 因此,战斗检测依赖于间接信号,其可靠性应低于金钱或物品栏验证。

客户端模组信息 一个经过充分修改的客户端有可能伪造其发送的信息。 因此,客户端报告的模组列表和哈希不应被视为加密证明。 最强的保护是基于主机直接观察到的游戏状态的检查。

主机受信任 主机是星露谷联机中的权威。 星露谷反作弊旨在管理农场工人,而非防止主机修改他们自己的游戏。

🔒 隐私

星露谷反作弊无需将玩家数据上传到外部服务。 安全信息由主机本地存储。 根据配置,日志可能包含:

  • 游戏内农民名称
  • 联机ID
  • 平台账户ID(可用时)
  • 检测到的模组信息
  • 与违规相关的证据

玩家名称也可以通过配置从日志中排除。 可选的训练器/进程检测在默认情况下为禁用状态。如果启用,它仅用于比较配置的可疑进程名称;并非设计用于传输玩家的完整进程列表。

🎯 此模组的用途

星露谷反作弊主要用于:

  • 私人联机服务器
  • 社区农场
  • 受控模组包
  • 联机活动
  • 主机需要管理工具的服务器
  • 希望了解可疑行为的团体

并非旨在将星露谷变成一个完全安全的竞争性游戏。 其目的是给主机提供更好的信息、更好的日志和更好的工具,同时让常见形式的作弊行为更难隐藏。

兼容性

星露谷物语: 1.6.x SMAPI: 4.0.0+ 当前模组版本: 1.0.0 无需额外的运行时依赖。

致谢

为星露谷物语联机社区而制作。 特别感谢 ConcernedApeSMAPI 项目以及星露谷物语模组社区,是他们让这样的项目成为可能。


从仅报告模式开始,查看你的日志,为你的模组包进行配置,并在你准备好时才启用自动强制执行。