Table of Contents

Class ServerAddresses

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

Serializable class containing a list of server ports and a one-time connection token for real-IP recovery on the game server.

[Serializable]
public class ServerAddresses
Inheritance
ServerAddresses
Inherited Members

Remarks

Deserialized from the IPFetch /loginserver response with FromJson<T>(string), which only binds plain serialized fields. These must NOT be auto-properties with [field: SerializeField]: Unity serializes such a property under its compiler-generated backing field name (<Ports>k__BackingField), which never matches the Ports key in the JSON, so every field silently stays at its default and the client finds no login server and no connection token. The property names must also keep matching the PascalCase JSON emitted by LoginServerController (its host explicitly disables camelCase naming) — JsonUtility is case-sensitive.

Fields

Addresses

List of available server addresses (internal use).

public List<ServerAddress> Addresses

Field Value

List<ServerAddress>

ConnectionToken

One-time connection token issued by IPFetch. The client echoes this in the first ClientHandshake so the Login Server can recover the real client IP that was visible to the HTTP layer (X-Forwarded-For) but is lost through the L4 UDP proxy.

public string ConnectionToken

Field Value

string

Ports

List of available server ports (client use).

public List<ushort> Ports

Field Value

List<ushort>