aboutsummaryrefslogtreecommitdiff
path: root/Maintenance
diff options
context:
space:
mode:
authorDarkelarious <github@333networks.com>2025-03-08 15:11:53 +0100
committerDarkelarious <github@333networks.com>2025-03-08 15:11:53 +0100
commit74ff50c5ca343b5829287f6e7ee2b916aa29720e (patch)
tree00011aba29c389b17e9a1c538e552fbe1c6e131e /Maintenance
parent920fa82d1e184732205fcbbd96b2143f9503e8e3 (diff)
downloadMasterserver-Qt5-74ff50c5ca343b5829287f6e7ee2b916aa29720e.tar.gz
Masterserver-Qt5-74ff50c5ca343b5829287f6e7ee2b916aa29720e.zip
reorganise files
Sort out code/source files that were mixed with other repository files. No new functional changes.
Diffstat (limited to 'Maintenance')
-rw-r--r--Maintenance/maintenance.cpp7
-rw-r--r--Maintenance/maintenance.h33
-rw-r--r--Maintenance/onmaintenancetimeraction.cpp28
-rw-r--r--Maintenance/prunebeacons.cpp16
-rw-r--r--Maintenance/pruneplayers.cpp18
-rw-r--r--Maintenance/pruneserverinfo.cpp15
-rw-r--r--Maintenance/schedulemaintenance.cpp16
-rw-r--r--Maintenance/updatestats.cpp59
8 files changed, 0 insertions, 192 deletions
diff --git a/Maintenance/maintenance.cpp b/Maintenance/maintenance.cpp
deleted file mode 100644
index 8869f99..0000000
--- a/Maintenance/maintenance.cpp
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "maintenance.h"
-
-Maintenance::Maintenance(const QSharedPointer<CoreObject> &coreObject)
-{
- // create local access
- this->_coreObject = coreObject;
-}
diff --git a/Maintenance/maintenance.h b/Maintenance/maintenance.h
deleted file mode 100644
index b7a63a2..0000000
--- a/Maintenance/maintenance.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef MAINTENANCE_H
-#define MAINTENANCE_H
-
-#include <QTimer>
-
-#include "Core/CoreObject/coreobject.h"
-#include "Database/databaseinterface.h"
-
-class Maintenance: public QObject
-{
- Q_OBJECT
-
-public:
- Maintenance(const QSharedPointer<CoreObject> &coreObject);
- bool scheduleMaintenance();
-
-private:
- QSharedPointer<CoreObject> _coreObject;
-
- // schedule timer
- QTimer _maintenanceTimer;
-
-private:
- int updateStats();
- int pruneBeacons();
- int pruneServerInfo();
- int prunePlayers();
-
-private slots:
- void onMaintenanceTimerAction();
-};
-
-#endif // MAINTENANCE_H
diff --git a/Maintenance/onmaintenancetimeraction.cpp b/Maintenance/onmaintenancetimeraction.cpp
deleted file mode 100644
index 97e5c51..0000000
--- a/Maintenance/onmaintenancetimeraction.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-#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)));
-}
diff --git a/Maintenance/prunebeacons.cpp b/Maintenance/prunebeacons.cpp
deleted file mode 100644
index 10e4630..0000000
--- a/Maintenance/prunebeacons.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "maintenance.h"
-
-int Maintenance::pruneBeacons()
-{
- QString updateString = "UPDATE serverlist "
- "SET f_direct = 0 "
- "WHERE f_direct = 1 AND dt_beacon < :timestamp";
- QSqlQuery updateQuery;
- updateQuery.prepare(updateString);
- updateQuery.bindValue(":timestamp", QDateTime::currentDateTime().addSecs(-600).toSecsSinceEpoch());
-
- if ( ! updateQuery.exec() )
- return reportQuery(updateQuery);
-
- return updateQuery.numRowsAffected();
-}
diff --git a/Maintenance/pruneplayers.cpp b/Maintenance/pruneplayers.cpp
deleted file mode 100644
index 0bae4f9..0000000
--- a/Maintenance/pruneplayers.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "maintenance.h"
-
-int Maintenance::prunePlayers()
-{
- QString deleteString = "DELETE FROM playerinfo "
- "WHERE playerinfo.sid NOT IN ( "
- "SELECT serverinfo.sid FROM serverinfo) "
- "OR dt_player < :timestamp";
- QSqlQuery deleteQuery;
- deleteQuery.prepare(deleteString);
- deleteQuery.bindValue(":timestamp", QDateTime::currentDateTime()
- .addSecs(-7200).toSecsSinceEpoch()); // 2 hours
-
- if ( ! deleteQuery.exec() )
- return reportQuery(deleteQuery);
-
- return deleteQuery.numRowsAffected();
-}
diff --git a/Maintenance/pruneserverinfo.cpp b/Maintenance/pruneserverinfo.cpp
deleted file mode 100644
index e3f2bd8..0000000
--- a/Maintenance/pruneserverinfo.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#include "maintenance.h"
-
-int Maintenance::pruneServerInfo()
-{
- QString deleteString = "DELETE FROM serverinfo "
- "WHERE sid NOT IN ( "
- "SELECT id FROM serverlist)";
- QSqlQuery deleteQuery;
- deleteQuery.prepare(deleteString);
-
- if ( ! deleteQuery.exec() )
- return reportQuery(deleteQuery);
-
- return deleteQuery.numRowsAffected();
-}
diff --git a/Maintenance/schedulemaintenance.cpp b/Maintenance/schedulemaintenance.cpp
deleted file mode 100644
index 3a2decd..0000000
--- a/Maintenance/schedulemaintenance.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "maintenance.h"
-
-bool Maintenance::scheduleMaintenance()
-{
- // set update timer
- connect(&_maintenanceTimer, &QTimer::timeout, this, &Maintenance::onMaintenanceTimerAction);
-
- _maintenanceTimer.setInterval( _coreObject->Settings.MaintenanceSettings.timeMaintenanceInterval_s * 1000);
- _maintenanceTimer.start();
-
- // complete startup
- _coreObject->Log.logEvent("info", QStringLiteral("performing maintenance every %1 seconds")
- .arg(_coreObject->Settings.MaintenanceSettings.timeMaintenanceInterval_s));
-
- return true;
-}
diff --git a/Maintenance/updatestats.cpp b/Maintenance/updatestats.cpp
deleted file mode 100644
index a19e7d9..0000000
--- a/Maintenance/updatestats.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#include "maintenance.h"
-
-int Maintenance::updateStats()
-{
- // result
- int numOfUpdatedStats = 0;
-
- // get list of gamenames in database
- QString selectGamenames = "SELECT DISTINCT gamename FROM serverlist";
- QSqlQuery gamenameQuery;
- gamenameQuery.prepare(selectGamenames);
- if ( ! gamenameQuery.exec() )
- return reportQuery(gamenameQuery);
-
- // update stats for every gamename
- while ( gamenameQuery.next() )
- {
- // get next gamename
- QString gamename = gamenameQuery.value(0).toString();
-
- // determine beacon and server counts
- QString selectStats = "SELECT COUNT(CASE WHEN f_direct THEN 1 END) AS num_direct, "
- "count(*) AS num_total "
- "FROM serverlist "
- "WHERE gamename = :gamename AND dt_updated > :timestamp";
- QSqlQuery statQuery;
- statQuery.prepare(selectStats);
- statQuery.bindValue(":gamename", gamename);
- statQuery.bindValue(":timestamp", QDateTime::currentDateTime()
- .addSecs(-_coreObject->Settings.ListenServerSettings.serverttl_s).toSecsSinceEpoch());
- if ( ! statQuery.exec() )
- return reportQuery(statQuery);
-
- // get values
- int num_direct = -1;
- int num_total = -1;
- if ( statQuery.next() )
- {
- num_direct = statQuery.value("num_direct").toInt();
- num_total = statQuery.value("num_total").toInt();
- }
-
- // write to db
- QString updateStatQuery = "UPDATE gameinfo "
- "SET num_direct = :num_direct, num_total = :num_total "
- "WHERE gamename = :gamename ";
- statQuery.prepare(updateStatQuery);
- statQuery.bindValue(":num_direct", num_direct);
- statQuery.bindValue(":num_total", num_total);
- statQuery.bindValue(":gamename", gamename);
- if ( ! statQuery.exec() )
- return reportQuery(statQuery);
-
- // update counter
- numOfUpdatedStats += statQuery.numRowsAffected();
- }
-
- return numOfUpdatedStats;
-}