Table of Contents

Struct ClientHandshake

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

Broadcast sent by the client to initiate a handshake, containing the ephemeral X25519 public key for ECDH key agreement and supported protocol version range.

public struct ClientHandshake : IBroadcast
Implements
IBroadcast
Inherited Members

Fields

ConnectionToken

One-time connection token from the IPFetch HTTP API. Used by the Login Server to recover the real client IP that was lost through the L4 UDP proxy. Null or empty for World/Scene server reconnections (token auth path).

public string ConnectionToken

Field Value

string

Stateless cookie echoed from a prior ServerHandshake challenge. Null on the initial handshake; set when retrying after a cookie challenge.

public byte[] Cookie

Field Value

byte[]

GameVersion

Client game version string (e.g. "0.1.0"). Sent in plaintext so the server can reject mismatched clients before starting the expensive ECDH key agreement. Empty if the version is unavailable (development builds).

public string GameVersion

Field Value

string

MaxVersion

Maximum protocol version supported by this client.

public ushort MaxVersion

Field Value

ushort

MinVersion

Minimum protocol version supported by this client.

public ushort MinVersion

Field Value

ushort

PublicKey

Client's ephemeral X25519 public key (32 bytes).

public byte[] PublicKey

Field Value

byte[]