diff --git a/common/eqemu_config.h b/common/eqemu_config.h index 24e078a8d..7146e29a8 100644 --- a/common/eqemu_config.h +++ b/common/eqemu_config.h @@ -131,7 +131,7 @@ class EQEmuConfig : public XMLParser // Login server LoginHost = "login.eqemulator.net"; LoginPort = 5998; - LoginLegacy = true; + LoginLegacy = false; // World Locked = false; WorldTCPPort = 9000; diff --git a/loginserver/server_manager.cpp b/loginserver/server_manager.cpp index 260e61056..95a839341 100644 --- a/loginserver/server_manager.cpp +++ b/loginserver/server_manager.cpp @@ -59,11 +59,13 @@ ServerManager::ServerManager() server_connection->OnConnectionRemoved("World", [this](std::shared_ptr c) { auto iter = world_servers.begin(); while (iter != world_servers.end()) { - if ((*iter)->GetConnection()->Handle() == c->Handle()) { + if ((*iter)->GetConnection()->GetUUID() == c->GetUUID()) { Log.OutF(Logs::General, Logs::World_Server, "World server {0} has been disconnected, removing.", (*iter)->GetLongName().c_str()); world_servers.erase(iter); return; } + + ++iter; } }); }