Sfoglia il codice sorgente

forgot to add files

LethalEncounter 4 anni fa
parent
commit
f31af3dd0d

+ 1 - 0
EQ2/source/LoginServer/LWorld.cpp

@@ -898,6 +898,7 @@ void LWorldList::Process() {
 		LogWrite(LOGIN__INFO, 0, "Login", "New Server connection: %s port %i", inet_ntoa(in), ntohs(newtcp->GetrPort()));
 		net.numservers++;
 		net.UpdateWindowTitle();
+		world_list.UpdateWorldList();
 	}
 	map<int32,LWorld*>::iterator map_list;
 	for( map_list = worldmap.begin(); map_list != worldmap.end(); ) {

+ 5 - 3
EQ2/source/LoginServer/client.cpp

@@ -167,17 +167,19 @@ bool Client::Process() {
 			case OP_LoginRequestMsg:{
 				DumpPacket(app);
 				PacketStruct* packet = configReader.getStruct("LS_LoginRequest", 1);
-				if(packet->LoadPacketData(app->pBuffer,app->size)){
+				if(packet && packet->LoadPacketData(app->pBuffer,app->size)){
 					version = packet->getType_int16_ByName("version");
 					LogWrite(LOGIN__DEBUG, 0, "Login", "Classic Client Version Provided: %i", version);
 
 					if (version == 0 || EQOpcodeManager.count(GetOpcodeVersion(version)) == 0)
 					{
 						safe_delete(packet);
-						packet = configReader.getStruct("LS_LoginRequest", 1212);
-						if (packet->LoadPacketData(app->pBuffer, app->size)) {
+						packet = configReader.getStruct("LS_LoginRequest", 1208);
+						if (packet && packet->LoadPacketData(app->pBuffer, app->size)) {
 							version = packet->getType_int16_ByName("version");
 						}
+						else
+							break;
 					}
 					//[7:19 PM] Kirmmin: Well, I very quickly learned that unknown3 in LS_LoginRequest packet is the same value as cl_eqversion in the eq2_defaults.ini file.
 

+ 2 - 2
EQ2/source/WorldServer/client.cpp

@@ -937,10 +937,10 @@ bool Client::HandlePacket(EQApplicationPacket* app) {
 			// test the original location of Version for clients older than 1212
 			version = request->getType_int16_ByName("version");
 
-			if (version == 0 || version >= 1212 || EQOpcodeManager.count(GetOpcodeVersion(version)) == 0) {
+			if (version == 0 || version >= 1208 || EQOpcodeManager.count(GetOpcodeVersion(version)) == 0) {
 				// must be new client data version method, re-fetch the packet
 				safe_delete(request);
-				request = configReader.getStruct("LoginByNumRequest", 1212);
+				request = configReader.getStruct("LoginByNumRequest", 1208);
 
 				if (request && request->LoadPacketData(app->pBuffer, app->size)) {
 					// Xinux suggests using an INT16 here. Our first new version = 57000