How do I make my game wait for other people to join?

Could do something like this.

mgr_game := class(creative_device):

    @editable MinimumActivePlayers : int = 4

    RoundEndedEvent : event() = event(){}

    OnBegin<override>()<suspends>:void=
        GameLoop()

    GameLoop()<suspends>:void=
        loop:
            AwaitMinimumPlayerCount()
            StartRound()
            RoundEndedEvent.Await()

    StartRound():void=
        block{}

    AwaitMinimumPlayerCount()<suspends>:void=
        loop:
            Sleep(1.0)
            ActivePlayers := 
                for:
                    Player:GetPlayspace().GetPlayers()
                    Player.IsActive[]
                    Player.GetFortCharacter[].IsActive[]
                do:
                    Player
            if(ActivePlayers.Length >= MinimumActivePlayers):
                break