// generate a list
using (var realms = new BinaryWriter(new MemoryStream()))
{
realms.Write((uint)0);
realms.Write((ushort)1);
/*
* pkt << uint8(i->second.icon); // realm type
pkt << uint8(lock); // if 1, then realm locked
pkt << uint8(color); // if 2, then realm is offline
pkt << i->first; // name
pkt << i->second.address; // address
pkt << float(i->second.populationLevel);
pkt << uint8(AmountOfCharacters);
pkt << uint8(i->second.timezone); // realm category
pkt << uint8(0x2C); // unk, may be realm number/id?
* */
realms.Write((byte)1);
realms.Write((byte)0);
realms.Write((byte)1);
realms.Write(Encoding.ASCII.GetBytes("WowProxia"));
realms.Write((byte)0);
realms.Write(Encoding.ASCII.GetBytes("127.0.0.1:1234"));
realms.Write((byte)0);
realms.Write((float)0);
realms.Write((byte)0);
realms.Write((byte)1);
realms.Write((byte)0x2C);
realms.Write((byte)0x10);
realms.Write((byte)0x00);
realmData = ((MemoryStream)realms.BaseStream).ToArray();
}
using (var reply = new BinaryWriter(new MemoryStream()))
{
reply.Write((byte)Opcode.REALM_LIST);
reply.Write((ushort)realmData.Count());
reply.Write(realmData);
var replyBytes =((MemoryStream) reply.BaseStream).ToArray();
WowClient.Send(replyBytes);
return null;
}