private static void SendConnectionRequest(ClientInfo client, byte sessionID) { QPacket qp = new QPacket(); qp.m_oSourceVPort = new QPacket.VPort(0x11); qp.m_oDestinationVPort = new QPacket.VPort(0x11); qp.type = QPacket.PACKETTYPE.SYN; qp.flags = new List <QPacket.PACKETFLAG>() { QPacket.PACKETFLAG.FLAG_ACK, QPacket.PACKETFLAG.FLAG_HAS_SIZE }; qp.m_uiConnectionSignature = client.IDsend; qp.payload = new byte[0]; DO.Send(qp, client); qp = new QPacket(); qp.m_bySessionID = sessionID; qp.m_oSourceVPort = new QPacket.VPort(0x11); qp.m_oDestinationVPort = new QPacket.VPort(0x11); qp.type = QPacket.PACKETTYPE.CONNECT; qp.flags = new List <QPacket.PACKETFLAG>() { QPacket.PACKETFLAG.FLAG_RELIABLE, QPacket.PACKETFLAG.FLAG_NEED_ACK, QPacket.PACKETFLAG.FLAG_HAS_SIZE }; qp.m_uiSignature = client.IDsend; qp.m_uiConnectionSignature = client.IDrecv; MemoryStream m = new MemoryStream(); Helper.WriteU32(m, 8); Helper.WriteU32(m, new DupObj(DupObjClass.Station, 1)); Helper.WriteU32(m, new DupObj(DupObjClass.Station, 2)); DO.MakeAndSend(client, qp, m.ToArray()); }