I know last I worked on the login server I noticed this problem... For titanium I know that I had to update the structure and fixed the problem. For the new clients I am not so sure.
The server list response is being sent wrong. The server list header should be 20 bytes (plus the uchar* array for the server data).
The headers first byte should be 0x04, byte #5 should be 0x01, byte #9 should be 0x01, byte #11 should be 0x01.
ServerName + 1 byte
IPAddress + 1 byte
Server Tail Information (18 bytes)
The tail should be noted as this:
int8 greenname;
int8 unknown1;
int8 unknown2;
int8 unknown3;
int32 worldid;
int8 unknown1;
int8 unknown2;
int8 unknown3; // server status (up / down / locked )
int8 unknown4;
int16 usercount; // set to 0x01
int32 realusercount; // actual user count #
The last 4 bytes at the end of each server is the real user count. The 2 bytes just before that is 0x01 - I think this was to make sure I got the user count it has been a while. Then 2 bytes before that is the server status (locked, down, etc.)
__________________
www.eq2emu.com
EQ2Emu Developer
Former EQEMu Developer / GuildWars / Zek Seasons Servers
Member of the "I hate devn00b" club.
|