Search Results for

    Show / Hide Table of Contents

    Class SteamTransport

    Transport for FishNet integration.

    Inheritance
    System.Object
    SteamTransport
    Namespace: KaijuSolutions.SteamMultiplayerEngine.FishNet
    Syntax
    public sealed class SteamTransport : Transport

    Fields

    autoConnect

    If we want to automatically connect with FishNet when we join a lobby. Disabling could be used to implement a waiting room where players could choose characters or ready up before starting the actual game.

    Declaration
    public bool autoConnect
    Field Value
    Type Description
    System.Boolean

    autoDisconnect

    If we want to automatically disconnect from the lobby when FishNet disconnects. Disabling could allow you to implement a character select screen or ready up screen you can return to or attempt to create custom host migration.

    Declaration
    public bool autoDisconnect
    Field Value
    Type Description
    System.Boolean

    FishNetIdKey

    Lobby member data key to sync the FishNet ID. Note that as this is not directly part of the core library, there are no blocks stopping you from manually setting this elsewhere; you must ensure that yourself.

    Declaration
    public const string FishNetIdKey = "_i"
    Field Value
    Type Description
    System.String

    Properties

    Channel

    What channel to send and receive messages on. Ensure this is different from the lifetime channel and the voice channel on the SteamManager.

    Declaration
    public int Channel { get; set; }
    Property Value
    Type Description
    System.Int32

    Lifetime

    What channel to use for connection and disconnect messages. Ensure this is different from the data channel and the voice channel on the SteamManager.

    Declaration
    public int Lifetime { get; set; }
    Property Value
    Type Description
    System.Int32

    Methods

    Assign()

    Assign this as the transport.

    Declaration
    public bool Assign()
    Returns
    Type Description
    System.Boolean

    If this was assigned or already was assigned.

    AssignBindable()

    Assign this as the transport.

    Declaration
    public void AssignBindable()

    Connect()

    Handle manually starting FishNet if auto connect is disabled.

    Declaration
    public static bool Connect()
    Returns
    Type Description
    System.Boolean

    If the networking was started or was already running.

    ConnectBindable()

    Handle manually starting FishNet if auto connect is disabled.

    Declaration
    public static void ConnectBindable()

    Disconnect()

    Handle manually stopping FishNet.

    Declaration
    public void Disconnect()

    FishNetToSteam(Int32)

    Get the corresponding Steam ID for a FishNet ID.

    Declaration
    public static ulong FishNetToSteam(int fishnet)
    Parameters
    Type Name Description
    System.Int32 fishnet

    The FishNet ID.

    Returns
    Type Description
    System.UInt64

    The associated Steam ID or zero if there is no match.

    GetConnectionAddress(Int32)

    Gets the address of a remote connection ID. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override string GetConnectionAddress(int connectionId)
    Parameters
    Type Name Description
    System.Int32 connectionId

    Connection ID to get the address for.

    Returns
    Type Description
    System.String

    The address of the remote connection.

    GetConnectionState(Boolean)

    Gets the current local ConnectionState. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override LocalConnectionState GetConnectionState(bool server)
    Parameters
    Type Name Description
    System.Boolean server

    True if getting ConnectionState for the server.

    Returns
    Type Description
    LocalConnectionState

    The current local ConnectionState.

    GetConnectionState(Int32)

    Gets the current ConnectionState of a client connected to the server. Can only be called on the server. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override RemoteConnectionState GetConnectionState(int connectionId)
    Parameters
    Type Name Description
    System.Int32 connectionId

    Connection ID to get ConnectionState for.

    Returns
    Type Description
    RemoteConnectionState

    The current ConnectionState of a client connected to the server.

    GetMTU(Byte)

    Gets the MTU for a channel. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override int GetMTU(byte c)
    Parameters
    Type Name Description
    System.Byte c

    Channel to get MTU for.

    Returns
    Type Description
    System.Int32

    MTU of channel.

    HandleClientConnectionState(ClientConnectionStateArgs)

    Handles a ConnectionStateArgs for the local client. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override void HandleClientConnectionState(ClientConnectionStateArgs connectionStateArgs)
    Parameters
    Type Name Description
    ClientConnectionStateArgs connectionStateArgs

    Data being handled.

    HandleClientReceivedDataArgs(ClientReceivedDataArgs)

    Handles a ClientReceivedDataArgs. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override void HandleClientReceivedDataArgs(ClientReceivedDataArgs receivedDataArgs)
    Parameters
    Type Name Description
    ClientReceivedDataArgs receivedDataArgs

    Data being handled.

    HandleRemoteConnectionState(RemoteConnectionStateArgs)

    Handles a ConnectionStateArgs for a remote client. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override void HandleRemoteConnectionState(RemoteConnectionStateArgs connectionStateArgs)
    Parameters
    Type Name Description
    RemoteConnectionStateArgs connectionStateArgs

    Data being handled.

    HandleServerConnectionState(ServerConnectionStateArgs)

    Handles a ConnectionStateArgs for the local server. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override void HandleServerConnectionState(ServerConnectionStateArgs connectionStateArgs)
    Parameters
    Type Name Description
    ServerConnectionStateArgs connectionStateArgs

    Data being handled.

    HandleServerReceivedDataArgs(ServerReceivedDataArgs)

    Handles a ServerReceivedDataArgs. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override void HandleServerReceivedDataArgs(ServerReceivedDataArgs receivedDataArgs)
    Parameters
    Type Name Description
    ServerReceivedDataArgs receivedDataArgs

    Data being handled.

    IterateIncoming(Boolean)

    Processes data received by the socket. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override void IterateIncoming(bool asServer)
    Parameters
    Type Name Description
    System.Boolean asServer

    True to read data from clients, false to read data from the server.

    IterateOutgoing(Boolean)

    Processes data to be sent by the socket.There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override void IterateOutgoing(bool asServer)
    Parameters
    Type Name Description
    System.Boolean asServer

    True to send data from the local server to clients, false to send from the local client to server.

    SendToClient(Byte, ArraySegment<Byte>, Int32)

    Sends to a client. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override void SendToClient(byte channelId, ArraySegment<byte> segment, int connectionId)
    Parameters
    Type Name Description
    System.Byte channelId

    Channel to use.

    ArraySegment<System.Byte> segment

    Data to send.

    System.Int32 connectionId

    ConnectionId to send to. When sending to clients can be used to specify which connection to send to.

    SendToServer(Byte, ArraySegment<Byte>)

    Sends to the server. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override void SendToServer(byte channelId, ArraySegment<byte> segment)
    Parameters
    Type Name Description
    System.Byte channelId

    Channel to use.

    ArraySegment<System.Byte> segment

    Data to send.

    Shutdown()

    Stops both client and server. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override void Shutdown()

    StartConnection(Boolean)

    Starts the local server or client using configured settings.There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override bool StartConnection(bool server)
    Parameters
    Type Name Description
    System.Boolean server

    True to start the server.

    Returns
    Type Description
    System.Boolean

    If the local server or client was started.

    SteamToFishNet(UInt64)

    Get the corresponding FishNet ID for a Steam ID.

    Declaration
    public static int SteamToFishNet(ulong steam)
    Parameters
    Type Name Description
    System.UInt64 steam

    The Steam ID.

    Returns
    Type Description
    System.Int32

    The associated FishNet ID or the max value if there is no match.

    StopConnection(Boolean)

    Stops the local server or client. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override bool StopConnection(bool server)
    Parameters
    Type Name Description
    System.Boolean server

    True to stop the server.

    Returns
    Type Description
    System.Boolean

    If the local server or client was stopped.

    StopConnection(Int32, Boolean)

    Stops a remote client from the server, disconnecting the client. There is no use in manually accessing this with Multiplayer Engine for Steam.

    Declaration
    public override bool StopConnection(int connectionId, bool immediately)
    Parameters
    Type Name Description
    System.Int32 connectionId

    Connection ID of the client to disconnect.

    System.Boolean immediately

    True to abruptly stop the client socket. The technique used to accomplish immediate disconnects may vary depending on the transport. When not using immediate disconnects it's recommended to perform disconnects using the ServerManager rather than accessing the transport directly.

    Returns
    Type Description
    System.Boolean

    Stops the remote client from the server, disconnecting the client.

    Events

    OnClientConnectionState

    Called when a connection state changes for the local client.

    Declaration
    public override event Action<ClientConnectionStateArgs> OnClientConnectionState
    Event Type
    Type Description
    Action<ClientConnectionStateArgs>

    OnClientReceivedData

    Called when the client receives data.

    Declaration
    public override event Action<ClientReceivedDataArgs> OnClientReceivedData
    Event Type
    Type Description
    Action<ClientReceivedDataArgs>

    OnRemoteConnectionState

    Called when a connection state changes for a remote client.

    Declaration
    public override event Action<RemoteConnectionStateArgs> OnRemoteConnectionState
    Event Type
    Type Description
    Action<RemoteConnectionStateArgs>

    OnServerConnectionState

    Called when a connection state changes for the local server.

    Declaration
    public override event Action<ServerConnectionStateArgs> OnServerConnectionState
    Event Type
    Type Description
    Action<ServerConnectionStateArgs>

    OnServerReceivedData

    Called when the server receives data.

    Declaration
    public override event Action<ServerReceivedDataArgs> OnServerReceivedData
    Event Type
    Type Description
    Action<ServerReceivedDataArgs>

    OnStarted

    Callback for when the FishNet instance has started.

    Declaration
    public static event SteamManager.EmptyEventHandler OnStarted
    Event Type
    Type Description
    SteamManager.EmptyEventHandler

    OnStopped

    Callback for when the FishNet instance has stopped.

    Declaration
    public static event SteamManager.EmptyEventHandler OnStopped
    Event Type
    Type Description
    SteamManager.EmptyEventHandler

    OnStopping

    Callback for when the networking is shutting down in case data needs to be serialized for host migration.

    Declaration
    public static event SteamManager.EmptyEventHandler OnStopping
    Event Type
    Type Description
    SteamManager.EmptyEventHandler
    In This Article
    Back to top © 2025 Kaiju Solutions Inc.