I'm working on Hot & VoA code for server. I have made changes on my server code
for VoA Client. I don't want to summit any code for the server unless i know it works and
runs right.
For Svn
I made changes client.cpp file source under world.
I fixed the opcode order to read the correct way just like live server.
this is how my server reads the opcode now
[Thu Feb 09 10:01:49 2012]00043:WorldAuthenticate: Initiating Login.
[Thu Feb 09 10:01:49 2012]00044:WorldAuthenticate. I got a message of type 0x5b0b (23307).OP_GuildsList=
[Thu Feb 09 10:01:49 2012]00045:WorldAuthenticate. I got a message of type 0x1497 (5271).OP_LogServer=
[Thu Feb 09 10:01:49 2012]00046:WorldRPServer message: server name xxxxxxxxxxxx
[Thu Feb 09 10:01:49 2012]00047:WorldAuthenticate. I got a message of type 0x655c (2594
.OP_ApproveWorld=
[Thu Feb 09 10:01:50 2012]00048:WorldAuthenticate. I got a message of type 0x710e (28942).OP_EnterWorld=
[Thu Feb 09 10:01:50 2012]00049:WorldAuthenticate. I got a message of type 0x631a (25370).OP_ExpansionInfo=
[Thu Feb 09 10:01:50 2012]00050:WorldAuthenticate. I got a message of type 0x49b6 (18870).OP_SendCharInfo=
[Thu Feb 09 10:01:50 2012]00051:Check 1x. 0x3f4c3235
[Thu Feb 09 10:01:50 2012]00052:Check 1sa. 0x4de1b0f1
[Thu Feb 09 10:01:50 2012]00053:Check 1sa. 0x1fc34415
[Thu Feb 09 10:01:50 2012]00054:WorldAuthenticate. I got a message of type 0x7930 (31024).OP_PostEnterWorld=
[Thu Feb 09 10:01:50 2012]00055:WorldAuthenticate. Access granted.
missing SendlogInfo <---- SendlogInfo
OP_GuildsList=
OP_LogServer=
missing SendWorldComplete= <----- SendWorldComplete= has to do with the housing project.
OP_ApproveWorld=
OP_EnterWorld=
OP_ExpansionInfo=
OP_SendCharInfo=
OP_PostEnterWorld=
this is what i'm using right now
}
if (!pZoning)
SendGuildList();
SendLogServer();
if (!pZoning)
SendApproveWorld();
SendEnterWorld(cle->name());
SendExpansionInfo();
SendCharInfo();
if (!pZoning) {
SendPostEnterWorld();
database.LoginIP(cle->AccountID(), long2ip(GetIP()).c_str());
}
}
Client.h Headers under world the correct order.
class Client {
public:
Client(EQStreamInterface* ieqs);
~Client();
bool Process();
void ReceiveData(uchar* buf, int len);
void SendLoginInfo();
void SendGuildList();
void SendLogServer();
void SendWorldComplete();
void SendApproveWorld();
void SendEnterWorld(std::string name);
void SendExpansionInfo();
void SendCharInfo();
void SendPostEnterWorld();
void EnterWorld(bool TryBootup = true);
void ZoneUnavail();
void QueuePacket(const EQApplicationPacket* app, bool ack_req = true);
void Clearance(sint8 response);
bool GenPassKey(char* key);
client.cpp Source under world
}
if (!pZoning)
SendLoginInfo();
SendGuildList();
SendLogServer();
if (!pZoning)
SendWorldComplete();
if (!pZoning)
SendWorldcomplete();
SendApproveWorld();
SendEnterWorld(cle->name());
SendExpansionInfo();
SendCharInfo();
if (!pZoning) {
SendPostEnterWorld();
database.LoginIP(cle->AccountID(), long2ip(GetIP()).c_str());
}
SendLoginInfo , SendWorldComplete a must have for housing.
}
if (!pZoning)
SendLoginInfo();
SendGuildList();
SendLogServer();
if (!pZoning)
SendWorldComplete();
SendApproveWorld();
SendEnterWorld(cle->name());
SendExpansionInfo();
SendCharInfo();
if (!pZoning) {
SendPostEnterWorld();
database.LoginIP(cle->AccountID(), long2ip(GetIP()).c_str());
}