HowtoFishIdentityAPI

v1.0.1·Updated 2026-09-06

HowtoFishIdentityAPI is a shared identity verification API for How to Fish mods. It gives server-authoritative mods a stable, verified player key.

About this mod Machine translation

Note: This description is bilingual. The Chinese section is provided below the English section.

Note: This description is a bilingual version in Chinese and English. The Chinese content is located below the English content.

HowtoFishIdentityAPI (English)

HowtoFishIdentityAPI is a shared identity verification API for How to Fish mods. It gives server-authoritative mods a stable, verified player key.

Main Features

  • Verifies Steam players with the SteamID confirmed by the game's Steam transport.
  • Verifies non-Steam players with a local RSA key and a server-issued challenge.
  • Exposes a stable key such as steam: or key: after verification.
  • Uses dedicated FishNet broadcasts for the handshake.
  • Provides a verification event so dependent mods can initialize server-side player data.

For Players

This mod is an API/dependency. It does not add gameplay, UI, commands, or currency by itself.

Install it when another How to Fish mod lists HowtoFishIdentityAPI as a requirement. If the dependent mod is multiplayer, the host and participating clients should install the required dependency as instructed by that mod.

Non-Steam identity keys are stored locally in:

Saves/HowtoFishIdentityAPI.identity

Do not share this file. A copied non-Steam identity file can be used to impersonate that identity. This API confirms possession of the key; it is not a permission, ban, or anti-cheat system.

For Mod Authors

Reference HowtoFishIdentityAPI.dll and add a hard BepInEx dependency:

using BepInEx;

using FishNet.Connection;

using HowtoFishIdentityAPI.Api;

[BepInPlugin(PluginInfo.PLUGIN_GUID, "My Mod", "1.0.0")]

[BepInDependency("IceBoxStudio.HowToFish.IdentityAPI", "1.0.1")]

public sealed class MyPlugin: BaseUnityPlugin

{

private void Awake()

{

IdentityApi.Verified += OnVerified;

}

private void OnVerified(NetworkConnection connection)

{

if (IdentityApi.TryGetKey(connection, out string key))

{

// Load or create server-side data using key.

}

}

}

Useful API methods:

  • IdentityApi.IsVerified(NetworkConnection) checks whether a connection has completed verification.
  • IdentityApi.IsVerified(Player) checks a player's current connection.
  • IdentityApi.TryGetKey(NetworkConnection, out string key) returns the verified stable key.
  • IdentityApi.TryGetKey(Player, out string key) returns the verified key for a player.
  • IdentityApi.TryGetLocalKey(Player, out string key) resolves the local player's key on the client for UI filtering; it is not a server authorization check.
  • IdentityApi.IsSteam(NetworkConnection) and IdentityApi.IsSteam(Player) identify Steam transport identities.
  • IdentityApi.Verified fires on the server after a connection is verified.

The identity handshake uses IdentityHelloBroadcast, IdentityChallengeBroadcast, and IdentityProofBroadcast. Do not patch or read Server.RpcReader___SendChatMessage___3264264606 for custom protocols.

Compatibility

  • Game version: 1.0.12+
  • BepInEx: 5.4.23.5+

Bug Reports & Feature Suggestions

If you have any questions or feature suggestions, please submit them through GitHub Issues, contact me on Discord at iceboxcool, or email 764884112@qq.com or ibox2333@gmail.com.

If you enjoy my mods, feel free to support me! / If you like my mods, please support me!

 

HowtoFishIdentityAPI (Chinese)

HowtoFishIdentityAPI is a shared authentication API used by the How to Fish module. It provides stable, verified player identities for mods that require a server's authoritative identity.

Main functions

  • Authenticate Steam players using the SteamID confirmed by the game's Steam transfer.
  • Authenticate non-Steam players using client local RSA keys and server random challenges.
  • Provide a stable identity key after verification, such as steam: or key:.
  • Complete handshake using standalone FishNet Broadcast.
  • Provide authentication completion events to facilitate other modules to initialize player data on the server side.

to players

This is an API/dependency mod and does not add gameplay, UI, command or money …

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
  3. For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
  4. Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.

Install locations vary a lot between mods — the bundled readme is the most reliable guide.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPack

File & checksum

Filename
HowtoFishIdentityAPI-1.0.1.zip
File size
129.3 KiB