Ejemplo n.º 1
0
        private ExecutionState ReadLoginResponce(Connection Sender, ByteReader data)
        {
            var sucess = data.ReadBoolean();

            if (!sucess)
            {
                var dbglvl0 = new Dictionary <string, object>
                {
                    { "Location", "Tortoise.Client.Module.Login.ReadLoginResponce.1" }
                };
                var dbglvl1 = new Dictionary <string, object>(dbglvl0)
                {
                    { "length Error", sucess.Reason }
                };
                var dbglvl2 = new Dictionary <string, object>(dbglvl1)
                {
                    { "ByteReader Dump", data.DumpDebugInfo() }
                };
                Debugging.SyncError(Sender, dbglvl0, dbglvl1, dbglvl2);
                return(ExecutionState.Failed());
            }

            if (sucess.Result)
            {
                LoginStatusScreen.Instance.Text = DefaultLanguage.Strings.GetFormatedString("Login_Status_Sucess");
            }
            else
            {
                LoginStatusScreen.Instance.Text = DefaultLanguage.Strings.GetFormatedString("Login_Status_Failure");
            }


            return(ExecutionState.Succeeded());
        }
Ejemplo n.º 2
0
        private ExecutionState ReadAuthKey(Connection Sender, ByteReader data)
        {
            var length = data.ReadUShort();

            if (!length)
            {
                var dbglvl0 = new Dictionary <string, object>
                {
                    { "Location", "Tortoise.Client.Module.Login.ReadAuthKey.1" }
                };
                var dbglvl1 = new Dictionary <string, object>(dbglvl0)
                {
                    { "length Error", length.Reason }
                };
                var dbglvl2 = new Dictionary <string, object>(dbglvl1)
                {
                    { "ByteReader Dump", data.DumpDebugInfo() }
                };
                Debugging.SyncError(Sender, dbglvl0, dbglvl1, dbglvl2);
                return(ExecutionState.Failed());
            }
            var key = data.ReadBytes(length.Result);

            if (!key)
            {
                var dbglvl0 = new Dictionary <string, object>
                {
                    { "Location", "Tortoise.Client.Module.Login.ReadAuthKey.2" }
                };
                var dbglvl1 = new Dictionary <string, object>(dbglvl0)
                {
                    { "key Error", key.Reason }
                };
                var dbglvl2 = new Dictionary <string, object>(dbglvl1)
                {
                    { "ByteReader Dump", data.DumpDebugInfo() }
                };
                Debugging.SyncError(Sender, dbglvl0, dbglvl1, dbglvl2);
                return(ExecutionState.Failed());
            }

            AuthKey = key.Result;
            return(ExecutionState.Succeeded());
        }
Ejemplo n.º 3
0
        ExecutionState <bool> ReadLoginRequest(Connection Sender, ByteReader data)
        {
            if (LoginAttempt == null)
            {
                throw new Exception("LoginAttempt was never assigned!");
            }

            var username = data.ReadString();
            var password = data.ReadString();

            //Error point 1
            if (!username || !password)
            {
                var dbglvl0 = new Dictionary <string, object>
                {
                    { "Location", "Tortoise.Server.Module.Login.ReadLoginRequest.1" }
                };
                var dbglvl1 = new Dictionary <string, object>(dbglvl0)
                {
                    { "Username Error", username.Reason },
                    { "Password Error", username.Reason }
                };
                var dbglvl2 = new Dictionary <string, object>(dbglvl1)
                {
                    { "ByteReader Dump", data.DumpDebugInfo() }
                };
                Debugging.SyncError(Sender, dbglvl0, dbglvl1, dbglvl2);
                return(ExecutionState <bool> .Failed());
            }
            var result = LoginAttempt(Sender, username.Result, password.Result);

            //Error point 2
            if (!result)
            {
                var dbglvl0 = new Dictionary <string, object>
                {
                    { "Location", "Tortoise.Server.Module.Login.ReadLoginRequest.2" }
                };
                var dbglvl1 = new Dictionary <string, object>(dbglvl0)
                {
                    { "LoginAttempt result Error", result.Reason }
                };
                var dbglvl2 = new Dictionary <string, object>(dbglvl1)
                {
                    { "ByteReader Dump", data.DumpDebugInfo() }
                };
                Debugging.SyncError(Sender, dbglvl0, dbglvl1, dbglvl2);
                return(ExecutionState <bool> .Failed());
            }

            ByteWriter bw = new ByteWriter();

            bw.Write(_packet_LoginResponce);
            bw.Write(result.Result);
            if (!ConnectionData.GetPlayerData(Sender).UIntValues.ContainsKey("UserID"))
            {
                ConnectionData.GetPlayerData(Sender).UIntValues.Add("UserID", 0);
            }
            bw.Write(ConnectionData.GetPlayerData(Sender).UIntValues["UserID"]);

            Sender.WriteModulePacket(bw.GetArray(), LoginLoader.ClientModuleComID);
            return(ExecutionState <bool> .Succeeded(result.Result));
        }