in UltraFrogRoyale/Assets/GameNetworkManager.cs [196:253]
private void SetupServerAndGamelift()
{
// start the unet server
networkPort = LISTEN_PORT;
StartServer();
print($"Server listening on port {networkPort}");
// initialize GameLift
print("Starting GameLift initialization.");
var initSDKOutcome = GameLiftServerAPI.InitSDK();
if(initSDKOutcome.Success)
{
isGameliftServer = true;
var processParams = new ProcessParameters(
(gameSession) =>
{
// onStartGameSession callback
GameLiftServerAPI.ActivateGameSession();
// quit if no player joined within two minutes
timer.Elapsed += this.CheckPlayersJoined;
timer.AutoReset = false;
timer.Start();
},
(updateGameSession) =>
{
},
() =>
{
// onProcessTerminate callback
TerminateSession();
},
() =>
{
// healthCheck callback
return true;
},
LISTEN_PORT,
new LogParameters(new List<string>()
{
"/local/game/logs/myserver.log"
})
);
var processReadyOutcome = GameLiftServerAPI.ProcessReady(processParams);
if(processReadyOutcome.Success)
{
print("GameLift process ready.");
}
else
{
print($"GameLift: Process ready failure - {processReadyOutcome.Error.ToString()}.");
}
}
else
{
print($"GameLift: InitSDK failure - {initSDKOutcome.Error.ToString()}.");
}
}