
如何钓鱼身份API
HowtoFishIdentityAPI是How to Fish模组的共享身份验证API。它为服务器权威模组提供稳定且可验证的玩家密钥。
查看大图说明:本描述为中英双语版本,中文内容位于英文内容下方。
注:本描述为中英双语版本,英文内容在上方。
---
## HowtoFishIdentityAPI(英文)
HowtoFishIdentityAPI 是供 How to Fish 模组使用的共享身份验证 API。它能为服务器权威模组提供一个稳定且经过验证的玩家标识。
### 主要功能
* 使用由游戏 Steam 传输确认的 SteamID 验证 Steam 玩家。
* 使用本地 RSA 密钥和服务器签发的挑战验证非 Steam 玩家。
* 验证完成后,提供如 steam:<SteamID> 或 key:<公钥哈希> 的稳定标识。
* 使用专属的 FishNet 广播进行握手。
* 提供验证事件,以便依赖模组初始化服务器端玩家数据。
### 给玩家
此模组是一个 API/依赖模组。它本身不添加游戏玩法、界面、命令或货币。
当其他 How to Fish 模组将 HowtoFishIdentityAPI 列为前置要求时,请安装它。如果依赖的模组是多人游戏,主机和参与的客户端应按照该模组的说明安装所需依赖。
非 Steam 身份密钥存储在本地:
text <br />Saves/HowtoFishIdentityAPI.identity <br />
请勿分享此文件。复制的非 Steam 身份文件可被用于冒充该身份。此 API 仅确认密钥的持有权;它并非权限、封禁或反作弊系统。
### 给模组作者
引用 HowtoFishIdentityAPI.dll 并添加一个 BepInEx 硬依赖:
csharp <br />using BepInEx; <br />using FishNet.Connection; <br />using HowtoFishIdentityAPI.Api; <br /> <br />[BepInPlugin(PluginInfo.PLUGIN_GUID, "My Mod", "1.0.0")] <br />[BepInDependency("IceBoxStudio.HowToFish.IdentityAPI", "1.0.0")] <br />public sealed class MyPlugin : BaseUnityPlugin <br />{ <br /> private void Awake() <br /> { <br /> IdentityApi.Verified += OnVerified; <br /> } <br /> <br /> private void OnVerified(NetworkConnection connection) <br /> { <br /> if (IdentityApi.TryGetKey(connection, out string key)) <br /> { <br /> // 使用 key 加载或创建服务器端数据。 <br /> } <br /> } <br />} <br />
实用的 API 方法:
* IdentityApi.IsVerified(NetworkConnection) 检查一个连接是否已完成验证。
* IdentityApi.IsVerified(Player) 检查一个玩家当前的连接。
* IdentityApi.TryGetKey(NetworkConnection, out string key) 返回已验证的稳定标识。
* IdentityApi.TryGetKey(Player, out string key) 返回一个玩家已验证的标识。
* IdentityApi.IsSteam(NetworkConnection) 和 IdentityApi.IsSteam(Player) 识别 Steam 传输身份。
* IdentityApi.Verified 在服务器端连接验证后触发。
身份握手使用 IdentityHelloBroadcast、IdentityChallengeBroadcast 和 IdentityProofBroadcast。不要为了实现自定义协议而修补或读取 Server.RpcReader___SendChatMessage___3264264606。
### 兼容性
* 游戏版本:1.0.9+
* BepInEx:5.4.23.5+
### 安装方法
1. 下载并安装 BepinEx 5 5.4.23.5。
2. 将模组解压到游戏根目录。压缩包已包含 BepInEx\plugins 文件夹结构。
### Bug 提交 & 新功能建议
如果你有任何问题或功能建议,请通过 GitHub Issues 提交,或在 Discord 上联系 iceboxcool,或发送邮件至 764884112@qq.com 或 ibox2333@gmail.com。
---
如果你喜欢我的模组,请支持我一下吧!
---
## HowtoFishIdentityAPI(中文)
HowtoFishIdentityAPI 是供 How to Fish 模组使用的共享身份验证 API。它为需要服务器权威身份的模组提供稳定、经过验证的玩家标识。
### 主要功能
* 使用游戏 Steam 传输确认的 SteamID 验证 Steam 玩家。
* 使用客户端本地 RSA 密钥和服务器随机挑战验证非 Steam 玩家。
* 验证完成后提供稳定身份键,例如 steam:<SteamID> 或 key:<公钥哈希>。
* 使用独立 FishNet 广播完成握手。
* 提供身份验证完成事件,方便其他模组在服务器端初始化玩家数据。
### 给玩家
这是一个 API/依赖模组,本身不会添加玩法、UI、命令或金钱功能。
当其他 How to Fish 模组要求安装 HowtoFishIdentityAPI 时,请按该模组的说明安装。联机模组通常需要房主和参与游戏的客户端都安装所需依赖。
非 Steam 身份密钥保存在:
text <br />Saves/HowtoFishIdentityAPI.identity <br />
请不要分享这个文件。复制非 Steam 身份文件后,其他人可能冒用对应身份。本 API 只确认客户端是否持有对应密钥,不负责权限、封禁或反作弊。
### 给模组作者
在项目中引用 HowtoFishIdentityAPI.dll,并添加 BepInEx 硬依赖:
csharp <br />using BepInEx; <br />using FishNet.Connection; <br />using HowtoFishIdentityAPI.Api; <br /> <br />[BepInPlugin(PluginInfo.PLUGIN_GUID, "My Mod", "1.0.0")] <br />[BepInDependency("IceBoxStudio.HowToFish.IdentityAPI", "1.0.0")] <br />public sealed class MyPlugin : BaseUnityPlugin <br />{ <br /> private void Awake() <br /> { <br /> IdentityApi.Verified += OnVerified; <br /> } <br /> <br /> private void OnVerified(NetworkConnection connection) <br /> { <br /> if (IdentityApi.TryGetKey(connection, out string key)) <br /> { <br /> // 使用 key 加载或创建服务器端玩家数据。 <br /> } <br /> } <br />} <br />
常用 API:
* IdentityApi.IsVerified(NetworkConnection):判断连接是否已完成验证。
* IdentityApi.IsVerified(Player):判断玩家当前连接是否已完成验证。
* IdentityApi.TryGetKey(NetworkConnection, out string key):读取已验证的稳定身份键。
* IdentityApi.TryGetKey(Player, out string key):读取玩家已验证的身份键。
* IdentityApi.IsSteam(NetworkConnection) 和 IdentityApi.IsSteam(Player):判断身份是否来自 Steam 传输。
* IdentityApi.Verified:服务器完成身份验证后触发。
身份握手使用 IdentityHelloBroadcast、IdentityChallengeBroadcast 和 IdentityProofBroadcast。不要为了实现自定义协议而补丁或读取 Server.RpcReader___SendChatMessage___3264264606。
### 兼容性
* 游戏版本:1.0.9+
* BepInEx:5.4.23.5+
### 安装方法
1. 下载并安装 BepinEx 5 5.4.23.5。
2. 将模组解压到游戏根目录即可,压缩包内置 BepInEx\plugins 路径。
### Bug 提交 & 新功能建议
如果你有任何问题或新功能建议,请通过 GitHub Issues 提交,也可以通过 Discord:iceboxcool,或邮箱 764884112@qq.com 或 ibox2333@gmail.com 联系我。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。