Packages

Elixir library for working with playfab

Current section

Files

Jump to
playfab_ex lib server matchmaking.ex
Raw

lib/server/matchmaking.ex

defmodule PlayfabEx.Server.Matchmaking do
use Interface
@doc """
Inform the matchmaker that a Game Server Instance is removed.
@link https://api.playfab.com/documentation/server/method/DeregisterGame
"""
@spec deregister_game(map()) :: {:ok, map} | {:error, String.t}
definterface deregister_game(params), to: (Application.get_env(:playfab_ex, PlayfabEx.Server.Matchmaking) || PlayfabEx.Server.Default.Matchmaking)
@doc """
Informs the PlayFab match-making service that the user specified has left the Game Server Instance
@link https://api.playfab.com/documentation/server/method/NotifyMatchmakerPlayerLeft
"""
@spec notify_matchmaker_player_left(map()) :: {:ok, map} | {:error, String.t}
definterface notify_matchmaker_player_left(params), to: (Application.get_env(:playfab_ex, PlayfabEx.Server.Matchmaking) || PlayfabEx.Server.Default.Matchmaking)
@doc """
Validates a Game Server session ticket and returns details about the user
@link https://api.playfab.com/documentation/server/method/RedeemMatchmakerTicket
"""
@spec redeem_matchmaker_ticket(map()) :: {:ok, map} | {:error, String.t}
definterface redeem_matchmaker_ticket(params), to: (Application.get_env(:playfab_ex, PlayfabEx.Server.Matchmaking) || PlayfabEx.Server.Default.Matchmaking)
@doc """
Set the state of the indicated Game Server Instance. Also update the heartbeat for the instance.
@link https://api.playfab.com/documentation/server/method/RefreshGameServerInstanceHeartbeat
"""
@spec refresh_game_server_instance_heartbeat(map()) :: {:ok, map} | {:error, String.t}
definterface refresh_game_server_instance_heartbeat(params), to: (Application.get_env(:playfab_ex, PlayfabEx.Server.Matchmaking) || PlayfabEx.Server.Default.Matchmaking)
@doc """
Inform the matchmaker that a new Game Server Instance is added.
@link https://api.playfab.com/documentation/server/method/RegisterGame
"""
@spec register_game(map()) :: {:ok, map} | {:error, String.t}
definterface register_game(params), to: (Application.get_env(:playfab_ex, PlayfabEx.Server.Matchmaking) || PlayfabEx.Server.Default.Matchmaking)
@doc """
Sets the custom data of the indicated Game Server Instance
@link https://api.playfab.com/documentation/server/method/SetGameServerInstanceData
"""
@spec set_game_server_instance_data(map()) :: {:ok, map} | {:error, String.t}
definterface set_game_server_instance_data(params), to: (Application.get_env(:playfab_ex, PlayfabEx.Server.Matchmaking) || PlayfabEx.Server.Default.Matchmaking)
@doc """
Set the state of the indicated Game Server Instance.
@link https://api.playfab.com/documentation/server/method/SetGameServerInstanceState
"""
@spec set_game_server_instance_state(map()) :: {:ok, map} | {:error, String.t}
definterface set_game_server_instance_state(params), to: (Application.get_env(:playfab_ex, PlayfabEx.Server.Matchmaking) || PlayfabEx.Server.Default.Matchmaking)
@doc """
Set custom tags for the specified Game Server Instance
@link https://api.playfab.com/documentation/server/method/SetGameServerInstanceTags
"""
@spec set_game_server_instance_tags(map()) :: {:ok, map} | {:error, String.t}
definterface set_game_server_instance_tags(params), to: (Application.get_env(:playfab_ex, PlayfabEx.Server.Matchmaking) || PlayfabEx.Server.Default.Matchmaking)
end