mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 13:41:31 +00:00
Migrate zone [skip ci]
This commit is contained in:
parent
8d21225eb3
commit
3a09197d77
@ -330,7 +330,7 @@ int main(int argc, char** argv) {
|
|||||||
database.PurgeAllDeletedDataBuckets();
|
database.PurgeAllDeletedDataBuckets();
|
||||||
|
|
||||||
LogInfo("Loading zones");
|
LogInfo("Loading zones");
|
||||||
database.LoadZoneNames();
|
content_db.LoadZoneNames();
|
||||||
LogInfo("Clearing groups");
|
LogInfo("Clearing groups");
|
||||||
database.ClearGroup();
|
database.ClearGroup();
|
||||||
LogInfo("Clearing raids");
|
LogInfo("Clearing raids");
|
||||||
|
|||||||
@ -108,7 +108,7 @@ bool ZoneServer::SetZone(uint32 iZoneID, uint32 iInstanceID, bool iStaticZone) {
|
|||||||
if (zn)
|
if (zn)
|
||||||
{
|
{
|
||||||
strn0cpy(zone_name, zn, sizeof(zone_name));
|
strn0cpy(zone_name, zn, sizeof(zone_name));
|
||||||
if (database.GetZoneLongName((char*)zone_name, &longname, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr))
|
if (content_db.GetZoneLongName((char*)zone_name, &longname, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr))
|
||||||
{
|
{
|
||||||
strn0cpy(long_name, longname, sizeof(long_name));
|
strn0cpy(long_name, longname, sizeof(long_name));
|
||||||
safe_delete_array(longname);
|
safe_delete_array(longname);
|
||||||
|
|||||||
@ -1061,7 +1061,7 @@ private:
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
std::string query = "SELECT `short_name`, `long_name` FROM `zone` WHERE '' NOT IN (`short_name`, `long_name`)";
|
std::string query = "SELECT `short_name`, `long_name` FROM `zone` WHERE '' NOT IN (`short_name`, `long_name`)";
|
||||||
auto results = database.QueryDatabase(query);
|
auto results = content_db.QueryDatabase(query);
|
||||||
if (!results.Success()) {
|
if (!results.Success()) {
|
||||||
LogError("load_teleport_zone_names() - Error in zone names query: [{}]", results.ErrorMessage().c_str());
|
LogError("load_teleport_zone_names() - Error in zone names query: [{}]", results.ErrorMessage().c_str());
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -6407,7 +6407,7 @@ void Client::Handle_OP_GMZoneRequest(const EQApplicationPacket *app)
|
|||||||
strcpy(tarzone, zname);
|
strcpy(tarzone, zname);
|
||||||
|
|
||||||
// this both loads the safe points and does a sanity check on zone name
|
// this both loads the safe points and does a sanity check on zone name
|
||||||
if (!database.GetSafePoints(tarzone, 0, &tarx, &tary, &tarz, &minstatus, &minlevel)) {
|
if (!content_db.GetSafePoints(tarzone, 0, &tarx, &tary, &tarz, &minstatus, &minlevel)) {
|
||||||
tarzone[0] = 0;
|
tarzone[0] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -12418,7 +12418,7 @@ void Client::Handle_OP_SetStartCity(const EQApplicationPacket *app)
|
|||||||
zoneid = atoi(row[0]);
|
zoneid = atoi(row[0]);
|
||||||
|
|
||||||
char* name = nullptr;
|
char* name = nullptr;
|
||||||
database.GetZoneLongName(database.GetZoneName(zoneid), &name);
|
content_db.GetZoneLongName(database.GetZoneName(zoneid), &name);
|
||||||
Message(Chat::Yellow, "%d - %s", zoneid, name);
|
Message(Chat::Yellow, "%d - %s", zoneid, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4136,7 +4136,7 @@ void command_findzone(Client *c, const Seperator *sep)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
auto results = database.QueryDatabase(query);
|
auto results = content_db.QueryDatabase(query);
|
||||||
if (!results.Success()) {
|
if (!results.Success()) {
|
||||||
c->Message(Chat::White, "Error querying database.");
|
c->Message(Chat::White, "Error querying database.");
|
||||||
c->Message(Chat::White, query.c_str());
|
c->Message(Chat::White, query.c_str());
|
||||||
@ -4273,7 +4273,7 @@ void command_reloadlevelmods(Client *c, const Seperator *sep)
|
|||||||
|
|
||||||
void command_reloadzps(Client *c, const Seperator *sep)
|
void command_reloadzps(Client *c, const Seperator *sep)
|
||||||
{
|
{
|
||||||
database.LoadStaticZonePoints(&zone->zone_point_list, zone->GetShortName(), zone->GetInstanceVersion());
|
content_db.LoadStaticZonePoints(&zone->zone_point_list, zone->GetShortName(), zone->GetInstanceVersion());
|
||||||
c->Message(Chat::White, "Reloading server zone_points.");
|
c->Message(Chat::White, "Reloading server zone_points.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4950,7 +4950,7 @@ void command_gmzone(Client *c, const Seperator *sep)
|
|||||||
int16 min_status = 0;
|
int16 min_status = 0;
|
||||||
uint8 min_level = 0;
|
uint8 min_level = 0;
|
||||||
|
|
||||||
if (!database.GetSafePoints(
|
if (!content_db.GetSafePoints(
|
||||||
zone_short_name,
|
zone_short_name,
|
||||||
zone_version,
|
zone_version,
|
||||||
&target_x,
|
&target_x,
|
||||||
@ -9101,7 +9101,7 @@ void command_flagedit(Client *c, const Seperator *sep) {
|
|||||||
if(!strcasecmp(sep->arg[1], "listzones")) {
|
if(!strcasecmp(sep->arg[1], "listzones")) {
|
||||||
std::string query = "SELECT zoneidnumber, short_name, long_name, version, flag_needed "
|
std::string query = "SELECT zoneidnumber, short_name, long_name, version, flag_needed "
|
||||||
"FROM zone WHERE flag_needed != ''";
|
"FROM zone WHERE flag_needed != ''";
|
||||||
auto results = database.QueryDatabase(query);
|
auto results = content_db.QueryDatabase(query);
|
||||||
if (!results.Success()) {
|
if (!results.Success()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -9642,8 +9642,8 @@ void command_deletegraveyard(Client *c, const Seperator *sep)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
zoneid = database.GetZoneID(sep->arg[1]);
|
zoneid = content_db.GetZoneID(sep->arg[1]);
|
||||||
graveyard_id = database.GetZoneGraveyardID(zoneid, 0);
|
graveyard_id = content_db.GetZoneGraveyardID(zoneid, 0);
|
||||||
|
|
||||||
if(zoneid > 0 && graveyard_id > 0) {
|
if(zoneid > 0 && graveyard_id > 0) {
|
||||||
if(database.DeleteGraveyard(zoneid, graveyard_id))
|
if(database.DeleteGraveyard(zoneid, graveyard_id))
|
||||||
@ -12568,7 +12568,7 @@ void command_mysqltest(Client *c, const Seperator *sep)
|
|||||||
t = std::clock();
|
t = std::clock();
|
||||||
for (i = 0; i < atoi(sep->arg[1]); i++){
|
for (i = 0; i < atoi(sep->arg[1]); i++){
|
||||||
std::string query = "SELECT * FROM `zone`";
|
std::string query = "SELECT * FROM `zone`";
|
||||||
auto results = database.QueryDatabase(query);
|
auto results = content_db.QueryDatabase(query);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LogDebug("MySQL Test Took [{}] seconds", ((float)(std::clock() - t)) / CLOCKS_PER_SEC);
|
LogDebug("MySQL Test Took [{}] seconds", ((float)(std::clock() - t)) / CLOCKS_PER_SEC);
|
||||||
|
|||||||
@ -313,7 +313,7 @@ int main(int argc, char** argv) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
LogInfo("Loading zone names");
|
LogInfo("Loading zone names");
|
||||||
database.LoadZoneNames();
|
content_db.LoadZoneNames();
|
||||||
|
|
||||||
LogInfo("Loading items");
|
LogInfo("Loading items");
|
||||||
if (!database.LoadItems(hotfix_name)) {
|
if (!database.LoadItems(hotfix_name)) {
|
||||||
|
|||||||
@ -3065,7 +3065,7 @@ int32 QuestManager::GetZoneID(const char *zone) {
|
|||||||
|
|
||||||
const char* QuestManager::GetZoneLongName(const char *zone) {
|
const char* QuestManager::GetZoneLongName(const char *zone) {
|
||||||
char *long_name;
|
char *long_name;
|
||||||
database.GetZoneLongName(zone, &long_name);
|
content_db.GetZoneLongName(zone, &long_name);
|
||||||
std::string ln = long_name;
|
std::string ln = long_name;
|
||||||
safe_delete_array(long_name);
|
safe_delete_array(long_name);
|
||||||
|
|
||||||
|
|||||||
@ -156,7 +156,7 @@ bool Zone::Bootup(uint32 iZoneID, uint32 iInstanceID, bool iStaticZone) {
|
|||||||
/**
|
/**
|
||||||
* Set Shutdown timer
|
* Set Shutdown timer
|
||||||
*/
|
*/
|
||||||
uint32 shutdown_timer = static_cast<uint32>(database.getZoneShutDownDelay(zone->GetZoneID(), zone->GetInstanceVersion()));
|
uint32 shutdown_timer = static_cast<uint32>(content_db.getZoneShutDownDelay(zone->GetZoneID(), zone->GetInstanceVersion()));
|
||||||
zone->StartShutdownTimer(shutdown_timer);
|
zone->StartShutdownTimer(shutdown_timer);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -811,7 +811,7 @@ Zone::Zone(uint32 in_zoneid, uint32 in_instanceid, const char* in_short_name)
|
|||||||
pvpzone = false;
|
pvpzone = false;
|
||||||
if(database.GetServerType() == 1)
|
if(database.GetServerType() == 1)
|
||||||
pvpzone = true;
|
pvpzone = true;
|
||||||
database.GetZoneLongName(short_name, &long_name, file_name, &m_SafePoint.x, &m_SafePoint.y, &m_SafePoint.z, &pgraveyard_id, &pMaxClients);
|
content_db.GetZoneLongName(short_name, &long_name, file_name, &m_SafePoint.x, &m_SafePoint.y, &m_SafePoint.z, &pgraveyard_id, &pMaxClients);
|
||||||
if(graveyard_id() > 0)
|
if(graveyard_id() > 0)
|
||||||
{
|
{
|
||||||
LogDebug("Graveyard ID is [{}]", graveyard_id());
|
LogDebug("Graveyard ID is [{}]", graveyard_id());
|
||||||
@ -931,7 +931,7 @@ bool Zone::Init(bool iStaticZone) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
LogInfo("Loading static zone points");
|
LogInfo("Loading static zone points");
|
||||||
if (!database.LoadStaticZonePoints(&zone_point_list, short_name, GetInstanceVersion())) {
|
if (!content_db.LoadStaticZonePoints(&zone_point_list, short_name, GetInstanceVersion())) {
|
||||||
LogError("Loading static zone points failed");
|
LogError("Loading static zone points failed");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -1019,7 +1019,7 @@ bool Zone::Init(bool iStaticZone) {
|
|||||||
petition_list.ReadDatabase();
|
petition_list.ReadDatabase();
|
||||||
|
|
||||||
LogInfo("Loading timezone data");
|
LogInfo("Loading timezone data");
|
||||||
zone->zone_time.setEQTimeZone(database.GetZoneTZ(zoneid, GetInstanceVersion()));
|
zone->zone_time.setEQTimeZone(content_db.GetZoneTZ(zoneid, GetInstanceVersion()));
|
||||||
|
|
||||||
LogInfo("Init Finished: ZoneID = [{}], Time Offset = [{}]", zoneid, zone->zone_time.getEQTimeZone());
|
LogInfo("Init Finished: ZoneID = [{}], Time Offset = [{}]", zoneid, zone->zone_time.getEQTimeZone());
|
||||||
|
|
||||||
@ -1036,7 +1036,7 @@ void Zone::ReloadStaticData() {
|
|||||||
|
|
||||||
LogInfo("Reloading static zone points");
|
LogInfo("Reloading static zone points");
|
||||||
zone_point_list.Clear();
|
zone_point_list.Clear();
|
||||||
if (!database.LoadStaticZonePoints(&zone_point_list, GetShortName(), GetInstanceVersion())) {
|
if (!content_db.LoadStaticZonePoints(&zone_point_list, GetShortName(), GetInstanceVersion())) {
|
||||||
LogError("Loading static zone points failed");
|
LogError("Loading static zone points failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1082,19 +1082,44 @@ bool Zone::LoadZoneCFG(const char* filename, uint16 instance_id)
|
|||||||
memset(&newzone_data, 0, sizeof(NewZone_Struct));
|
memset(&newzone_data, 0, sizeof(NewZone_Struct));
|
||||||
map_name = nullptr;
|
map_name = nullptr;
|
||||||
|
|
||||||
if(!database.GetZoneCFG(database.GetZoneID(filename), instance_id, &newzone_data, can_bind,
|
if (!content_db.GetZoneCFG(
|
||||||
can_combat, can_levitate, can_castoutdoor, is_city, is_hotzone, allow_mercs, max_movement_update_range, zone_type, default_ruleset, &map_name))
|
content_db.GetZoneID(filename),
|
||||||
{
|
instance_id,
|
||||||
|
&newzone_data,
|
||||||
|
can_bind,
|
||||||
|
can_combat,
|
||||||
|
can_levitate,
|
||||||
|
can_castoutdoor,
|
||||||
|
is_city,
|
||||||
|
is_hotzone,
|
||||||
|
allow_mercs,
|
||||||
|
max_movement_update_range,
|
||||||
|
zone_type,
|
||||||
|
default_ruleset,
|
||||||
|
&map_name
|
||||||
|
)) {
|
||||||
// If loading a non-zero instance failed, try loading the default
|
// If loading a non-zero instance failed, try loading the default
|
||||||
if (instance_id != 0)
|
if (instance_id != 0) {
|
||||||
{
|
|
||||||
safe_delete_array(map_name);
|
safe_delete_array(map_name);
|
||||||
if(!database.GetZoneCFG(database.GetZoneID(filename), 0, &newzone_data, can_bind, can_combat, can_levitate,
|
if (!content_db.GetZoneCFG(
|
||||||
can_castoutdoor, is_city, is_hotzone, allow_mercs, max_movement_update_range, zone_type, default_ruleset, &map_name))
|
content_db.GetZoneID(filename),
|
||||||
{
|
0,
|
||||||
|
&newzone_data,
|
||||||
|
can_bind,
|
||||||
|
can_combat,
|
||||||
|
can_levitate,
|
||||||
|
can_castoutdoor,
|
||||||
|
is_city,
|
||||||
|
is_hotzone,
|
||||||
|
allow_mercs,
|
||||||
|
max_movement_update_range,
|
||||||
|
zone_type,
|
||||||
|
default_ruleset,
|
||||||
|
&map_name
|
||||||
|
)) {
|
||||||
LogError("Error loading the Zone Config");
|
LogError("Error loading the Zone Config");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1107,8 +1132,9 @@ bool Zone::LoadZoneCFG(const char* filename, uint16 instance_id)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Zone::SaveZoneCFG() {
|
bool Zone::SaveZoneCFG()
|
||||||
return database.SaveZoneCFG(GetZoneID(), GetInstanceVersion(), &newzone_data);
|
{
|
||||||
|
return content_db.SaveZoneCFG(GetZoneID(), GetInstanceVersion(), &newzone_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Zone::AddAuth(ServerZoneIncomingClient_Struct* szic) {
|
void Zone::AddAuth(ServerZoneIncomingClient_Struct* szic) {
|
||||||
@ -1487,7 +1513,7 @@ bool Zone::HasWeather()
|
|||||||
void Zone::StartShutdownTimer(uint32 set_time) {
|
void Zone::StartShutdownTimer(uint32 set_time) {
|
||||||
if (set_time > autoshutdown_timer.GetRemainingTime()) {
|
if (set_time > autoshutdown_timer.GetRemainingTime()) {
|
||||||
if (set_time == (RuleI(Zone, AutoShutdownDelay))) {
|
if (set_time == (RuleI(Zone, AutoShutdownDelay))) {
|
||||||
set_time = static_cast<uint32>(database.getZoneShutDownDelay(GetZoneID(), GetInstanceVersion()));
|
set_time = static_cast<uint32>(content_db.getZoneShutDownDelay(GetZoneID(), GetInstanceVersion()));
|
||||||
}
|
}
|
||||||
|
|
||||||
autoshutdown_timer.SetTimer(set_time);
|
autoshutdown_timer.SetTimer(set_time);
|
||||||
@ -2358,7 +2384,7 @@ uint32 Zone::GetSpawnKillCount(uint32 in_spawnid) {
|
|||||||
void Zone::UpdateHotzone()
|
void Zone::UpdateHotzone()
|
||||||
{
|
{
|
||||||
std::string query = StringFormat("SELECT hotzone FROM zone WHERE short_name = '%s'", GetShortName());
|
std::string query = StringFormat("SELECT hotzone FROM zone WHERE short_name = '%s'", GetShortName());
|
||||||
auto results = database.QueryDatabase(query);
|
auto results = content_db.QueryDatabase(query);
|
||||||
if (!results.Success())
|
if (!results.Success())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@ -170,7 +170,7 @@ void Client::Handle_OP_ZoneChange(const EQApplicationPacket *app) {
|
|||||||
int16 minstatus = 0;
|
int16 minstatus = 0;
|
||||||
uint8 minlevel = 0;
|
uint8 minlevel = 0;
|
||||||
char flag_needed[128];
|
char flag_needed[128];
|
||||||
if(!database.GetSafePoints(target_zone_name, database.GetInstanceVersion(target_instance_id), &safe_x, &safe_y, &safe_z, &minstatus, &minlevel, flag_needed)) {
|
if(!content_db.GetSafePoints(target_zone_name, database.GetInstanceVersion(target_instance_id), &safe_x, &safe_y, &safe_z, &minstatus, &minlevel, flag_needed)) {
|
||||||
//invalid zone...
|
//invalid zone...
|
||||||
Message(Chat::Red, "Invalid target zone while getting safe points.");
|
Message(Chat::Red, "Invalid target zone while getting safe points.");
|
||||||
LogError("Zoning [{}]: Unable to get safe coordinates for zone [{}]", GetName(), target_zone_name);
|
LogError("Zoning [{}]: Unable to get safe coordinates for zone [{}]", GetName(), target_zone_name);
|
||||||
@ -483,7 +483,7 @@ void Client::ZonePC(uint32 zoneID, uint32 instance_id, float x, float y, float z
|
|||||||
char* pZoneName = nullptr;
|
char* pZoneName = nullptr;
|
||||||
|
|
||||||
pShortZoneName = database.GetZoneName(zoneID);
|
pShortZoneName = database.GetZoneName(zoneID);
|
||||||
database.GetZoneLongName(pShortZoneName, &pZoneName);
|
content_db.GetZoneLongName(pShortZoneName, &pZoneName);
|
||||||
|
|
||||||
if(!pZoneName) {
|
if(!pZoneName) {
|
||||||
Message(Chat::Red, "Invalid zone number specified");
|
Message(Chat::Red, "Invalid zone number specified");
|
||||||
@ -831,7 +831,7 @@ void Client::SendZoneFlagInfo(Client *to) const {
|
|||||||
const char *short_name = database.GetZoneName(zoneid);
|
const char *short_name = database.GetZoneName(zoneid);
|
||||||
|
|
||||||
char *long_name = nullptr;
|
char *long_name = nullptr;
|
||||||
database.GetZoneLongName(short_name, &long_name);
|
content_db.GetZoneLongName(short_name, &long_name);
|
||||||
if(long_name == nullptr)
|
if(long_name == nullptr)
|
||||||
long_name = empty;
|
long_name = empty;
|
||||||
|
|
||||||
@ -839,7 +839,7 @@ void Client::SendZoneFlagInfo(Client *to) const {
|
|||||||
int16 minstatus = 0;
|
int16 minstatus = 0;
|
||||||
uint8 minlevel = 0;
|
uint8 minlevel = 0;
|
||||||
char flag_name[128];
|
char flag_name[128];
|
||||||
if(!database.GetSafePoints(short_name, 0, &safe_x, &safe_y, &safe_z, &minstatus, &minlevel, flag_name)) {
|
if(!content_db.GetSafePoints(short_name, 0, &safe_x, &safe_y, &safe_z, &minstatus, &minlevel, flag_name)) {
|
||||||
strcpy(flag_name, "(ERROR GETTING NAME)");
|
strcpy(flag_name, "(ERROR GETTING NAME)");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -861,7 +861,7 @@ bool Client::CanBeInZone() {
|
|||||||
int16 minstatus = 0;
|
int16 minstatus = 0;
|
||||||
uint8 minlevel = 0;
|
uint8 minlevel = 0;
|
||||||
char flag_needed[128];
|
char flag_needed[128];
|
||||||
if(!database.GetSafePoints(zone->GetShortName(), zone->GetInstanceVersion(), &safe_x, &safe_y, &safe_z, &minstatus, &minlevel, flag_needed)) {
|
if(!content_db.GetSafePoints(zone->GetShortName(), zone->GetInstanceVersion(), &safe_x, &safe_y, &safe_z, &minstatus, &minlevel, flag_needed)) {
|
||||||
//this should not happen...
|
//this should not happen...
|
||||||
LogDebug("[CLIENT] Unable to query zone info for ourself [{}]", zone->GetShortName());
|
LogDebug("[CLIENT] Unable to query zone info for ourself [{}]", zone->GetShortName());
|
||||||
return(false);
|
return(false);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user