// Ends the game session for all and disconnects the players public void TerminateGameSession() { System.Console.WriteLine("Terminating Game Session"); //Cleanup (not currently relevant as we just terminate the process) GameObject.FindObjectOfType <Server>().DisconnectAll(); this.gameStarted = false; // Stop the backfilling if (this.backfillTicketID != null) { System.Console.WriteLine("Stopping backfill"); var stopBackfill = new StopMatchBackfillRequest(); stopBackfill.TicketId = this.backfillTicketID; stopBackfill.MatchmakingConfigurationArn = this.matchmakerData.MatchmakingConfigurationArn; stopBackfill.GameSessionArn = GameLiftServerAPI.GetGameSessionId().Result; GameLiftServerAPI.StopMatchBackfill(stopBackfill); } // Terminate the process following GameLift best practices. A new one will be started automatically System.Console.WriteLine("Terminating process"); GameLiftServerAPI.ProcessEnding(); Application.Quit(); }