diff --git a/zone/main.cpp b/zone/main.cpp index b947d87c4..ff68fd010 100644 --- a/zone/main.cpp +++ b/zone/main.cpp @@ -599,7 +599,6 @@ int main(int argc, char **argv) if (worldserver.Connected()) { worldwasconnected = true; - worldserver.Process(); } else { if (worldwasconnected && is_zone_loaded) { diff --git a/zone/worldserver.cpp b/zone/worldserver.cpp index 45889b380..9c0950b47 100644 --- a/zone/worldserver.cpp +++ b/zone/worldserver.cpp @@ -81,6 +81,7 @@ WorldServer::WorldServer() cur_groupid = 0; last_groupid = 0; oocmuted = false; + m_process_timer = std::make_unique(1000, true, std::bind(&WorldServer::Process, this)); } WorldServer::~WorldServer() { diff --git a/zone/worldserver.h b/zone/worldserver.h index 2e92169a5..d54731758 100644 --- a/zone/worldserver.h +++ b/zone/worldserver.h @@ -81,6 +81,7 @@ private: ZoneEventScheduler *m_zone_scheduler; // server reload queue + std::unique_ptr m_process_timer; std::mutex m_reload_mutex = {}; std::map m_reload_queue = {}; public: