/// <summary> /// Request a multiplayer server session. Accepts tokens for title and if game client accesss is enabled, allows game client /// to request a server with player entity token. /// </summary> public static void RequestMultiplayerServer(RequestMultiplayerServerRequest request, Action <RequestMultiplayerServerResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer; PlayFabHttp.MakeApiCall("/MultiplayerServer/RequestMultiplayerServer", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context); }
/// <summary> /// Requests a multiplayer server from the backend. /// This will return an existing allocated server with the same session ID if one exists. Otherwise, a new server is allocated. /// </summary> /// <returns> /// Details of the server /// </returns> public async Task <RequestMultiplayerServerResponse> RequestMultiplayerServer(string buildID, List <AzureRegion> regions, string sessionCookie, string sessionID) { // We must be authenticated to make this call if (IsAuthenticated()) { RequestMultiplayerServerRequest request = new RequestMultiplayerServerRequest(); request.BuildId = buildID; request.PreferredRegions = regions; request.SessionCookie = sessionCookie; request.SessionId = sessionID; var task = PlayFab.PlayFabMultiplayerAPI.RequestMultiplayerServerAsync(request); var resp = await task; bool hasError = CheckForError(resp); if (!hasError) { return(resp.Result); } else { throw new Exception(String.Format("Allocate failed with error: {0}", resp.Error.ErrorMessage)); } } return(null); }
/// <summary> /// Request a multiplayer server session. Accepts tokens for title and if game client access is enabled, allows game client /// to request a server with player entity token. /// </summary> public void RequestMultiplayerServer(RequestMultiplayerServerRequest request, Action <RequestMultiplayerServerResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext; var callSettings = apiSettings ?? PlayFabSettings.staticSettings; if (!context.IsEntityLoggedIn()) { throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn, "Must be logged in to call this method"); } PlayFabHttp.MakeApiCall("/MultiplayerServer/RequestMultiplayerServer", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this); }
public void RequestMultiplayerServer(string PlayFabId) { RequestMultiplayerServerRequest request = new RequestMultiplayerServerRequest(); request.BuildId = PlayFabServerInstance.singleton.BuildIdKey; //TODO dont statically assign preferred regions request.PreferredRegions = new List <string> { "EastUs", "WestUs" }; request.SessionId = Guid.NewGuid().ToString(); PlayFabMultiplayerAPI.RequestMultiplayerServer(request, MultiplayerServerResponseSuccess, Error, null, null); }
private void requestMultiplayerServer() { RequestMultiplayerServerRequest requestData = new RequestMultiplayerServerRequest(); requestData.BuildId = "1ba80645-10ff-492d-93e1-b31f9e56c1d6"; requestData.SessionId = "c03b9f6a-a392-4e72-82c5-655ed6be4395"; requestData.PreferredRegions = new List <AzureRegion>() { AzureRegion.NorthEurope }; PlayFabMultiplayerAPI.RequestMultiplayerServer(requestData, OnRequestMultiplayerServer, OnRequestMultiplayerServerError); }
private void RequestMultiplayerServer() { Debug.Log("[ClientStartUp].RequestMultiplayerServer"); RequestMultiplayerServerRequest requestData = new RequestMultiplayerServerRequest(); requestData.BuildId = configuration.buildId; requestData.SessionId = System.Guid.NewGuid().ToString(); requestData.PreferredRegions = new List <AzureRegion>() { AzureRegion.EastUs }; PlayFabMultiplayerAPI.RequestMultiplayerServer(requestData, OnRequestMultiplayerServer, OnRequestMultiplayerServerError); }
private void RequestFabServerInfo() { H.klog1($"Requesting Fab server info", this.name); RequestMultiplayerServerRequest req = new RequestMultiplayerServerRequest(); req.BuildId = buildid; req.SessionId = System.Guid.NewGuid().ToString(); req.PreferredRegions = new List <string>() { "EastUs" }; PlayFabMultiplayerAPI.RequestMultiplayerServer(req, ResRequestMultiplayer, ErrRequestMultiplayer); }
private void RequestMultiplayerServer() { RequestMultiplayerServerRequest requestData = new RequestMultiplayerServerRequest(); requestData.BuildId = settings.GetComponent <Settings>().buildId; requestData.PreferredRegions = new List <string>() { "NorthEurope" }; requestData.SessionId = settings.GetComponent <Settings>().sessionId; if (requestData.SessionId.Equals("")) { requestData.SessionId = System.Guid.NewGuid().ToString(); } PlayFabMultiplayerAPI.RequestMultiplayerServer(requestData, OnRequestMultiplayerServer, OnRequestMultiplayerServerError); }
/// <summary> /// Request a multiplayer server session. Accepts tokens for title and if game client accesss is enabled, allows game client /// to request a server with player entity token. /// </summary> public static void RequestMultiplayerServer(RequestMultiplayerServerRequest request, Action <RequestMultiplayerServerResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { PlayFabHttp.MakeApiCall("/MultiplayerServer/RequestMultiplayerServer", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders); }
/// <summary> /// Request a multiplayer server session. Accepts tokens for title and if game client accesss is enabled, allows game client /// to request a server with player entity token. /// </summary> public static async Task <PlayFabResult <RequestMultiplayerServerResponse> > RequestMultiplayerServerAsync(RequestMultiplayerServerRequest request, object customData = null, Dictionary <string, string> extraHeaders = null) { if (PlayFabSettings.EntityToken == null) { throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call GetEntityToken before calling this method"); } var httpResult = await PlayFabHttp.DoPost("/MultiplayerServer/RequestMultiplayerServer", request, "X-EntityToken", PlayFabSettings.EntityToken, extraHeaders); if (httpResult is PlayFabError) { var error = (PlayFabError)httpResult; PlayFabSettings.GlobalErrorHandler?.Invoke(error); return(new PlayFabResult <RequestMultiplayerServerResponse> { Error = error, CustomData = customData }); } var resultRawJson = (string)httpResult; var resultData = PluginManager.GetPlugin <ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject <PlayFabJsonSuccess <RequestMultiplayerServerResponse> >(resultRawJson); var result = resultData.data; return(new PlayFabResult <RequestMultiplayerServerResponse> { Result = result, CustomData = customData }); }