EQTime will now save to the DB once every 10 real world minutes.

This commit is contained in:
regneq 2015-12-17 15:49:37 -08:00
parent 17bbd8dfbe
commit d449d4f54c

View File

@ -349,6 +349,8 @@ int main(int argc, char** argv) {
time_t realtime;
eqTime = database.LoadTime(realtime);
zoneserver_list.worldclock.SetCurrentEQTimeOfDay(eqTime, realtime);
Timer EQTimeTimer(600000);
EQTimeTimer.Start(600000);
Log.Out(Logs::General, Logs::World_Server, "Loading launcher list..");
launcher_list.LoadList();
@ -473,6 +475,16 @@ int main(int argc, char** argv) {
database.PurgeExpiredInstances();
}
if (EQTimeTimer.Check())
{
TimeOfDay_Struct tod;
zoneserver_list.worldclock.GetCurrentEQTimeOfDay(time(0), &tod);
if (!database.SaveTime(tod.minute, tod.hour, tod.day, tod.month, tod.year))
Log.Out(Logs::General, Logs::World_Server, "Failed to save eqtime.");
else
Log.Out(Logs::General, Logs::World_Server, "EQTime successfully saved.");
}
//check for timeouts in other threads
timeout_manager.CheckTimeouts();
loginserverlist.Process();
@ -522,10 +534,6 @@ int main(int argc, char** argv) {
void CatchSignal(int sig_num) {
Log.Out(Logs::General, Logs::World_Server,"Caught signal %d",sig_num);
TimeOfDay_Struct eqTime;
zoneserver_list.worldclock.GetCurrentEQTimeOfDay(time(0), &eqTime);
if (!database.SaveTime(eqTime.minute, eqTime.hour, eqTime.day, eqTime.month, eqTime.year))
Log.Out(Logs::General, Logs::World_Server, "Failed to save eqtime.");
RunLoops = false;
}