public static void ShakeData()
        {
            ServerList.servers.Sort((a, b) => {
                var diffPing = (int)(a.Ping - b.Ping);
                if (diffPing != 0)
                {
                    return(diffPing);
                }

                if (a.serverInfo.discord == "" && b.serverInfo.discord != "")
                {
                    return(1);
                }
                if (a.serverInfo.discord != "" && b.serverInfo.discord == "")
                {
                    return(-1);
                }

                var diffProject = string.Compare(a.serverInfo.discord, b.serverInfo.discord);
                if (diffProject != 0)
                {
                    // We are kinda respecting original sort order
                    return(a.counter - b.counter);
                }

                var diffName = string.Compare(a.Info, b.Info);
                if (diffName != 0)
                {
                    return(diffName);
                }

                return(a.serverPlayers.current - b.serverPlayers.current);
            });

            if (ServerList.servers.Count > 100)
            {
                ServerList.PingStop();
                ServerList.servers.RemoveRange(100, ServerList.servers.Count - 100);
            }
        }