public static ServerSeasonPass GetSeasonPass() { AccelByteServerPlugin.CheckPlugin(); return(AccelByteServerPlugin.seasonPass ?? (AccelByteServerPlugin.seasonPass = new ServerSeasonPass( new ServerSeasonPassApi( AccelByteServerPlugin.config.BaseUrl, AccelByteServerPlugin.httpClient), AccelByteServerPlugin.session, AccelByteServerPlugin.config.Namespace, AccelByteServerPlugin.coroutineRunner))); }
public static ServerMatchmaking GetMatchmaking() { AccelByteServerPlugin.CheckPlugin(); return(AccelByteServerPlugin.matchmaking ?? (AccelByteServerPlugin.matchmaking = new ServerMatchmaking( new ServerMatchmakingApi( AccelByteServerPlugin.config.MatchmakingServerUrl, AccelByteServerPlugin.httpClient), AccelByteServerPlugin.session, AccelByteServerPlugin.config.Namespace, AccelByteServerPlugin.coroutineRunner))); }
public static ServerUserAccount GetUserAccount() { AccelByteServerPlugin.CheckPlugin(); return(AccelByteServerPlugin.userAccount ?? (AccelByteServerPlugin.userAccount = new ServerUserAccount( new ServerUserAccountApi( AccelByteServerPlugin.config.BaseUrl, AccelByteServerPlugin.httpClient), AccelByteServerPlugin.session, AccelByteServerPlugin.config.Namespace, AccelByteServerPlugin.coroutineRunner))); }
/// <summary> /// Check whether if this static class is need to be refreshed/re-init /// </summary> private static void CheckPlugin() { #if UNITY_EDITOR if (AccelByteServerPlugin.hasBeenInitialized) { return; } AccelByteServerPlugin.hasBeenInitialized = true; AccelByteServerPlugin.Init(); #endif }
public static ServerQos GetQos() { if (AccelByteServerPlugin.qos != null) { return(AccelByteServerPlugin.qos); } AccelByteServerPlugin.CheckPlugin(); AccelByteServerPlugin.qos = new ServerQos( new ServerQosManagerApi( AccelByteServerPlugin.config.QosManagerServerUrl, AccelByteServerPlugin.httpClient), AccelByteServerPlugin.coroutineRunner); return(AccelByteServerPlugin.qos); }
public static ServerGameTelemetry GetGameTelemetry() { if (AccelByteServerPlugin.gameTelemetry != null) { return(AccelByteServerPlugin.gameTelemetry); } AccelByteServerPlugin.CheckPlugin(); AccelByteServerPlugin.gameTelemetry = new ServerGameTelemetry( new ServerGameTelemetryApi( AccelByteServerPlugin.config.GameTelemetryServerUrl, AccelByteServerPlugin.httpClient), AccelByteServerPlugin.session, AccelByteServerPlugin.coroutineRunner); return(AccelByteServerPlugin.gameTelemetry); }
public static ServerCloudSave GetCloudSave() { if (AccelByteServerPlugin.cloudSave != null) { return(AccelByteServerPlugin.cloudSave); } AccelByteServerPlugin.CheckPlugin(); AccelByteServerPlugin.cloudSave = new ServerCloudSave( new ServerCloudSaveApi( AccelByteServerPlugin.config.CloudSaveServerUrl, AccelByteServerPlugin.httpClient), AccelByteServerPlugin.session, AccelByteServerPlugin.config.Namespace, AccelByteServerPlugin.coroutineRunner); return(AccelByteServerPlugin.cloudSave); }
public static ServerLobby GetLobby() { if (AccelByteServerPlugin.lobby != null) { return(AccelByteServerPlugin.lobby); } AccelByteServerPlugin.CheckPlugin(); AccelByteServerPlugin.lobby = new ServerLobby( new ServerLobbyApi( AccelByteServerPlugin.config.LobbyServerUrl, AccelByteServerPlugin.httpClient), AccelByteServerPlugin.session, AccelByteServerPlugin.config.Namespace, AccelByteServerPlugin.coroutineRunner); return(AccelByteServerPlugin.lobby); }
public static ServerAchievement GetAchievement() { if (AccelByteServerPlugin.achievement != null) { return(AccelByteServerPlugin.achievement); } AccelByteServerPlugin.CheckPlugin(); AccelByteServerPlugin.achievement = new ServerAchievement( new ServerAchievementApi( AccelByteServerPlugin.config.AchievementServerUrl, AccelByteServerPlugin.httpClient), AccelByteServerPlugin.session, AccelByteServerPlugin.config.Namespace, AccelByteServerPlugin.coroutineRunner); return(AccelByteServerPlugin.achievement); }
public static ServerStatistic GetStatistic() { if (AccelByteServerPlugin.statistic != null) { return(AccelByteServerPlugin.statistic); } AccelByteServerPlugin.CheckPlugin(); AccelByteServerPlugin.statistic = new ServerStatistic( new ServerStatisticApi( AccelByteServerPlugin.config.StatisticServerUrl, AccelByteServerPlugin.httpClient), AccelByteServerPlugin.session, AccelByteServerPlugin.config.Namespace, AccelByteServerPlugin.coroutineRunner); return(AccelByteServerPlugin.statistic); }
public static ServerEcommerce GetEcommerce() { if (AccelByteServerPlugin.ecommerce != null) { return(AccelByteServerPlugin.ecommerce); } AccelByteServerPlugin.CheckPlugin(); AccelByteServerPlugin.ecommerce = new ServerEcommerce( new ServerEcommerceApi( AccelByteServerPlugin.config.PlatformServerUrl, AccelByteServerPlugin.httpClient), AccelByteServerPlugin.session, AccelByteServerPlugin.config.Namespace, AccelByteServerPlugin.coroutineRunner); return(AccelByteServerPlugin.ecommerce); }
public static DedicatedServerManager GetDedicatedServerManager() { if (AccelByteServerPlugin.dedicatedServerManager != null) { return(AccelByteServerPlugin.dedicatedServerManager); } AccelByteServerPlugin.CheckPlugin(); AccelByteServerPlugin.dedicatedServerManager = new DedicatedServerManager( new DedicatedServerManagerApi( AccelByteServerPlugin.config.DSMControllerServerUrl, AccelByteServerPlugin.config.Namespace, AccelByteServerPlugin.httpClient), AccelByteServerPlugin.session, AccelByteServerPlugin.coroutineRunner); return(AccelByteServerPlugin.dedicatedServerManager); }
public static DedicatedServer GetDedicatedServer() { AccelByteServerPlugin.CheckPlugin(); return(AccelByteServerPlugin.server); }
public IEnumerator RegisterServer(RegisterServerRequest registerRequest, string accessToken, ResultCallback callback) { Assert.IsNotNull(registerRequest, "Register failed. registerserverRequest is null!"); Assert.IsNotNull(accessToken, "Can't update a slot! accessToken parameter is null!"); if (this.serverType != ServerType.NONE) { callback.TryError(ErrorCode.Conflict, "Server is already registered."); yield break; } if (dsmServerUrl.Length == 0) { ServerQos qos = AccelByteServerPlugin.GetQos(); Result <Dictionary <string, int> > latenciesResult = null; qos.GetServerLatencies(reqResult => latenciesResult = reqResult); yield return(new WaitUntil(() => latenciesResult != null)); foreach (KeyValuePair <string, int> latency in latenciesResult.Value.OrderBy(item => item.Value)) { var getUrlRequest = HttpRequestBuilder.CreateGet(this.baseUrl + "/public/dsm?region=" + latency.Key) .WithBearerAuth(accessToken) .WithContentType(MediaType.ApplicationJson) .Accepts(MediaType.ApplicationJson) .GetResult(); IHttpResponse getUrlResponse = null; yield return(this.httpWorker.SendRequest(getUrlRequest, rsp => getUrlResponse = rsp)); var getUrlResult = getUrlResponse.TryParseJson <DSMClient>(); if (getUrlResult.Value.status == "HEALTHY") { dsmServerUrl = getUrlResult.Value.host_address; break; } } } if (serverSetup.ip.Length == 0) { var getPubIpRequest = HttpRequestBuilder.CreateGet("https://api.ipify.org?format=json") .WithContentType(MediaType.ApplicationJson) .Accepts(MediaType.ApplicationJson) .GetResult(); IHttpResponse getPubIpResponse = null; yield return(this.httpWorker.SendRequest(getPubIpRequest, rsp => getPubIpResponse = rsp)); var getPubIpResult = getPubIpResponse.TryParseJson <PubIp>(); serverSetup.ip = getPubIpResult.Value.ip; } if (IsCurrentProvider(Provider.AGONES)) { #if ENABLE_AGONES_PLUGIN InitiateAgones(callback); #else callback.TryError(ErrorCode.NotFound, "Can't request register server. Agones provider arguments is passed but Agones plugin is not found."); #endif } else { registerRequest.ip = serverSetup.ip; registerRequest.provider = serverSetup.provider; registerRequest.game_version = serverSetup.game_version; var request = HttpRequestBuilder.CreatePost(this.dsmServerUrl + "/dsm/namespaces/{namespace}/servers/register") .WithPathParam("namespace", this.namespace_) .WithBearerAuth(accessToken) .WithContentType(MediaType.ApplicationJson) .Accepts(MediaType.ApplicationJson) .WithBody(registerRequest.ToUtf8Json()) .GetResult(); IHttpResponse response = null; yield return(this.httpWorker.SendRequest(request, rsp => response = rsp)); var result = response.TryParseJson <ServerInfo>(); if (!result.IsError) { serverSetup.pod_name = result.Value.pod_name; serverType = ServerType.CLOUDSERVER; } callback.Try(response.TryParse()); } }