static public void HandlePacket(BaseClient client, PacketIn packet) { LobbyClient cclient = client as LobbyClient; byte[] PublicKey = new byte[64]; for (int i = 0; i < 64; ++i) { PublicKey[i] = packet.GetUint8(); } Reverse(PublicKey, 64); cclient.A = PublicKey; UInt16 unk = packet.GetUint16(); byte[] Proof = new byte[20]; for (int i = 0; i < 20; ++i) { Proof[i] = packet.GetUint8(); } Reverse(Proof, 20); cclient.Proof = Proof; if (IsValid(cclient)) { ANS_LOGIN_SUCCES.Send(cclient); } else { cclient.Disconnect(); } }
static public void Send(LobbyClient client) { PacketOut Out = new PacketOut((UInt32)Opcodes.ANS_CHARACTER_CREATE); if (client.Pending.Index < 1) Out.WriteInt32Reverse((int)ResponseCodes.RC_FAILED); else { Out.WriteInt32Reverse((int)ResponseCodes.RC_SUCCESS); Out.WriteInt32Reverse(client.Pending.Slot); } client.Pending = default(CharacterEntry); client.Send(Out); System.Threading.Thread.Sleep(200); client.Disconnect(); }
public static void SendLoginResult(LobbyClient client,string Email,bool result) { if(!result) { Log.Error("ASK_LOGN","Compte introuvable !"); ANS_LOGIN_FAILED.Send(client, 10010); client.Disconnect(); } else { Log.Success("ASK_LOGN","Authentification en cours."); client.Account = Program.CharMgr.GetAccount(Email); if (client.Account == null) SendLoginResult(client, Email, false); else LOGIN_SALT.Send(client); } }
static public void SendLoginResult(LobbyClient client, string Email, bool result) { if (!result) { Log.Error("ASK_LOGN", "Compte introuvable !"); ANS_LOGIN_FAILED.Send(client, 10010); client.Disconnect(); } else { Log.Success("ASK_LOGN", "Authentification en cours."); client.Account = Program.CharMgr.GetAccount(Email); if (client.Account == null) { SendLoginResult(client, Email, false); } else { LOGIN_SALT.Send(client); } } }