/// <summary>
    /// Get Ban List for sure that this IP is not ban
    /// </summary>
    /// <returns></returns>
    IEnumerator GetBanList()
    {
        yield return(new WaitForSeconds(1));

        Dictionary <string, string> wf = new Dictionary <string, string>();

        wf.Add("typ", "0");
        UnityWebRequest www = UnityWebRequest.Post(bl_LoginProDataBase.Instance.GetUrl(bl_LoginProDataBase.URLType.BanList), wf);

        yield return(www.SendWebRequest());

        if (www.isNetworkError)
        {
            print("Error: " + www.error);
        }
        else
        {
            string text = www.downloadHandler.text;
            if (text.Contains("result") == true)
            {
                string[] splitusers = text.Split("\n"[0]);
                foreach (string t in splitusers)
                {
                    if (!string.IsNullOrEmpty(t) && !t.Contains("result"))
                    {
                        string[]    splitinfo = t.Split("|"[0]);
                        BanUserInfo bui       = new BanUserInfo();
                        bui.User     = splitinfo[0];
                        bui.Reason   = splitinfo[1];
                        bui.IP       = splitinfo[2];
                        bui.BannedBy = splitinfo[3];
                        BanList.Add(bui);
                    }
                }
                CheckBan();
            }
            else
            {
                if (text.Contains("empty") == true)
                {
                    Debug.Log("Don't have banned users.");
                    if (Login.GuestButton != null)
                    {
                        Login.GuestButton.interactable = true;
                    }
                }
                else
                {
                    Debug.Log(text);
                }
            }
        }
        if (!bl_GameData.isDataCached)
        {
            yield return(StartCoroutine(bl_GameData.AsyncLoadData()));
        }
        CheckingBanUI.SetActive(false);
        www.Dispose();
    }
示例#2
0
        /// <summary>
        /// Get Ban List for sure that this IP is not ban
        /// </summary>
        /// <returns></returns>
        IEnumerator GetBanList(Action callback)
        {
            // yield return new WaitForSeconds(1);
            bl_ULoginLoadingWindow.Instance.SetText("Checking client status with server...");
            Dictionary <string, string> wf = new Dictionary <string, string>();

            wf.Add("typ", "0");
            UnityWebRequest www = UnityWebRequest.Post(bl_LoginProDataBase.Instance.GetUrl(bl_LoginProDataBase.URLType.BanList), wf);

            yield return(www.SendWebRequest());

            if (www.isNetworkError)
            {
                print("Error: " + www.error);
            }
            else
            {
                string text = www.downloadHandler.text;
                if (text.Contains("result") == true)
                {
                    string[] splitusers = text.Split("\n"[0]);
                    foreach (string t in splitusers)
                    {
                        if (!string.IsNullOrEmpty(t) && !t.Contains("result"))
                        {
                            string[]    splitinfo = t.Split("|"[0]);
                            BanUserInfo bui       = new BanUserInfo();
                            bui.name   = splitinfo[0];
                            bui.reason = splitinfo[1];
                            bui.ip     = splitinfo[2];
                            bui.by     = splitinfo[3];
                            BanList.Add(bui);
                        }
                    }
                    CheckBan();
                }
                else
                {
                    if (text.Contains("empty") == true)
                    {
                        Debug.Log("Don't have banned users.");

                        /* if (Login.GuestButton != null) { Login.GuestButton.interactable = true; Login.GuestButton.gameObject.SetActive(true); }
                         * Login.onReady?.Invoke();*/
                    }
                    else
                    {
                        Debug.Log(text);
                    }
                }
            }
            if (!bl_GameData.isDataCached)
            {
                yield return(StartCoroutine(bl_GameData.AsyncLoadData()));
            }
            callback?.Invoke();
            www.Dispose();
        }
示例#3
0
        /// <summary>
        ///
        /// </summary>
        public void VerifyIP(Action callback)
        {
            var ip = bl_LoginPro.Instance.CurrentIp;

            if (string.IsNullOrEmpty(ip))
            {
                callback?.Invoke();
                return;
            }

            bl_ULoginLoadingWindow.Instance.SetText("Checking client status with server...");
            var wf = CreateForm(false);

            wf.AddField("typ", 2);
            wf.AddField("ip", ip);

            WebRequest.POST(bl_LoginProDataBase.Instance.GetUrl(bl_LoginProDataBase.URLType.BanList), wf, (result) =>
            {
                if (result.isError)
                {
                    result.PrintError();
                }
                else
                {
                    if (result.HTTPCode == 202) //found user IP in the banned users
                    {
                        banUserInfo = result.FromJson <BanUserInfo>();
                        if (banUserInfo == null)
                        {
                            Debug.LogWarning($"Detected ban but receive wrong response from server: {result.RawText}");
                            callback?.Invoke();
                            return;
                        }
                        BannedText.text = string.Format("You has been permanently <b>banned</b> from the game due {0} by {1}.", banUserInfo.reason, banUserInfo.by);
                        BannedUI.SetActive(true);
                        bl_ULoginLoadingWindow.Instance.SetActive(false);
                        result.Print();
                        return;
                    }
                    else
                    {
                        //User IP is clean
                    }
                }
                callback?.Invoke();
            });
        }
示例#4
0
    /// <summary>
    /// Get Ban List for sure that this IP is not ban
    /// </summary>
    /// <returns></returns>
    IEnumerator GetBanList()
    {
        WWW www = new WWW(BanListURL);

        yield return(www);

        if (www.error != null)
        {
            print("There was an error getting the ban list: " + www.error);
        }
        else
        {
            string text = www.text;
            if (text != "Emty")
            {
                string[] splitusers = text.Split("\n"[0]);

                foreach (string t in splitusers)
                {
                    if (t != string.Empty && t != null)
                    {
                        string[]    splitinfo = t.Split("|"[0]);
                        BanUserInfo bui       = new BanUserInfo();
                        bui.m_Name   = splitinfo[0];
                        bui.m_reason = splitinfo[1];
                        bui.m_ip     = splitinfo[2];
                        bui.m_by     = splitinfo[3];
                        BanList.Add(bui);
                    }
                }
            }
            else
            {
                Debug.Log("Ban List is Emty");
            }
        }
        yield return(new WaitForSeconds(0.2f));

        ReceiveBanList = true;
        StartCoroutine(CheckIsReady());
    }
示例#5
0
    /// <summary>
    /// 
    /// </summary>
    /// <returns></returns>
    IEnumerator GetBanList()
    {
        WWW www = new WWW(BanListURL);

        yield return www;

        if (www.error != null)
        {
            print("There was an error getting the ban list: " + www.error);
        }
        else
        {
            string text = www.text;
            if (text != "Emty")
            {
                string[] splitusers = text.Split("\n"[0]);

                foreach (string t in splitusers)
                {
                    if (t != string.Empty && t != null)
                    {
                        string[] splitinfo = t.Split("|"[0]);
                        BanUserInfo bui = new BanUserInfo();
                        bui.m_Name = splitinfo[0];
                        bui.m_reason = splitinfo[1];
                        bui.m_ip = splitinfo[2];
                        bui.m_by = splitinfo[3];
                        BanList.Add(bui);
                    }
                }
            }
            else
            {
                Debug.Log("Ban List is Emty");
            }
        }
        yield return new WaitForSeconds(0.2f);
        ReceiveBanList = true;
        StartCoroutine(CheckIsReady());
    }