unsafe void TestFail(string username, string password, ALRReason expectedFailReason) { using (MockClient client = new MockClient(45, TestUserIP)) { Assert.AreEqual(0u, client.SocketDataLength, "Data length should be zero"); MockClient_80_Login packetIn = new MockClient_80_Login(client.Socket, username, password); client.Enqueue(packetIn); Assert.AreEqual(packetIn.Length, client.SocketDataLength, "Socket should contain packet, datalength should equal packet length."); try { Packet80_LoginRequest packetOut = client.ProcessAndCheck(packetIn) as Packet80_LoginRequest; } catch (VerificationException ex) { Assert.Fail(ex.Message); } Assert.AreEqual(0u, client.SocketDataLength, "Packet should have been removed."); MockServer_82_LoginDenied expectedPacketResponse = new MockServer_82_LoginDenied(expectedFailReason); string responce = ((MockPacketEngine)Server.PacketEngine).VerifySent(client, expectedPacketResponse.PacketData); Assert.IsTrue(string.IsNullOrEmpty(responce), "Failed to verify reject packet: {0}", responce); } }
/** * Packet: 0x82 * Length: 2 bytes * * Sends a reason for rejecting the login */ public static void SendAccountLoginRejected(this NetState ns, ALRReason reason) { if (ns != null && ns.GetSendBuffer(out var buffer)) { buffer[0] = 0x82; // Packet ID buffer[1] = (byte)reason; ns.Send(ref buffer, 2); } }
public static void AccountLogin_ReplyRej( NetState state, ALRReason reason ) { state.Send( new AccountLoginRej( reason ) ); state.Dispose(); }
public AccountLoginRej( ALRReason reason ) : base(0x82, 2) { m_Stream.Write( (byte)reason ); }
public AccountLoginRej(ALRReason reason) : base(0x82, 2) { Stream.Write((byte)reason); }
public static void AccountLogin_ReplyRej(NetState state, ALRReason reason) { state.Send(new AccountLoginRej(reason)); state.Dispose(); }
public Packet82_LoginDenied_1_23_0(ALRReason reason) : base(0x82, 2) { m_Data[1] = (byte)reason; }
public MockServer_82_LoginDenied(ALRReason reason) : base(0x82, 2) { PacketData[1] = (byte)reason; }
// Methods public AccountLoginRej(ALRReason reason) : base(130, 2) { this.m_Stream.Write(((byte)reason)); }
public void AccountLogin_ReplyRej( GameClient state, ALRReason reason ) { state.Send( new AccountLoginRej( reason ) ); state.Dispose(); }