Advertisement
Guest User

Untitled

a guest
Jun 12th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.66 KB | None | 0 0
  1.         [PacketHandler(Operation.MatchLoginNHN, PacketFlags.None)]
  2.         public static void ProcessLoginRequest(Client client, PacketReader packetReader)
  3.         {
  4.             var user = packetReader.ReadString();
  5.             var pass = packetReader.ReadString();
  6.             var version = packetReader.ReadInt32();
  7.             var checksum = packetReader.ReadInt32();
  8.             var totalSize = packetReader.ReadInt32();
  9.             var blobSize = packetReader.ReadInt32();
  10.             var blobCount = packetReader.ReadInt32();
  11.             var md5 = new byte[blobSize*blobCount];
  12.            
  13.             packetReader.Read(md5, 0, blobSize);
  14.  
  15.             if (blobSize > 32)
  16.             {
  17.                 client.Disconnect();
  18.                 return;
  19.             }
  20.  
  21.             if (!Globals.AcceptedString.IsMatch(user) || !Globals.AcceptedString.IsMatch(pass))
  22.             {
  23.                 Match.ResponseLogin(client, Results.LoginAuthenticationFailed, user, UGradeId.Guest, PGradeId.Free, new Muid(0,0));
  24.                 client.Disconnect();
  25.                 return;
  26.             }
  27.  
  28.             Database.GetAccount(user, pass, ref client.ClientPlayer.PlayerAccount);
  29.  
  30.             if (client.ClientPlayer.PlayerAccount.AccountId == 0)
  31.             {
  32.                 Match.ResponseLogin(client, Results.LoginIncorrectPassword, user, UGradeId.Guest, PGradeId.Free, new Muid(0, 0));
  33.                 client.Disconnect();
  34.                 return;
  35.             }
  36.            
  37.             if (client.ClientPlayer.PlayerAccount.Access == UGradeId.Banned || client.ClientPlayer.PlayerAccount.Access == UGradeId.Criminal)
  38.             {
  39.                 Match.ResponseLogin(client, Results.LoginBannedId, user, UGradeId.Guest, PGradeId.Free, new Muid(0, 0));
  40.                 client.Disconnect();
  41.                 return;
  42.             }
  43.            
  44.             if (version != Globals.Config.Client.Version)
  45.             {
  46.                 Match.ResponseLogin(client, Results.LoginInvalidVersion, user, UGradeId.Guest, PGradeId.Free, new Muid(0, 0));
  47.                 return;
  48.             }
  49.  
  50.             if (Globals.Config.Client.UseCrc)
  51.             {
  52.                 if ((checksum^0) != Globals.Config.Client.FileList)
  53.                 {
  54.                     Match.ResponseLogin(client, Results.LoginInvalidVersion, user, UGradeId.Guest, PGradeId.Free, new Muid(0, 0));
  55.                     client.Disconnect();
  56.                     return;
  57.                 }
  58.             }
  59.  
  60.             client.ClientFlags = PacketFlags.Login;
  61.             Match.ResponseLogin(client, Results.Accepted, user, client.ClientPlayer.PlayerAccount.Access, PGradeId.Free, client.ClientPlayer.PlayerId);
  62.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement