6. HWID 设备验证模块

设备指纹(HWID)验证相关接口。通过浏览器采集设备指纹(Canvas + GPU ID)绑定到玩家,用于反作弊机器验证。

6.1 拉起设备验证

由服务端(如 MCDR)调用,为玩家创建设备验证会话,返回验证链接。

接口: POST /hwid/upd

请求参数:

JSON
{ "token": "aBcD1234EfGh5678IjKlMnOpQrSt", "player_id": "player123", "ip": "192.168.1.1" }
ParameterTypeRequiredDescription
tokenstringYes认证 Token
player_idstringYes玩家ID(无记录时必填)
ipstringNo期望 IPv4 地址(用于 IP 一致性校验)
ipv6stringNo期望 IPv6 地址

请求示例:

Bash
curl -X POST https://api.ndpreforged.com/hwid/upd \ -H "Content-Type: application/json" \ -d '{"token": "aBcD1234EfGh5678IjKlMnOpQrSt", "player_id": "player123"}'

响应示例 (200 OK):

JSON
{ "session_id": "3f8a2c9e-...", "verify_url": "https://api.ndpreforged.com/hwid/verify/page/3f8a2c9e-...?code=...", "verify_code": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e", "expires_at": 1755384000, "message": "请玩家访问以下链接完成设备验证: https://..." }

6.2 查询验证状态

MCDR 每秒轮询此接口,获取验证完成状态与封禁判定。

接口: POST /hwid/upd/check

ParameterTypeRequiredDescription
tokenstringYes认证 Token
session_idstringYes验证会话ID

响应示例 (200 OK):

JSON
{ "completed": true, "status": "completed", "player_id": "player123", "banned": false }