From a8dfa4b004ba9432546563ff59be8f8dbc1d7591 Mon Sep 17 00:00:00 2001 From: Tixx <83774803+WiserTixx@users.noreply.github.com> Date: Fri, 7 Aug 2026 01:33:19 +0200 Subject: [PATCH] Move server time partially into header file --- include/TServer.h | 2 ++ src/TServer.cpp | 15 +++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/include/TServer.h b/include/TServer.h index 3202c9e..3c5be8c 100644 --- a/include/TServer.h +++ b/include/TServer.h @@ -53,7 +53,9 @@ public: io_context& IoCtx() { return mIoCtxPoller.IoCtx(); } + uint64_t GetServerTimeMS() const { return std::chrono::duration_cast(std::chrono::steady_clock::now() - TimeSyncStart).count();} private: + std::chrono::time_point TimeSyncStart; TIoPollThread mIoCtxPoller; TClientSet mClients; mutable RWMutex mClientsMutex; diff --git a/src/TServer.cpp b/src/TServer.cpp index a80c1ee..ef0e27b 100644 --- a/src/TServer.cpp +++ b/src/TServer.cpp @@ -123,6 +123,12 @@ TEST_CASE("GetPidVid") { TServer::TServer(const std::vector& Arguments) { beammp_info("BeamMP Server v" + Application::ServerVersionString()); Application::SetSubsystemStatus("Server", Application::Status::Starting); + std::mt19937_64 TimeSyncRandomDevice(std::random_device{}()); + + TimeSyncStart = std::chrono::steady_clock::now() + - std::chrono::duration_cast( + std::chrono::duration(std::uniform_real_distribution(0.0, 2592000.0)(TimeSyncRandomDevice)) + ); Application::SetSubsystemStatus("Server", Application::Status::Good); } @@ -156,13 +162,6 @@ size_t TServer::ClientCount() const { return mClients.size(); } -std::mt19937_64 TimeSyncRandomDevice(std::random_device{}()); - -auto TimeSyncStart = std::chrono::steady_clock::now() - - std::chrono::duration_cast( - std::chrono::duration(std::uniform_real_distribution(0.0, 2592000.0)(TimeSyncRandomDevice)) - ); - void TServer::GlobalParser(const std::weak_ptr& Client, std::vector&& Packet, TPPSMonitor& PPSMonitor, TNetwork& Network, bool udp) { constexpr std::string_view ABG = "ABG:"; if (Packet.size() >= ABG.size() && std::equal(Packet.begin(), Packet.begin() + ABG.size(), ABG.begin(), ABG.end())) { @@ -219,7 +218,7 @@ void TServer::GlobalParser(const std::weak_ptr& Client, std::vector(std::chrono::steady_clock::now() - TimeSyncStart).count(); + auto Time = GetServerTimeMS(); std::vector ServerTime(sizeof(uint64_t)); std::memcpy(ServerTime.data(), &Time, sizeof(uint64_t));