diff options
author | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-12-29 05:11:59 +0000 |
---|---|---|
committer | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-12-29 05:11:59 +0000 |
commit | dce1bfc7446ceb2591bee4d4ebdce4a2c5f64bda (patch) | |
tree | ea7cc03cd904073b75603de1bfb9edc3c8dc3114 | |
parent | 3b07ecab0467770ceec7b2d27cd66dadf481754c (diff) | |
download | NorthstarLauncher-dce1bfc7446ceb2591bee4d4ebdce4a2c5f64bda.tar.gz NorthstarLauncher-dce1bfc7446ceb2591bee4d4ebdce4a2c5f64bda.zip |
fix a typo and move to new ssl
-rw-r--r-- | NorthstarDedicatedTest/masterserver.cpp | 29 | ||||
-rw-r--r-- | NorthstarDedicatedTest/masterserver.h | 12 | ||||
-rw-r--r-- | NorthstarDedicatedTest/pch.h | 2 |
3 files changed, 18 insertions, 25 deletions
diff --git a/NorthstarDedicatedTest/masterserver.cpp b/NorthstarDedicatedTest/masterserver.cpp index 07428274..caa2877b 100644 --- a/NorthstarDedicatedTest/masterserver.cpp +++ b/NorthstarDedicatedTest/masterserver.cpp @@ -624,7 +624,7 @@ void MasterServerManager::AddSelfToServerList(int port, int authPort, char* name std::string strName(name); std::string strDescription(description); std::string strMap(map); - std::string strPlaylist(map); + std::string strPlaylist(playlist); std::string strPassword(password); std::thread requestThread([this, port, authPort, strName, strDescription, strMap, strPlaylist, maxPlayers, strPassword] @@ -739,18 +739,25 @@ void MasterServerManager::AddSelfToServerList(int port, int authPort, char* name // heartbeat thread // ideally this should actually be done in main thread, rather than on it's own thread, so it'd stop if server freezes std::thread heartbeatThread([this] { - CURL* curl = curl_easy_init(); - - while (*m_ownServerId) - { - Sleep(10000); - curl_easy_setopt(curl, CURLOPT_URL, fmt::format("{}/server/heartbeat?id={}&playerCount={}", Cvar_ns_masterserver_hostname->m_pszString, m_ownServerId, g_ServerAuthenticationManager->m_additionalPlayerData.size()).c_str()); - curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST"); + Sleep(5000); - curl_easy_perform(curl); - } + do + { + CURL* curl = curl_easy_init(); - curl_easy_cleanup(curl); + std::string readBuffer; + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST"); + curl_easy_setopt(curl, CURLOPT_URL, fmt::format("{}/server/heartbeat?id={}&playerCount={}", Cvar_ns_masterserver_hostname->m_pszString, m_ownServerId, g_ServerAuthenticationManager->m_additionalPlayerData.size()).c_str()); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, CurlWriteToStringBufferCallback); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer); + + CURLcode result = curl_easy_perform(curl); + if (result != CURLcode::CURLE_OK) + spdlog::warn("Heartbeat failed with error {}", curl_easy_strerror(result)); + + curl_easy_cleanup(curl); + Sleep(10000); + } while (*m_ownServerId); }); heartbeatThread.detach(); diff --git a/NorthstarDedicatedTest/masterserver.h b/NorthstarDedicatedTest/masterserver.h index 0349a518..9b55adda 100644 --- a/NorthstarDedicatedTest/masterserver.h +++ b/NorthstarDedicatedTest/masterserver.h @@ -94,18 +94,6 @@ public: bool m_bHasMainMenuPromoData = false; MainMenuPromoData m_MainMenuPromoData; -private: - void LazyCreateHttpClient(); - bool RequestServerListThread(); - bool RequestMainMenuPromosThread(); - bool AuthenticateOriginWithMasterServerThread(std::string uidStr, std::string tokenStr); - bool AuthenticateWithOwnServerThread(char* uid, char* playerToken); - bool AuthenticateWithServerThread(char* uid, char* playerToken, char* serverId, char* password); - bool AddSelfToServerListThread(int port, int authPort, char* name, char* description, char* map, char* playlist, int maxPlayers, char* password); - bool UpdateServerMapAndPlaylistThread(char* map, char* playlist, int playerCount); - bool WritePlayerPersistentDataThread(std::string playerId, char* pdata, size_t pdataSize); - bool RemoveSelfFromServerListThread(); - public: MasterServerManager(); void ClearServerList(); diff --git a/NorthstarDedicatedTest/pch.h b/NorthstarDedicatedTest/pch.h index c54fedf8..9ac5b8a9 100644 --- a/NorthstarDedicatedTest/pch.h +++ b/NorthstarDedicatedTest/pch.h @@ -9,8 +9,6 @@ #define RAPIDJSON_HAS_STDSTRING 1 // httplib ssl -#define CPPHTTPLIB_OPENSSL_SUPPORT -#define OPENSSL_API_COMPAT 0x1010100fL // add headers that you want to pre-compile here #include <Windows.h> |