Ejemplo n.º 1
0
 public static void Process_MsgRegisterPacket(Player client, RegisterPacket packet)
 {
     if (!Common.ValidChars.IsMatch(packet.CharacterName) || packet.CharacterName.Length < 3 || packet.CharacterName.Length >= 16 || packet.CharacterName.ToLower().Contains("admin"))
     {
         client.Send(new TalkPacket(ChatType.Register, "Invalid character name"));
         return;
     }
     if (Database.ServerDatabase.Context.Characters.GetByName(packet.CharacterName) != null)
     {
         client.Send(new TalkPacket(ChatType.Register, "Character name already in use"));
         return;
     }
     if (!Common.ValidCharacterMeshes.Contains(packet.Mesh))
     {
         client.Send(new TalkPacket(ChatType.Register, "Invalid character mesh " + packet.Mesh));
         return;
     }
     if (!Common.ValidBaseProfessions.Contains(packet.Profession))
     {
         client.Send(new TalkPacket(ChatType.Register, "Invalid character profession " + packet.Profession));
         return;
     }
     client.CreateDbCharacter(packet.CharacterName, packet.Mesh, packet.Profession);
     client.Send(new TalkPacket(ChatType.Register, Constants.REPLY_OK_STR));
 }
Ejemplo n.º 2
0
        public void Register(string username, string password)
        {
            SHA256Managed sha            = new SHA256Managed();
            StringBuilder hashedPassword = new System.Text.StringBuilder();

            byte[] crypto = sha.ComputeHash(Encoding.UTF8.GetBytes(password), 0, Encoding.UTF8.GetByteCount(password));
            foreach (byte theByte in crypto)
            {
                hashedPassword.Append(theByte.ToString("x2"));
            }
            RegisterPacket packet = new RegisterPacket();

            packet.username = username;
            packet.password = hashedPassword.ToString();
            SendPacket(packet);
        }
Ejemplo n.º 3
0
        public ResponseCode Register(string name, string email, string pass)
        {
            RegisterPacket packet = new RegisterPacket()
            {
                Username = name,
                Email    = email,
                Password = pass
            };

            UdpClient receiver = new UdpClient((int)Port.Client_ResponseReceive);

            SendPacket(Crypto.SimEncrypt(packet.BuildPacket()));
            ResponseCode responseCode = GetResponseCode(ReceiveResponse(receiver).Split('%')[1]);

            receiver.Close();

            return(responseCode);
        }
        private void handleRegister(RegisterPacket p, Client client)
        {
            User user = User.createUser(p.username, p.password, 0);

            string token;
            RegisterResponsePacket packet = new RegisterResponsePacket();

            try
            {
                token        = UserManager.Instance.addNewUser(user, client);
                packet.token = token;
                Console.WriteLine("[Auth] Client registered : " + p.username);

                try
                {
                    packet.rank     = UserManager.Instance.getUserRank(packet.token);
                    packet.message  = "";
                    packet.username = UserManager.Instance.getUsernameFromToken(token);
                    packet.success  = true;
                }
                catch (Exception e)
                {
                    packet.success = false;
                    packet.message = e.Message;
                    packet.rank    = -1;
                }
            } catch (Exception e)
            {
                Console.WriteLine("[Auth] Failed to register client : " + p.username);
                Console.WriteLine("[ERROR] " + e.Message);
                packet.success = false;
                packet.message = e.Message;
            }

            client.SendPacket(packet);
        }