aboutsummaryrefslogtreecommitdiff
path: root/Maintenance/onmaintenancetimeraction.cpp
diff options
context:
space:
mode:
authorDark1-dev <shansarkar272@gmail.com>2023-03-01 21:33:55 +0600
committerGitHub <noreply@github.com>2023-03-01 21:33:55 +0600
commit3c7253d6cdc23aac36208fa87dc6571c7cb7c5ff (patch)
tree8b5f9425bbfc4fdd5a29155aec38893b77481359 /Maintenance/onmaintenancetimeraction.cpp
parentde57bc38217c09a0ae4a143f631896652368ecc3 (diff)
downloadMasterserver-Qt5-3c7253d6cdc23aac36208fa87dc6571c7cb7c5ff.tar.gz
Masterserver-Qt5-3c7253d6cdc23aac36208fa87dc6571c7cb7c5ff.zip
Add files via upload
Diffstat (limited to 'Maintenance/onmaintenancetimeraction.cpp')
-rw-r--r--Maintenance/onmaintenancetimeraction.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/Maintenance/onmaintenancetimeraction.cpp b/Maintenance/onmaintenancetimeraction.cpp
new file mode 100644
index 0000000..97e5c51
--- /dev/null
+++ b/Maintenance/onmaintenancetimeraction.cpp
@@ -0,0 +1,28 @@
+#include "maintenance.h"
+
+// perform maintenance actions
+void Maintenance::onMaintenanceTimerAction()
+{
+ // announce
+ _coreObject->Log.logEvent("main", QStringLiteral("performing maintenance"));
+
+ // update statistics
+ int numUpdated = updateStats();
+ if (numUpdated > 0)
+ _coreObject->Log.logEvent("stat", QStringLiteral("updated %1 game stats").arg(QString::number(numUpdated)));
+
+ // prune direct beacons
+ int numPrunedBeacons = pruneBeacons();
+ if (numPrunedBeacons > 0)
+ _coreObject->Log.logEvent("prune", QStringLiteral("pruned %1 direct beacons").arg(QString::number(numPrunedBeacons)));
+
+ // prune serverinfo, serverinfo from which the serverlist entry is gone already
+ int numPrunedInfo = pruneServerInfo();
+ if (numPrunedInfo > 0)
+ _coreObject->Log.logEvent("prune", QStringLiteral("pruned %1 server info entries").arg(QString::number(numPrunedInfo)));
+
+ // prune orphaned players from which the serverinfo entry is gone already OR updateinfo is outdated
+ int numPrunedPlayers = prunePlayers();
+ if (numPrunedPlayers > 0)
+ _coreObject->Log.logEvent("prune", QStringLiteral("pruned %1 players").arg(QString::number(numPrunedPlayers)));
+}