public byte[] PacketRequestServerInfo(ushort iPort)
 {
     byte[] b;
     using (IPCPacket IPP = new IPCPacket())
     {
         IPP.WriteWord(iPort);
         IPP.WriteByte((byte)Rnd.Next(1, 250));
         IPP.WriteByte((byte)IPCCommand.IPC_REQUEST_SERVERINFO);
         IPP.WriteWord(0);
         IPP.AddCRC();
         b = IPP.GetBytes();
     }
     return(b);
 }
 public byte[] PacketResponseServerInfo(ushort iPort, byte bStatus, ushort iMaxSlots, int iUsedSlots, ushort iVersion)
 {
     byte[] b;
     using (IPCPacket IPP = new IPCPacket())
     {
         IPP.WriteWord(iPort);
         IPP.WriteByte((byte)Rnd.Next(1, 250));
         IPP.WriteByte((byte)IPCCommand.IPC_INFO_SERVER);
         IPP.WriteWord(5);
         IPP.WriteByte(bStatus);
         IPP.WriteWord(iMaxSlots);
         IPP.WriteWord((ushort)iUsedSlots);
         IPP.WriteWord(iVersion);
         IPP.AddCRC();
         b = IPP.GetBytes();
     }
     return(b);
 }
            public byte[] PacketResponseLogin(ushort iPort, ushort wResult, ushort wID, string sBanReason)
            {
                int dLen = sBanReason.Length + 5;

                byte[] b;
                using (IPCPacket IPP = new IPCPacket())
                {
                    IPP.WriteWord(iPort);
                    IPP.WriteByte((byte)Rnd.Next(1, 250));
                    IPP.WriteByte((byte)IPCCommand.IPC_INFO_LOGIN);
                    IPP.WriteWord((byte)dLen);
                    IPP.WriteWord(wID);
                    IPP.WriteWord(wResult);
                    IPP.WriteString(sBanReason);
                    IPP.AddCRC();
                    b = IPP.GetBytes();
                }
                return(b);
            }
            public byte[] PacketRequestLogin(ushort iPort, string sUserID, string sPassword, UInt16 IPCid)
            {
                int dLen = sUserID.Length + sPassword.Length + 4;

                byte[] b;
                using (IPCPacket IPP = new IPCPacket())
                {
                    IPP.WriteWord(iPort);
                    IPP.WriteByte((byte)Rnd.Next(1, 250));
                    IPP.WriteByte((byte)IPCCommand.IPC_REQUEST_LOGIN);
                    IPP.WriteWord((ushort)dLen);
                    IPP.WriteString(sUserID);
                    IPP.WriteString(sPassword);
                    IPP.WriteWord(IPCid);
                    IPP.AddCRC();
                    b = IPP.GetBytes();
                }
                return(b);
            }
            public byte[] PacketResponseServerInfo(ushort iPort, byte bStatus, ushort iMaxSlots, int iUsedSlots, ushort iVersion)
            {
                byte[] b;
                using (IPCPacket IPP = new IPCPacket())
                {

                    IPP.WriteWord(iPort);
                    IPP.WriteByte((byte)Rnd.Next(1, 250));
                    IPP.WriteByte((byte)IPCCommand.IPC_INFO_SERVER);
                    IPP.WriteWord(5);
                    IPP.WriteByte(bStatus);
                    IPP.WriteWord(iMaxSlots);
                    IPP.WriteWord((ushort)iUsedSlots);
                    IPP.WriteWord(iVersion);
                    IPP.AddCRC();
                    b = IPP.GetBytes();
                }
                return b;
            }
 public byte[] PacketResponseLogin(ushort iPort, ushort wResult, ushort wID, string sBanReason)
 {
     int dLen = sBanReason.Length + 5;
     byte[] b;
     using (IPCPacket IPP = new IPCPacket())
     {
         IPP.WriteWord(iPort);
         IPP.WriteByte((byte)Rnd.Next(1, 250));
         IPP.WriteByte((byte)IPCCommand.IPC_INFO_LOGIN);
         IPP.WriteWord((byte)dLen);
         IPP.WriteWord(wID);
         IPP.WriteWord(wResult);
         IPP.WriteString(sBanReason);
         IPP.AddCRC();
         b = IPP.GetBytes();
     }
     return b;
 }
 public byte[] PacketRequestServerInfo(ushort iPort)
 {
     byte[] b;
     using (IPCPacket IPP = new IPCPacket())
     {
         IPP.WriteWord(iPort);
         IPP.WriteByte((byte)Rnd.Next(1, 250));
         IPP.WriteByte((byte)IPCCommand.IPC_REQUEST_SERVERINFO);
         IPP.WriteWord(0);
         IPP.AddCRC();
         b = IPP.GetBytes();
     }
     return b;
 }
 public byte[] PacketRequestLogin(ushort iPort, string sUserID, string sPassword, UInt16 IPCid)
 {
     int dLen = sUserID.Length + sPassword.Length + 4;
     byte[] b;
     using (IPCPacket IPP = new IPCPacket())
     {
         IPP.WriteWord(iPort);
         IPP.WriteByte((byte)Rnd.Next(1, 250));
         IPP.WriteByte((byte)IPCCommand.IPC_REQUEST_LOGIN);
         IPP.WriteWord((ushort)dLen);
         IPP.WriteString(sUserID);
         IPP.WriteString(sPassword);
         IPP.WriteWord(IPCid);
         IPP.AddCRC();
         b = IPP.GetBytes();
     }
     return b;
 }