跳到正文

HWID-Tracker (Notification/Listing/Kick/Ban) by Area

作者:2area

静默追踪玩家硬件 ID,以启用基于 HWID 的封禁、多账号检测和操作员警报。

收藏

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

HWID Tracker(通知 / 列表 / 踢出 / 封禁)

HWID Tracker 是一个轻量级 NeoForge 实用模组,它会静默追踪连接到服务器的玩家的硬件 ID(HWID)——从而实现可靠的基于 HWID 的封禁、多账号检测以及即时管理员警报。

与按名称或 IP 封禁不同,HWID 封禁绑定的是玩家的物理硬件,因此仅靠创建新账号或切换网络来规避会困难得多。

🧩 支持多个 Minecraft 版本:1.21.1–1.21.5(一个文件)· 1.21.8 · 1.21.10 · 1.21.11 · 26.1。请从 Files 标签页下载与你的服务器 Minecraft 版本匹配的文件。

⚠️ 注意:本模组需要在服务端和客户端同时安装。请将其作为必需模组加入你的整合包。未安装该模组的玩家将无法连接。

🔒 隐私:HWID 在客户端使用 SHA-256 进行哈希处理后才会发送到服务器。原始硬件数据绝不会离开客户端。本模组不会建立任何外部网络连接——所有数据都存储在本地服务器上,多账号检测会作为本地事件暴露出来,供其他模组按需响应。


✨ 功能

  • 🔍 静默 HWID 追踪——登录时自动收集硬件数据,不会向玩家显示任何提示或通知
  • 🔨 一条命令同时封禁 HWID + UUID + IP——/hban同时覆盖全部三层封禁
  • ⏳ 临时封禁——可按指定时长封禁玩家(t:30m、t:12h、t:1d、t:2w),到期后自动解除,并在封禁界面上显示正确的到期日期
  • 🚫 多账号检测——检测到两个账号共用同一硬件时,立即踢出第二个账号
  • ✅ 绕过列表——使用 /hbypass 将受信任玩家豁免于多账号踢出,例如共用一台电脑的兄弟姐妹或已批准的小号
  • ⚙️ 可配置——可通过配置完全关闭多账号踢出,同时 HWID 追踪和手动封禁命令仍可正常工作
  • 📢 管理员警报——所有在线管理员(拥有 admin 权限)都会在多账号尝试时立即收到游戏内通知
  • 📁 每玩家 HWID 文件——每位玩家都会获得自己的 config/user-hwids/<uuid>.txt,其中包含名称、UUID、HWID 哈希、IP、首次出现和最后出现时间
  • 📋 封禁列表文件——所有封禁都存储在 config/user-hwids/bans.json 中,包含原因、封禁者名称、时间戳和可选的到期时间
  • 🔁 原版封禁集成——封禁时自动写入 banned-players.json 和 banned-ips.json,解封/到期时移除
  • ♻️ 完整解封支持——/hunban 一次性将玩家从全部三个封禁列表中移除
  • 🔎 HWID 查询命令——/hwid 显示任意玩家(在线或离线)的所有已存储数据
  • 🔌 事件 API——在 NeoForge 事件总线上触发公共 HwidMultiAccountEvent,使其他模组可以在本地响应多账号检测,而无需依赖本模组的内部实现
  • ⚡ 轻量级——无数据库、无外部连接,纯文件存储

📋 命令

所有命令都需要管理员/admin 权限。

命令 描述
/hwid <name> 显示玩家的 HWID 数据(在线或离线)—— UUID、IP、HWID 哈希、首次/最后出现时间、封禁状态
/hban <name> permanent 通过 HWID + UUID + IP 永久封禁(对在线和离线玩家均有效)
/hban <name> permanent <reason> 带自定义原因的永久封禁
/hban <name> t:<duration> 按指定时长临时封禁
/hban <name> t:<duration> <reason> 带自定义原因的临时封禁
/hunban <name> 移除玩家的所有封禁(HWID、UUID 和 IP)
/hbanlist 列出所有生效中的 HWID 封禁,包含类型(永久/临时)、到期时间、原因、封禁者和时间戳
/hbypass add <name> 将玩家豁免于多账号踢出检测(在线或离线玩家)
/hbypass remove <name> 将玩家从豁免列表中移除
/hbypass list 列出所有豁免条目,包含添加者和添加时间

支持的时长单位: m(分钟)· h(小时)· d(天)· w(周)

示例:

/hban Steve permanent Cheating
/hban Steve t:1d Griefing
/hban Steve t:30m

⚙️ 配置

服务器首次启动后,会自动创建 config/hwidtracker-server.toml:

[general]
    # If true, a joining player is kicked when their hardware ID (HWID) already
    # belongs to another player currently online (multi-account detection).
    # Set to false to disable this check entirely – HWID tracking and manual
    # /hban, /hunban, /hbanlist and /hwid commands keep working either way.
    multi_account_kick_enabled = true

🔄 工作原理

步骤 发生什么
1. 玩家加入 客户端模组静默读取主板序列号 + CPU ID + 总内存
2. 哈希 这些值被组合并使用 SHA-256 进行哈希——原始硬件数据绝不会离开客户端
3. 发送数据包 哈希通过静默自定义数据包发送到服务器
4. 封禁检查 服务器将哈希与 bans.json 进行比对——如果被封禁(且未过期),玩家将被断开连接并添加到原版封禁列表,临时封禁还会包含正确的到期日期
5. 多账号检查 如果配置中启用,服务器会检查相同的 HWID 哈希是否已在当前会话中活跃——如果是,第二个账号将被踢出,管理员会在游戏内收到提醒,并为其他模组触发 HwidMultiAccountEvent。位于 /hbypass 列表中的账号会被静默放行
6. 保存文件 玩家数据(名称、UUID、HWID、IP、时间戳)被写入 config/user-hwids/<uuid>.txt
7. 到期检查 后台任务每 60 秒运行一次——已过期的临时封禁会自动从所有封禁列表中移除

🎯 使用示例

某玩家被抓到作弊。你运行 /hban PlayerName t:7d Cheating。该模组会立即:

  • 将其从服务器踢出
  • 将其 HWID、UUID 和 IP 写入 bans.json,并设置 7 天到期时间
  • 将其添加到原版 banned-players.json 和 banned-ips.json,包含确切的解封日期和时间
  • 7 天后,封禁会在所有列表中自动解除

他们创建一个新账号并尝试在封禁期间重新加入。客户端一连接,HWID 哈希匹配 → 他们还没来得及移动就被断开连接,并显示封禁原因和到期日期,同时你会收到游戏内提醒。


📦 技术细节

Minecraft 版本 1.21.1–1.21.5(一个文件)· 1.21.8 · 1.21.10 · 1.21.11 · 26.1 — 从文件标签页中选择匹配的文件
模组加载器 NeoForge(所需版本与 Minecraft 版本匹配 — 见文件列表)
Java 版本 21(Minecraft 1.21.x 文件)· 25(Minecraft 26.1 文件)
侧 客户端 + 服务端(两端都需要)
外部连接 无 — 所有数据都保留在你的服务器上
依赖 无(OSHI 已随游戏捆绑)
模组 ID hwidtracker
配置 config/hwidtracker-server.toml
存储 config/user-hwids/
HWID 组件 主板序列号 · CPU 标识符 · 总内存

© 2area | Discord: 2area | CurseForge: https://www.curseforge.com/members/2area/projects | 保留所有权利。

常见问题

HWID-Tracker (Notification/Listing/Kick/Ban) by Area 支持哪些 Minecraft 版本?

HWID-Tracker (Notification/Listing/Kick/Ban) by Area 支持 Minecraft Java 版 1.21.1–26.1,共 8 个版本,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。

HWID-Tracker (Notification/Listing/Kick/Ban) by Area 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

2area 的其他作品

查看全部 →