diff --git a/EQ2/source/LoginServer/net.cpp b/EQ2/source/LoginServer/net.cpp index 166fa5de2..560d49343 100644 --- a/EQ2/source/LoginServer/net.cpp +++ b/EQ2/source/LoginServer/net.cpp @@ -221,6 +221,10 @@ bool NetConnection::ReadLoginConfig() { items[1] = 1; items[2] = 1; items[3] = 1; + if (!strncasecmp(type, "[", 1)) { + // new block after LoginServer, skip + break; + } if (!strncasecmp(type, "serverport", 10)) { if (Seperator::IsNumber(buf) && atoi(buf) > 0 && atoi(buf) < 0xFFFF) { port = atoi(buf); diff --git a/EQ2/source/WorldServer/LoginServer.cpp b/EQ2/source/WorldServer/LoginServer.cpp index ba6089cb5..e96e18e83 100644 --- a/EQ2/source/WorldServer/LoginServer.cpp +++ b/EQ2/source/WorldServer/LoginServer.cpp @@ -187,6 +187,7 @@ bool LoginServer::Process() { LogWrite(WORLD__ERROR, 0, "World", "Login Server returned a fatal error: %s\n", pack->pBuffer); tcpc->Disconnect(); ret = false; + net.ReadLoginINI(); break; } case ServerOP_CharTimeStamp: diff --git a/EQ2/source/WorldServer/net.cpp b/EQ2/source/WorldServer/net.cpp index f3955c8de..2315ff6cb 100644 --- a/EQ2/source/WorldServer/net.cpp +++ b/EQ2/source/WorldServer/net.cpp @@ -679,6 +679,10 @@ bool NetConnection::ReadLoginINI() { if (fscanf (f, "%[^=]=%[^\r\n]\n", type, buf) == 2) #endif { + if (!strncasecmp(type, "[", 1)) { + // new block after LoginServer, skip + break; + } if (!strncasecmp (type, "worldname", 9)) { snprintf(worldname, sizeof(worldname), "%s", buf); items[1] = 1;