// 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();
    }