private static async void PingUnity(ServerData sData, int pingTimeout)
        {
            string IP = sData.IP;

            try
            {
                IPAddress.Parse(IP);
            }
            catch (FormatException)
            {
                IPHostEntry hostInfo = Dns.GetHostEntry(sData.IP);
                IP = hostInfo.AddressList.First().ToString();
            }

            Task <int> pingTask = ServerList.PingUnityAsync(IP);

            ServerList.unityPingTasks.Add(pingTask);

            try
            {
                sData.pingICMP = await pingTask;
            }
            catch (OperationCanceledException)
            {
                sData.pingICMP = pingTimeout;
            }

            if (sData.pingICMP < ServerList.SHOW_THRESHOLD)
            {
                ServerList.servers.Add(sData);
                ServerList.ShakeData();
            }
            else
            {
                Console.WriteLine(String.Format(
                                      "[P {0}][IP:p {1}:{2}] Server is out of reach. Ping: {3}",
                                      sData.Project,
                                      sData.IP,
                                      sData.port,
                                      sData.pingICMP
                                      ));
            }
        }