mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-22 15:21:29 +00:00
Change drop client code to not be two step process
This commit is contained in:
parent
3f2f7b3929
commit
b754ddbc67
@ -1118,6 +1118,7 @@ bool Client::Process() {
|
|||||||
Log(Logs::General, Logs::World_Server, "Zone bootup timer expired, bootup failed or too slow.");
|
Log(Logs::General, Logs::World_Server, "Zone bootup timer expired, bootup failed or too slow.");
|
||||||
TellClientZoneUnavailable();
|
TellClientZoneUnavailable();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(connect.Check()){
|
if(connect.Check()){
|
||||||
SendGuildList();// Send OPCode: OP_GuildsList
|
SendGuildList();// Send OPCode: OP_GuildsList
|
||||||
SendApproveWorld();
|
SendApproveWorld();
|
||||||
@ -1189,9 +1190,6 @@ void Client::EnterWorld(bool TryBootup) {
|
|||||||
else
|
else
|
||||||
zone_server = zoneserver_list.FindByZoneID(zone_id);
|
zone_server = zoneserver_list.FindByZoneID(zone_id);
|
||||||
|
|
||||||
//Tell all the zones to drop any client with this lsid because we're coming back in.
|
|
||||||
zoneserver_list.DropClient(GetLSID());
|
|
||||||
|
|
||||||
const char *zone_name = database.GetZoneName(zone_id, true);
|
const char *zone_name = database.GetZoneName(zone_id, true);
|
||||||
if (zone_server) {
|
if (zone_server) {
|
||||||
// warn the world we're comming, so it knows not to shutdown
|
// warn the world we're comming, so it knows not to shutdown
|
||||||
|
|||||||
@ -536,6 +536,13 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
SetZoneData(zone->GetZoneID(), zone->GetInstanceID());
|
SetZoneData(zone->GetZoneID(), zone->GetInstanceID());
|
||||||
|
|
||||||
if (szic->zoneid == zone->GetZoneID()) {
|
if (szic->zoneid == zone->GetZoneID()) {
|
||||||
|
auto client = entity_list.GetClientByLSID(szic->lsid);
|
||||||
|
if (client) {
|
||||||
|
client->Kick("Dropped by world CLE subsystem");
|
||||||
|
client->Save();
|
||||||
|
}
|
||||||
|
|
||||||
|
zone->RemoveAuth(szic->lsid);
|
||||||
zone->AddAuth(szic);
|
zone->AddAuth(szic);
|
||||||
// This packet also doubles as "incoming client" notification, lets not shut down before they get here
|
// This packet also doubles as "incoming client" notification, lets not shut down before they get here
|
||||||
zone->StartShutdownTimer(AUTHENTICATION_TIMEOUT * 1000);
|
zone->StartShutdownTimer(AUTHENTICATION_TIMEOUT * 1000);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user