Search Results for

    Show / Hide Table of Contents

    Class MatchmakingServerService

    Service on the server for matchmaking.

    Inheritance
    object
    IdentifiableObject
    DependencyObject
    AttachableObject
    Service
    UpdatableService
    MatchmakingServerService
    Implements
    IDependencyObject
    Inherited Members
    Service.OnLoaded()
    Service.OnAttached()
    Service.OnActivated()
    Service.Start()
    Service.OnDeactivated()
    Service.OnDetach()
    Service.OnDestroy()
    AttachableObject.AttachableStateChanged
    AttachableObject.IsEnabled
    AttachableObject.State
    AttachableObject.IsLoaded
    AttachableObject.IsAttached
    AttachableObject.IsActivated
    AttachableObject.IsStarted
    AttachableObject.IsDestroyed
    AttachableObject.ShouldBeActivated
    AttachableObject.Destroy()
    AttachableObject.DependencyBroken()
    DependencyObject.Dependencies
    DependencyObject.OnDependencyRemoved
    IdentifiableObject.Id
    IdentifiableObject.IdHasChanged(Guid)
    Namespace: Evergine.Networking.Server
    Assembly: Evergine.Networking.dll
    Syntax
    public class MatchmakingServerService : UpdatableService, IDependencyObject

    Constructors

    MatchmakingServerService()

    Initializes a new instance of the MatchmakingServerService class.

    Declaration
    public MatchmakingServerService()

    Properties

    AllConnectedPlayers

    Gets all players connected to the matchmaking service.

    Declaration
    public IEnumerable<ServerPlayer> AllConnectedPlayers { get; }
    Property Value
    Type Description
    IEnumerable<ServerPlayer>

    AllRooms

    Gets all the players who are in the lobby.

    Declaration
    public IEnumerable<ServerRoom> AllRooms { get; }
    Property Value
    Type Description
    IEnumerable<ServerRoom>

    ApplicationIdentifier

    Gets or sets the application Identifier. Used by the matchmaking server to separate players by different games.

    Declaration
    public string ApplicationIdentifier { get; set; }
    Property Value
    Type Description
    string

    ClientApplicationVersion

    Gets or sets the version of your client. A new version also creates a new "virtual app" to separate players from older client versions.

    Declaration
    public string ClientApplicationVersion { get; set; }
    Property Value
    Type Description
    string

    ConnectionTimeout

    Gets or sets the connection timeout. The default value is 25 seconds.

    Declaration
    public TimeSpan ConnectionTimeout { get; set; }
    Property Value
    Type Description
    TimeSpan

    NetworkFactory

    Gets or sets the factory used to create the INetworkServer peer.

    Declaration
    public INetworkFactory NetworkFactory { get; set; }
    Property Value
    Type Description
    INetworkFactory

    PingInterval

    Gets or sets the ping interval. The default value is 4 seconds.

    Declaration
    public TimeSpan PingInterval { get; set; }
    Property Value
    Type Description
    TimeSpan

    PlayersInLobby

    Gets all the players who are in the lobby.

    Declaration
    public IEnumerable<ServerPlayer> PlayersInLobby { get; }
    Property Value
    Type Description
    IEnumerable<ServerPlayer>

    ServerName

    Gets or sets the server name, which is sent in every discovery response.

    Declaration
    public string ServerName { get; set; }
    Property Value
    Type Description
    string

    Methods

    CreateMessage()

    Creates a new outgoing message.

    Declaration
    public OutgoingMessage CreateMessage()
    Returns
    Type Description
    OutgoingMessage

    The created outgoing message.

    FindPlayer(NetworkEndpoint)

    Searches for a player with the specified endpoint.

    Declaration
    public ServerPlayer FindPlayer(NetworkEndpoint playerEndpoint)
    Parameters
    Type Name Description
    NetworkEndpoint playerEndpoint

    The player's endpoint.

    Returns
    Type Description
    ServerPlayer

    The ServerPlayer if the player is found; otherwise, null.

    SendToClient(OutgoingMessage, NetworkEndpoint, DeliveryMethod)

    Sends user data to the matchmaking server.

    Declaration
    public void SendToClient(OutgoingMessage messageToSend, NetworkEndpoint destinationClient, DeliveryMethod deliveryMethod)
    Parameters
    Type Name Description
    OutgoingMessage messageToSend

    The message to be sent.

    NetworkEndpoint destinationClient

    The destination client endpoint.

    DeliveryMethod deliveryMethod

    The delivery method.

    ShutdownAsync()

    Shuts down the matchmaking server on the specified port.

    Declaration
    public Task ShutdownAsync()
    Returns
    Type Description
    Task

    A Task representing the asynchronous operation.

    StartAsync(int)

    Starts the matchmaking server on the specified port.

    Declaration
    public Task StartAsync(int port)
    Parameters
    Type Name Description
    int port

    The port to bind to.

    Returns
    Type Description
    Task

    A Task representing the asynchronous operation.

    Exceptions
    Type Condition
    ArgumentException

    Application identifier parameter cannot be null or empty.

    InvalidOperationException

    ApplicationIdentifier must have a valid value before initialization. or You cannot call the Start method multiple times.

    Update(TimeSpan)

    Updates this instance.

    Declaration
    public override void Update(TimeSpan gameTime)
    Parameters
    Type Name Description
    TimeSpan gameTime

    The elapsed game time since the last update.

    Overrides
    UpdatableService.Update(TimeSpan)

    Events

    MessageReceivedFromClient

    Occurs when a user data message from a client is received by the host.

    Declaration
    public event EventHandler<MessageReceivedEventArgs> MessageReceivedFromClient
    Event Type
    Type Description
    EventHandler<MessageReceivedEventArgs>

    PlayerConnected

    Occurs when a new player connects to the server

    Declaration
    public event EventHandler<ServerPlayer> PlayerConnected
    Event Type
    Type Description
    EventHandler<ServerPlayer>

    PlayerDisconnected

    Occurs when a player disconnects from the server.

    Declaration
    public event EventHandler<ServerPlayer> PlayerDisconnected
    Event Type
    Type Description
    EventHandler<ServerPlayer>

    PlayerJoined

    Occurs when a connected player joins an existing room

    Declaration
    public event EventHandler<ServerPlayer> PlayerJoined
    Event Type
    Type Description
    EventHandler<ServerPlayer>

    PlayerJoining

    Occurs when a connected player joins an existing room. This event is not fired when the first player creates the room.

    Declaration
    public event EventHandler<PlayerJoiningEventArgs> PlayerJoining
    Event Type
    Type Description
    EventHandler<PlayerJoiningEventArgs>

    PlayerLeaving

    Occurs when a connected player leaves an existing room

    Declaration
    public event EventHandler<ServerPlayer> PlayerLeaving
    Event Type
    Type Description
    EventHandler<ServerPlayer>

    PlayerLeft

    Occurs when a connected player leaves an existing room

    Declaration
    public event EventHandler<ServerPlayer> PlayerLeft
    Event Type
    Type Description
    EventHandler<ServerPlayer>

    PlayerSynchronized

    Occurs when the server receives changes to the properties of a player

    Declaration
    public event EventHandler<ServerPlayer> PlayerSynchronized
    Event Type
    Type Description
    EventHandler<ServerPlayer>

    RoomCreated

    Occurs when the server creates a new room in the lobby.

    Declaration
    public event EventHandler<ServerRoom> RoomCreated
    Event Type
    Type Description
    EventHandler<ServerRoom>

    RoomDestroyed

    Occurs when the server destroys an existing room in the lobby.

    Declaration
    public event EventHandler<ServerRoom> RoomDestroyed
    Event Type
    Type Description
    EventHandler<ServerRoom>

    RoomSynchronized

    Occurs when the server receives changes to the properties of a room

    Declaration
    public event EventHandler<ServerRoom> RoomSynchronized
    Event Type
    Type Description
    EventHandler<ServerRoom>

    Implements

    IDependencyObject

    Extension Methods

    ReflectionHelper.GetMemberAssembly(object)
    ReflectionHelper.GetTypeName(object)
    In this article
    Back to top
    Generated by DocFX