private static async void VoteMapTimer()
        {
            Debug.WriteLine("START VOTE");

            await Delay(30000);

            Debug.WriteLine("CHECK VOTE");

            var votes = new Dictionary <string, int>();

            foreach (var p in new PlayerList())
            {
                if (!Sync.Data.Has(User.GetPlayerServerId(p), "voteMap"))
                {
                    continue;
                }
                string map = (string)Sync.Data.Get(User.GetPlayerServerId(p), "voteMap");

                Debug.WriteLine("VOTE " + map);

                if (votes.ContainsKey(map))
                {
                    votes[map]++;
                }
                else
                {
                    votes.Add(map, 1);
                }
            }

            MapManager.SetMap(votes.FirstOrDefault(x => x.Value == votes.Values.Max()).Key);
            Debug.WriteLine("END VOTE");
        }
        private static async Task LobbyTimer()
        {
            await Delay(1000);

            var lobbyList = new PlayerList().Where(p => Sync.Data.Has(User.GetPlayerServerId(p), "Lobby")).ToList();

            if (lobbyList.Any())
            {
                if (Sync.Data.Has(-1, "StartTimer") && (int)Sync.Data.Get(-1, "StartTimer") > 0)
                {
                    Sync.Data.Set(-1, "StartTimer", (int)Sync.Data.Get(-1, "StartTimer") - 1);

                    int voteCam1 = 0;
                    int voteCam2 = 0;

                    foreach (var player in new PlayerList())
                    {
                        if (!Sync.Data.Has(User.GetPlayerServerId(player), "CameraType"))
                        {
                            continue;
                        }
                        if ((int)Sync.Data.Get(User.GetPlayerServerId(player), "CameraType") == 0)
                        {
                            voteCam1++;
                        }
                        else
                        {
                            voteCam2++;
                        }
                    }

                    foreach (var p in lobbyList)
                    {
                        p.TriggerEvent("TTT:UpdateLobbyInfo", (int)Sync.Data.Get(-1, "StartTimer"), voteCam1, voteCam2, lobbyList.Count);
                    }

                    if ((int)Sync.Data.Get(-1, "StartTimer") > 15)
                    {
                        if (lobbyList.Count / 2 <= voteCam1 + voteCam2)
                        {
                            Sync.Data.Set(-1, "StartTimer", 10);
                        }
                    }

                    if ((int)Sync.Data.Get(-1, "StartTimer") < 1)
                    {
                        Sync.Data.Reset(-1, "StartTimer");
                        Sync.Data.Set(-1, "CameraType", voteCam1 > voteCam2 ? 0 : 1);

                        if (await MapManager.LoadMap(MapManager.GetMap(), lobbyList))
                        {
                            var weatherList = new List <string>
                            {
                                "EXTRASUNNY",
                                "CLEAR",
                                "CLOUDS",
                                "SMOG",
                                "FOGGY",
                                "OVERCAST",
                                "CLEARING",
                                "XMAS"
                            };

                            var rand = new Random();

                            string weatherMap = weatherList[rand.Next(weatherList.Count)];
                            int    hourMap    = rand.Next(23);

                            Sync.Data.Set(-1, "BriefingTimer", MapManager.MapData.Briefing);
                            foreach (var p in lobbyList)
                            {
                                Sync.Data.Set(User.GetPlayerServerId(p), "InGame", true);
                                p.TriggerEvent("TTT:StartBriefing", MapManager.MapData.Name,
                                               MapManager.MapData.Briefing, MapManager.MapData.CenterX,
                                               MapManager.MapData.CenterY, MapManager.MapData.CenterZ,
                                               MapManager.MapData.MaxRadius, MapManager.MapData.CanSwim, MapManager.MapData.EnableScope, weatherMap, hourMap);
                            }
                        }
                        else
                        {
                            MapManager.SetMap(MapManager.MapList.First());
                            StopGame(lobbyList, PlayerTypes.Unknown);
                        }

                        foreach (var player in new PlayerList())
                        {
                            Sync.Data.Reset(User.GetPlayerServerId(player), "CameraType");
                            Sync.Data.Reset(User.GetPlayerServerId(player), "Lobby");
                        }
                    }
                }
            }
            else if (Sync.Data.Has(-1, "StartTimer"))
            {
                Sync.Data.Reset(-1, "StartTimer");
            }
        }