下载量
30,613
关注数
5
数据来源
Modrinth
模组详细介绍
你是否在运行一个服务器,偶尔会遇到一些你想摆脱的玩家,但他们总是通过备用账号和VPN不断回来?现在,你有机会基于硬件ID而不是不可靠的IP、皮肤或行为来识别他们的账号了!
这个模组的功能
- 这个模组注册了一个空参数,如果你的服务器安装了它,客户端就必须包含此参数。试图从模组包中移除它的玩家将无法加入你的服务器。
- 当玩家加入你的服务器时,客户端会根据玩家的硬件计算一个半唯一的哈希值,然后由服务器存储(
/config/hwid),同时存储账号的UUID。
这个模组不做什么
- 根据硬件ID自动封禁玩家
- 提供在游戏中轻松查找多个玩家硬件ID的方法
那么如何使用它?
查看下面的一些示例脚本,我不想把以下两点埋在代码块下面,因为它们非常重要,需要阅读。
隐私
虽然硬件ID听起来具有侵入性,但它比IP地址的机密性要低得多。硬件ID是在客户端使用SHA-256算法计算的,该算法是不可逆的,因此服务器操作员无法获取有关使用什么硬件的信息。硬件ID只能用于区分不同的硬件配置。
限制
- 硬件ID是半唯一的。如果玩家升级了电脑或完全更换了电脑,它会改变。如果玩家恰好拥有相同的电脑,例如常见的预装机,他们也可能拥有相同的硬件ID。序列号(如果存在)会包含在哈希计算中,以尽量减少这种情况的发生。
- 具备Java知识的专门捣乱者可以反编译这个模组并创建一个恶意版本,每次加入时发送随机或特定的硬件ID。
Bash
#!/bin/bash
destination_path="/home/minecraftserver/config/hwid"
for file in "$destination_path"/*
do
line_count=$(wc -l 1: # 检查文件中是否有多于一行
result = "" # 初始化结果字符串
for line in lines:
uuid = line.strip() # 从每一行获取UUID
response = requests.get(f"https://sessionserver.mojang.com/session/minecraft/profile/{uuid}") # 向Mojang API发送GET请求以获取玩家个人资料
name = json.loads(response.text)['name'] # 从响应中提取玩家名称
result += f"{uuid} - {name}\n" # 将UUID和名称追加到结果字符串
if search in result: # 检查结果中是否存在搜索字符串
print(result) # 打印结果 基本信息
模组名称HWID
作者lunofe
下载量30,613
关注数5
支持版本1.20.1 - 1.21.11
加载器forge / neoforge
客户端required
服务端required