mirror of
https://github.com/EQEmu/Server.git
synced 2026-09-05 07:16:37 +00:00
[Zone] Zone Routing Improvements (#4142)
* Routing changes * Update world_content_service.cpp * Cleanup routing logic * Tweaks
This commit is contained in:
@@ -52,6 +52,7 @@
|
||||
#include "../common/repositories/player_event_logs_repository.h"
|
||||
#include "../common/repositories/inventory_repository.h"
|
||||
#include "../common/events/player_event_logs.h"
|
||||
#include "../common/content/world_content_service.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <iomanip>
|
||||
@@ -771,6 +772,18 @@ bool Client::HandleEnterWorldPacket(const EQApplicationPacket *app) {
|
||||
return true;
|
||||
}
|
||||
|
||||
auto r = content_service.FindZone(zone_id, instance_id);
|
||||
if (r.zone_id && r.instance.id != instance_id) {
|
||||
LogInfo(
|
||||
"Zone [{}] has been remapped to instance_id [{}] from instance_id [{}] for client [{}]",
|
||||
r.zone.short_name,
|
||||
r.instance.id,
|
||||
instance_id,
|
||||
char_name
|
||||
);
|
||||
instance_id = r.instance.id;
|
||||
}
|
||||
|
||||
// Make sure this account owns this character
|
||||
if (temporary_account_id != account_id) {
|
||||
LogInfo("Account [{}] does not own the character named [{}] from account [{}]", account_id, char_name, temporary_account_id);
|
||||
|
||||
@@ -142,6 +142,7 @@ std::vector<Reload> reload_types = {
|
||||
Reload{.command = "base_data", .opcode = ServerOP_ReloadBaseData, .desc = "Base Data"},
|
||||
Reload{.command = "blocked_spells", .opcode = ServerOP_ReloadBlockedSpells, .desc = "Blocked Spells"},
|
||||
Reload{.command = "commands", .opcode = ServerOP_ReloadCommands, .desc = "Commands"},
|
||||
Reload{.command = "content_flags", .opcode = ServerOP_ReloadContentFlags, .desc = "Content Flags"},
|
||||
Reload{.command = "data_buckets_cache", .opcode = ServerOP_ReloadDataBucketsCache, .desc = "Data Buckets Cache"},
|
||||
Reload{.command = "doors", .opcode = ServerOP_ReloadDoors, .desc = "Doors"},
|
||||
Reload{.command = "dztemplates", .opcode = ServerOP_ReloadDzTemplates, .desc = "Dynamic Zone Templates"},
|
||||
|
||||
@@ -188,6 +188,11 @@ int main(int argc, char **argv)
|
||||
RegisterConsoleFunctions(console);
|
||||
}
|
||||
|
||||
content_service.SetDatabase(&database)
|
||||
->SetContentDatabase(&content_db)
|
||||
->SetExpansionContext()
|
||||
->ReloadContentFlags();
|
||||
|
||||
std::unique_ptr<EQ::Net::ServertalkServer> server_connection;
|
||||
server_connection = std::make_unique<EQ::Net::ServertalkServer>();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user