Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [PacketHandler(Operation.MatchLoginNHN, PacketFlags.None)]
- public static void ProcessLoginRequest(Client client, PacketReader packetReader)
- {
- var user = packetReader.ReadString();
- var pass = packetReader.ReadString();
- var version = packetReader.ReadInt32();
- var checksum = packetReader.ReadInt32();
- var totalSize = packetReader.ReadInt32();
- var blobSize = packetReader.ReadInt32();
- var blobCount = packetReader.ReadInt32();
- var md5 = new byte[blobSize*blobCount];
- packetReader.Read(md5, 0, blobSize);
- if (blobSize > 32)
- {
- client.Disconnect();
- return;
- }
- if (!Globals.AcceptedString.IsMatch(user) || !Globals.AcceptedString.IsMatch(pass))
- {
- Match.ResponseLogin(client, Results.LoginAuthenticationFailed, user, UGradeId.Guest, PGradeId.Free, new Muid(0,0));
- client.Disconnect();
- return;
- }
- Database.GetAccount(user, pass, ref client.ClientPlayer.PlayerAccount);
- if (client.ClientPlayer.PlayerAccount.AccountId == 0)
- {
- Match.ResponseLogin(client, Results.LoginIncorrectPassword, user, UGradeId.Guest, PGradeId.Free, new Muid(0, 0));
- client.Disconnect();
- return;
- }
- if (client.ClientPlayer.PlayerAccount.Access == UGradeId.Banned || client.ClientPlayer.PlayerAccount.Access == UGradeId.Criminal)
- {
- Match.ResponseLogin(client, Results.LoginBannedId, user, UGradeId.Guest, PGradeId.Free, new Muid(0, 0));
- client.Disconnect();
- return;
- }
- if (version != Globals.Config.Client.Version)
- {
- Match.ResponseLogin(client, Results.LoginInvalidVersion, user, UGradeId.Guest, PGradeId.Free, new Muid(0, 0));
- return;
- }
- if (Globals.Config.Client.UseCrc)
- {
- if ((checksum^0) != Globals.Config.Client.FileList)
- {
- Match.ResponseLogin(client, Results.LoginInvalidVersion, user, UGradeId.Guest, PGradeId.Free, new Muid(0, 0));
- client.Disconnect();
- return;
- }
- }
- client.ClientFlags = PacketFlags.Login;
- Match.ResponseLogin(client, Results.Accepted, user, client.ClientPlayer.PlayerAccount.Access, PGradeId.Free, client.ClientPlayer.PlayerId);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement