mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-14 19:51:29 +00:00
[Crash] Fix reload crashes (#2462)
This commit is contained in:
parent
50fc4d68aa
commit
44f760d177
@ -1896,20 +1896,26 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
}
|
}
|
||||||
case ServerOP_ReloadAAData:
|
case ServerOP_ReloadAAData:
|
||||||
{
|
{
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Alternate Advancement Data");
|
zone->SendReloadMessage("Alternate Advancement Data");
|
||||||
zone->LoadAlternateAdvancement();
|
zone->LoadAlternateAdvancement();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadAlternateCurrencies:
|
case ServerOP_ReloadAlternateCurrencies:
|
||||||
{
|
{
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Alternate Currencies");
|
zone->SendReloadMessage("Alternate Currencies");
|
||||||
zone->LoadAlternateCurrencies();
|
zone->LoadAlternateCurrencies();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadBlockedSpells:
|
case ServerOP_ReloadBlockedSpells:
|
||||||
{
|
{
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Blocked Spells");
|
zone->SendReloadMessage("Blocked Spells");
|
||||||
zone->LoadZoneBlockedSpells();
|
zone->LoadZoneBlockedSpells();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadCommands:
|
case ServerOP_ReloadCommands:
|
||||||
@ -1926,10 +1932,12 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
}
|
}
|
||||||
case ServerOP_ReloadDoors:
|
case ServerOP_ReloadDoors:
|
||||||
{
|
{
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Doors");
|
zone->SendReloadMessage("Doors");
|
||||||
entity_list.RemoveAllDoors();
|
entity_list.RemoveAllDoors();
|
||||||
zone->LoadZoneDoors();
|
zone->LoadZoneDoors();
|
||||||
entity_list.RespawnAllDoors();
|
entity_list.RespawnAllDoors();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadDzTemplates:
|
case ServerOP_ReloadDzTemplates:
|
||||||
@ -1943,8 +1951,10 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
}
|
}
|
||||||
case ServerOP_ReloadGroundSpawns:
|
case ServerOP_ReloadGroundSpawns:
|
||||||
{
|
{
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Ground Spawns");
|
zone->SendReloadMessage("Ground Spawns");
|
||||||
zone->LoadGroundSpawns();
|
zone->LoadGroundSpawns();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadLevelEXPMods:
|
case ServerOP_ReloadLevelEXPMods:
|
||||||
@ -1960,21 +1970,27 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadMerchants: {
|
case ServerOP_ReloadMerchants: {
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Merchants");
|
zone->SendReloadMessage("Merchants");
|
||||||
entity_list.ReloadMerchants();
|
entity_list.ReloadMerchants();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadNPCEmotes:
|
case ServerOP_ReloadNPCEmotes:
|
||||||
{
|
{
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("NPC Emotes");
|
zone->SendReloadMessage("NPC Emotes");
|
||||||
zone->LoadNPCEmotes(&zone->NPCEmoteList);
|
zone->LoadNPCEmotes(&zone->NPCEmoteList);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadObjects:
|
case ServerOP_ReloadObjects:
|
||||||
{
|
{
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Objects");
|
zone->SendReloadMessage("Objects");
|
||||||
entity_list.RemoveAllObjects();
|
entity_list.RemoveAllObjects();
|
||||||
zone->LoadZoneObjects();
|
zone->LoadZoneObjects();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadPerlExportSettings:
|
case ServerOP_ReloadPerlExportSettings:
|
||||||
@ -1990,13 +2006,15 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadStaticZoneData: {
|
case ServerOP_ReloadStaticZoneData: {
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Static Zone Data");
|
zone->SendReloadMessage("Static Zone Data");
|
||||||
zone->ReloadStaticData();
|
zone->ReloadStaticData();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadTasks:
|
case ServerOP_ReloadTasks:
|
||||||
{
|
{
|
||||||
if (RuleB(Tasks, EnableTaskSystem)) {
|
if (RuleB(Tasks, EnableTaskSystem) && zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Tasks");
|
zone->SendReloadMessage("Tasks");
|
||||||
HandleReloadTasks(pack);
|
HandleReloadTasks(pack);
|
||||||
}
|
}
|
||||||
@ -2005,26 +2023,35 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
}
|
}
|
||||||
case ServerOP_ReloadTitles:
|
case ServerOP_ReloadTitles:
|
||||||
{
|
{
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Titles");
|
zone->SendReloadMessage("Titles");
|
||||||
title_manager.LoadTitles();
|
title_manager.LoadTitles();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadTraps:
|
case ServerOP_ReloadTraps:
|
||||||
{
|
{
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Traps");
|
zone->SendReloadMessage("Traps");
|
||||||
entity_list.UpdateAllTraps(true, true);
|
entity_list.UpdateAllTraps(true, true);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadVariables:
|
case ServerOP_ReloadVariables:
|
||||||
{
|
{
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Variables");
|
zone->SendReloadMessage("Variables");
|
||||||
database.LoadVariables();
|
database.LoadVariables();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadVeteranRewards:
|
case ServerOP_ReloadVeteranRewards:
|
||||||
{
|
{
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Veteran Rewards");
|
zone->SendReloadMessage("Veteran Rewards");
|
||||||
zone->LoadVeteranRewards();
|
zone->LoadVeteranRewards();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadWorld:
|
case ServerOP_ReloadWorld:
|
||||||
@ -2037,15 +2064,19 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
}
|
}
|
||||||
case ServerOP_ReloadZonePoints:
|
case ServerOP_ReloadZonePoints:
|
||||||
{
|
{
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->SendReloadMessage("Zone Points");
|
zone->SendReloadMessage("Zone Points");
|
||||||
content_db.LoadStaticZonePoints(&zone->zone_point_list, zone->GetShortName(), zone->GetInstanceVersion());
|
content_db.LoadStaticZonePoints(&zone->zone_point_list, zone->GetShortName(), zone->GetInstanceVersion());
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_ReloadZoneData:
|
case ServerOP_ReloadZoneData:
|
||||||
{
|
{
|
||||||
zone_store.LoadZones(content_db);
|
zone_store.LoadZones(content_db);
|
||||||
|
if (zone && zone->IsLoaded()) {
|
||||||
zone->LoadZoneCFG(zone->GetShortName(), zone->GetInstanceVersion());
|
zone->LoadZoneCFG(zone->GetShortName(), zone->GetInstanceVersion());
|
||||||
zone->SendReloadMessage("Zone Data");
|
zone->SendReloadMessage("Zone Data");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ServerOP_CameraShake:
|
case ServerOP_CameraShake:
|
||||||
|
|||||||
@ -2872,7 +2872,8 @@ std::string Zone::GetZoneDescription()
|
|||||||
}
|
}
|
||||||
|
|
||||||
return fmt::format(
|
return fmt::format(
|
||||||
"{} ({}){}{}",
|
"PID ({}) {} ({}){}{}",
|
||||||
|
EQ::GetPID(),
|
||||||
GetLongName(),
|
GetLongName(),
|
||||||
GetZoneID(),
|
GetZoneID(),
|
||||||
(
|
(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user