private void Image_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (ButtonState == 1)
            {
                errtx_label.Content = "";

                if (login_passwd.Password.Length < 6 || login_username.Text.Length < 6)
                {
                    errtx_label.Content = "Account information must have atleast 6 chars!";
                }
                else
                {
                    ButtonTx.Text            = " LOGGING";
                    login_passwd.IsEnabled   = false;
                    login_username.IsEnabled = false;
                    Task.Run(() => LoginClient.Connect(Constants.ConnectEndPoint));
                }
            }
            else if (ButtonState == 2)
            {
                try
                {
                    Process.Start("s4client.exe",
                                  $"-rc:eu -lac:eng -auth_server_ip:{Constants.ConnectEndPoint.Address} -aeria_acc_code:{AuthCode}");
                    Environment.Exit(-1);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Failed to execute S4Client.exe", "Error");
                }
            }

            UpdateButton();
        }
示例#2
0
        public void Run(Action <int, AuthPackageResp> loginCallBack)
        {
            _client = new LoginClient();

            var req = new AuthPackageReq {
                openId = "test_cloudfreexiao_001", sdk = "2", protocol = _protocol
            };

            _client.Connect("47.110.245.229", 15111, req, loginCallBack);
        }
 private void button1_Click(object sender, EventArgs e)
 {
     if (login_passwd.Text.Length < 6 || login_username.Text.Length < 6)
     {
         errtx_label.Text = "Account information must have atleast 6 chars!";
     }
     else
     {
         errtx_label.Text       = "";
         label4.Visible         = true;
         button1.Enabled        = false;
         start_btn.Visible      = false;
         login_passwd.Enabled   = false;
         login_username.Enabled = false;
         Thread newThread = new Thread(() => { LoginClient.Connect(LoginServer_endpoint); });
         newThread.Start();
     }
 }
示例#4
0
        private void Image_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (ButtonState == 1)
            {
                errtx_label.Content = "";

                if (login_passwd.Password.Length < 1 || login_username.Text.Length < 1)
                {
                    errtx_label.Content = "";
                }
                else
                {
                    ButtonTx.Text            = "";
                    login_passwd.IsEnabled   = false;
                    login_username.IsEnabled = false;
                    Task.Run(() => LoginClient.Connect(Constants.ConnectEndPoint));
                }
            }

            UpdateButton();
        }
示例#5
0
        public Form1()
        {
            InitializeComponent();

            bool FoundConfig = LoadCityConfig();

            Logger.Initialize("Log.txt");
            Logger.WarnEnabled  = true;
            Logger.DebugEnabled = true;

            if (!FoundConfig)
            {
                Logger.LogWarning("Couldn't find a ServerConfig.ini file!");
                //TODO: This doesn't work...
                Application.Exit();
            }

            m_Listener = new CityListener();
            m_Listener.OnReceiveEvent += new OnReceiveDelegate(m_Listener_OnReceiveEvent);

            //CharacterCreate, variable length...
            CityClient.RegisterCityPacketID(0x00, 0);
            //KeyFetch, variable length...
            CityClient.RegisterCityPacketID(0x01, 0);

            m_LoginClient = new LoginClient("127.0.0.1", 2348);
            m_LoginClient.OnNetworkError += new NetworkErrorDelegate(m_LoginClient_OnNetworkError);
            m_LoginClient.Connect();

            //Send a pulse to the LoginServer every second.
            m_PulseTimer           = new System.Timers.Timer(1000);
            m_PulseTimer.AutoReset = true;
            m_PulseTimer.Elapsed  += new ElapsedEventHandler(m_PulseTimer_Elapsed);
            m_PulseTimer.Start();

            m_Listener.Initialize(2107);
        }
示例#6
0
        /// <summary>
        /// Login to the login server.
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public bool Login(string username, string password)
        {
            if (lc != null)
                lc.Dispose();

            lc = new LoginClient(5, protocolVersion);

            lc.LoginDisconnected += new LoginClientEvent(HandleDisconnectEvent);
            lc.LoginConnected += new LoginClientEvent(HandleConnectEvent);

            if (lc.Connect(host, port))
            {
                State = LoginConnectionState.ConnectedToLogin;

                if (lc.Login(username, password))
                {
                    State = LoginConnectionState.WorldListReceived;
                    worldList = lc.WorldServers;
                    accountId = lc.AccountId;
                }
                else
                {
                    disconnectMessage = "Unable to login.";
                    State = LoginConnectionState.Disconnected;

                    lc.Dispose();
                }
            }
            else
            {
                disconnectMessage = "Unabe to connect.";
                State = LoginConnectionState.Disconnected;

                lc.Dispose();
            }

            return (state == LoginConnectionState.WorldListReceived);
        }