Ok so I have been working on ascent 4.0.6 recently. I was doing it could months back but had other things to do but im back on the case now.
I have got a fresh extract of the source and done all the usual update opcodes, updatefields, player, charhandler and such but I am really stuck now and need some assstance.
When the server is running I login via the client and select a realm then it gets stuck on connecting. I look on the console in debug mode and in the packet logs and basically from what I can tell the:
Code:
// Send out a request for this account.
mRequestID = sLogonCommHandler.ClientConnected(account, this);
Is not getting the account name as it appears as ' ' on the console, I have WorldSocket::OnConnect correct and it sends the packet right then i get a good client response in which has the account name however when the server tries to WorldSocket::_HandleAuthSession this is where I think it goes wrong. I get on the next packet to be sent 0D which is from:
Code:
// something happened wrong @ the logon server
OutPacket(SMSG_AUTH_RESPONSE, 1, "\x0D");
So it links back to the mRequestID and it parsing the packet correctly(i think).
Code:
void WorldSocket::_HandleAuthSession(WorldPacket* recvPacket)
{
std::string account;
_latency = getMSTime() - _latency;
WorldPacket addonPack;
uint32 unk2,unk3;
uint32 unk4,unk5,unk6,unk7,unk8;
try
{
*recvPacket >> mClientBuild;
*recvPacket >> unk2;
*recvPacket >> account;
*recvPacket >> unk3;
*recvPacket >> mClientSeed;
*recvPacket >> unk4;
*recvPacket >> unk5;
*recvPacket >> unk6;
*recvPacket >> unk7;
*recvPacket >> unk8;
}
catch(ByteBuffer::error &)
{
sLog.outDetail("Incomplete copy of AUTH_SESSION Received.");
return;
}
// Send out a request for this account.
mRequestID = sLogonCommHandler.ClientConnected(account, this);
...
So I assume that is wrong as its not retrieving the correct account but this is where I'm stuck and need help. So far I'm only trying to get to the char creation screen, eventually I will port this over to Arcemu.
Any ideas?
Cheers