in Samples~/SampleGame/Assets/Scripts/Server/GameLiftServer.cs [48:104]
public void Start(int port, string authToken = null, string logFilePath = null)
{
_logFilePath = logFilePath;
_port = port;
string sdkVersion = GameLiftServerAPI.GetSdkVersion().Result;
_logger.Write(":) SDK VERSION: " + sdkVersion);
try
{
string websocketUrl;
string fleetID;
string computeName;
#if UNITY_EDITOR
var stateManager = new StateManager(new CoreApi());
websocketUrl = stateManager.WebSocketUrl;
fleetID = stateManager.AnywhereFleetId;
computeName = stateManager.ComputeName;
var profileName = stateManager.ProfileName;
var region = stateManager.Region;
var credentialsResponse =
_credentialsStore.RetriveAwsCredentials(
new RetriveAwsCredentialsRequest() { ProfileName = profileName });
var gameLiftClient = new AmazonGameLiftClient(credentialsResponse.AccessKey, credentialsResponse.SecretKey,
RegionEndpoint.GetBySystemName(region));
authToken ??= gameLiftClient
.GetComputeAuthToken(new GetComputeAuthTokenRequest { ComputeName = computeName, FleetId = fleetID })
.AuthToken;
#else
websocketUrl = _settings.GetSetting(ServerSettingsKeys.WebSocketUrl).Value;
fleetID = _settings.GetSetting(ServerSettingsKeys.FleetId).Value;
computeName = _settings.GetSetting(ServerSettingsKeys.ComputeName).Value;
#endif
var serverParams =
new ServerParameters(websocketUrl, $"{ProcessIDPrefix}-{Guid.NewGuid()}", computeName, fleetID, authToken);
GenericOutcome initOutcome = GameLiftServerAPI.InitSDK(serverParams);
if (initOutcome.Success)
{
_logger.Write(":) SERVER IS IN A GAMELIFT FLEET");
ProcessReady();
}
else
{
SetConnected(false);
_logger.Write(":( SERVER NOT IN A FLEET. GameLiftServerAPI.InitSDK() returned " + Environment.NewLine +
initOutcome.Error.ErrorMessage);
}
}
catch (Exception e)
{
_logger.Write(":( SERVER NOT IN A FLEET. GameLiftServerAPI.InitSDK() exception " + Environment.NewLine +
e.Message);
}
}