public virtual bool StartGame() { if (IsDestroyed) { return(false); } string region = ""; propertiesList.Set(MstDictKeys.ROOM_IS_PUBLIC, false); // Extract the region if available if (propertiesList.Has(MstDictKeys.ROOM_REGION)) { region = propertiesList.AsString(MstDictKeys.ROOM_REGION); } var task = Module.SpawnersModule.Spawn(propertiesList, region, GenerateOptions()); if (task == null) { BroadcastChatMessage("Servers are busy", true); return(false); } State = LobbyState.StartingGameServer; SetGameSpawnTask(task); return(true); }