You're sending it as a String
01 00 4F 70 F9 89 04 this are byte values in hex
Code:
BYTE pack[7] = {
0x01, 0x00, //packet length
0x4F, 0x70, //opcode
0x20, 0x00, //I didn't use nuconnector for quite some time now so make sure that this is the right direction to send it to
0x04 //Packet data
};
send(nuconnector, pack, sizeof(pack), 0);
If the opcode you wrote is right and I used the right direction(else just replace the 2 bytes) it should work with the code i wrote above
Note: NEVER send the packets as a string(char array).
The only time you'll see strings in packets is when text is sent.
everything else are raw values(meaning that when you e.g. want to send an int value you really need to send the bytes of an int variable)
Oh and BYTE is defined as unsigned char
EDIT: Looks like you don't use nuconnector
You must connect to it and not to the Silkroad server(IP isn't even right i guess)
If you want to write a program that is similar to nuconnector you'll need some more time
Security Bytes aren't static as far as i know and packets are encrypted(you won't be able to decrypt it w/o knowing the blowfish key)
It's best you just use nuconnector or srproxy