res://addons/w4gd/matchmaker/matchmaker.gd
Inherits: Node
Interacts with the W4 Cloud matchmaker component.
Methods
create_lobby ( LobbyType p_type, Dictionary p_opts, bool p_subscribe )  | 
|
find_lobbies ( Dictionary p_query )  | 
|
get_cluster_list ( )  | 
|
get_lobby ( String p_lobby_id, bool p_subscribe )  | 
|
join_lobby ( String p_lobby_id, bool p_subscribe )  | 
|
join_matchmaker_queue ( Dictionary p_props, bool p_auto_leave )  | 
|
leave_matchmaker_queue ( res://addons/w4gd/matchmaker/matchmaker.gd:MatchmakerTicket p_matchmaker_ticket )  | 
|
void  | 
set_webrtc_ice_servers ( Array p_ice_servers )  | 
Enumerations
enum LobbyType:
LobbyType LOBBY_ONLY = 0
LobbyType DEDICATED_SERVER = 1
LobbyType WEBRTC = 2
enum LobbyState:
LobbyState NEW = 1
LobbyState IN_PROGRESS = 2
LobbyState SEALED = 3
LobbyState DONE = 4
Constants
DEFAULT_WEBRTC_ICE_SERVERS = [{ "urls": ["stun:stun.l.google.com:19302", "stun:stun1.l.google.com:19302", "stun:stun2.l.google.com:19302", "stun:stun3.l.google.com:19302", "stun:stun4.l.google.com:19302"] }]
The default WebRTC ICE servers, if none are provided.
Method Descriptions
res://addons/w4gd/rest-client/client_request.gd create_lobby ( LobbyType p_type, Dictionary p_opts, bool p_subscribe )
Creates a request to create a new lobby. A res://addons/w4gd/matchmaker/matchmaker.gd:Lobby will be returned as the data.  p_opts can contain the following keys: - props: A Dictionary of lobby properties to be used as needed by your game. - max_players: The maximum number of players allowed in the lobby (the default is 2). - initial_players: An Array of player UUIDs to add to automatically join to the lobby. - cluster: The name of the cluster to allocate the dedicated server when using a dedicated server lobby.
res://addons/w4gd/rest-client/client_request.gd find_lobbies ( Dictionary p_query )
Creates a request to find lobbies that the current player has access to.  This can be useful after restarting the game to see if we can reconnect to an existing match.  p_query is a Dictionary that takes the following keys: - only_my_lobbies (bool): If set to true, this will only list lobbies that the current user has joined. - include_player_count (bool): If set to true, this will include player_count in the result. - constraints (Dictionary): A Dictionary of constraints that lobbies must match.  Returns an array of Dictionary's with the following keys: - id - type - state - creator_id - props - cluster - created_at  Usage:
var result = await W4GD.matchmaker.find_lobbies({
    # Includes a `player_count` for each lobby in the result.
    include_player_count = true,
    # Filters to only include lobbies the current user is a member of (as opposed to all lobbies they have access to).
    only_my_lobbies = true,
    # Arbitrary constraints on the lobby's columns and properties.
    constraints = {
        'type': W4GD.matchmaker.LobbyType.DEDICATED_SERVER,
        'state': [W4GD.matchmaker.LobbyState.NEW, W4GD.matchmaker.LobbyState.IN_PROGRESS],
        'player_count': {
            op = '<',
            value = 5,
        },
        # This is a top-level element inside the JSON of the 'props' column.
        'props.game-mode': 'battle-royale',
    },
}).async()
res://addons/w4gd/rest-client/client_request.gd get_cluster_list ( )
Gets a list of valid dedicated server cluster names.
res://addons/w4gd/rest-client/client_request.gd get_lobby ( String p_lobby_id, bool p_subscribe )
Creates a request to get a lobby. A res://addons/w4gd/matchmaker/matchmaker.gd:Lobby will be returned as the data.
res://addons/w4gd/rest-client/client_request.gd join_lobby ( String p_lobby_id, bool p_subscribe )
Creates a request to join a lobby. A res://addons/w4gd/matchmaker/matchmaker.gd:Lobby will be returned as the data.
res://addons/w4gd/rest-client/client_request.gd join_matchmaker_queue ( Dictionary p_props, bool p_auto_leave )
Creates a request to join the matchmaker queue. A res://addons/w4gd/matchmaker/matchmaker.gd:MatchmakerTicket will be returned as the data.
res://addons/w4gd/rest-client/client_request.gd leave_matchmaker_queue ( res://addons/w4gd/matchmaker/matchmaker.gd:MatchmakerTicket p_matchmaker_ticket )
Creates a request to leave the matchmaker queue.
void set_webrtc_ice_servers ( Array p_ice_servers )
Sets the list of WebRTC ICE servers.