diff options
author | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-12-25 04:52:51 +0000 |
---|---|---|
committer | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-12-25 04:52:51 +0000 |
commit | 81ae893c31fe462650b9793076df2467fd897181 (patch) | |
tree | 4c4c93f8d5882c5f2092924f626a67e080149a5d | |
parent | 8b6cf6a48586317e5629bddf5a32dc84b2663d63 (diff) | |
download | NorthstarLauncher-81ae893c31fe462650b9793076df2467fd897181.tar.gz NorthstarLauncher-81ae893c31fe462650b9793076df2467fd897181.zip |
change how we handle invalid servers
-rw-r--r-- | NorthstarDedicatedTest/masterserver.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/NorthstarDedicatedTest/masterserver.cpp b/NorthstarDedicatedTest/masterserver.cpp index 69a27454..fa918c5c 100644 --- a/NorthstarDedicatedTest/masterserver.cpp +++ b/NorthstarDedicatedTest/masterserver.cpp @@ -190,19 +190,14 @@ void MasterServerManager::RequestServerList() || !serverObj.HasMember("description") || !serverObj["description"].IsString() || !serverObj.HasMember("map") || !serverObj["map"].IsString() || !serverObj.HasMember("playlist") || !serverObj["playlist"].IsString() + || !serverObj.HasMember("playerCount") || !serverObj["playerCount"].IsNumber() || !serverObj.HasMember("maxPlayers") || !serverObj["maxPlayers"].IsNumber() || !serverObj.HasMember("hasPassword") || !serverObj["hasPassword"].IsBool() || !serverObj.HasMember("modInfo") || !serverObj["modInfo"].HasMember("Mods") || !serverObj["modInfo"]["Mods"].IsArray() ) { spdlog::error("Failed reading masterserver response: malformed server object"); - goto REQUEST_END_CLEANUP; - } - - int playerCount = 0; - if (!serverObj.HasMember("playerCount") || !serverObj["playerCount"].IsNumber()) - playerCount = 0; - else - playerCount = serverObj["playerCount"].GetInt(); + continue; + }; const char* id = serverObj["id"].GetString(); @@ -214,7 +209,7 @@ void MasterServerManager::RequestServerList() // if server already exists, update info rather than adding to it if (!strncmp((const char*)server.id, id, 32)) { - server = RemoteServerInfo(id, serverObj["name"].GetString(), serverObj["description"].GetString(), serverObj["map"].GetString(), serverObj["playlist"].GetString(), playerCount, serverObj["maxPlayers"].GetInt(), serverObj["hasPassword"].IsTrue()); + server = RemoteServerInfo(id, serverObj["name"].GetString(), serverObj["description"].GetString(), serverObj["map"].GetString(), serverObj["playlist"].GetString(), serverObj["playerCount"].GetInt(), serverObj["maxPlayers"].GetInt(), serverObj["hasPassword"].IsTrue()); newServer = &server; createNewServerInfo = false; break; |