mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
Change JSON field types send to master server
They were all strings; changed them to what made most sense for each field type. Changes: "hidden": string -> bool "port": string -> int "checksum": string -> uint "playerCount": string -> int "maxPlayers": string -> int
This commit is contained in:
parent
02acb45037
commit
0eaa226dce
@ -339,12 +339,12 @@ void CHostState::Think(void) const
|
||||
g_pHostState->m_levelName,
|
||||
KeyValues_GetCurrentPlaylist(),
|
||||
hostip->GetString(),
|
||||
hostport->GetString(),
|
||||
hostport->GetInt(),
|
||||
g_pNetKey->GetBase64NetKey(),
|
||||
std::to_string(*g_nServerRemoteChecksum),
|
||||
*g_nServerRemoteChecksum,
|
||||
SDK_VERSION,
|
||||
std::to_string(g_pServer->GetNumClients()),
|
||||
std::to_string(g_ServerGlobalVariables->m_nMaxClients),
|
||||
g_pServer->GetNumClients(),
|
||||
g_ServerGlobalVariables->m_nMaxClients,
|
||||
std::chrono::duration_cast<std::chrono::milliseconds>(
|
||||
std::chrono::system_clock::now().time_since_epoch()
|
||||
).count()
|
||||
|
@ -204,8 +204,8 @@ namespace VScriptCode
|
||||
return SQ_ERROR;
|
||||
}
|
||||
|
||||
const string& playerCount = g_pServerListManager->m_vServerList[iServer].m_svPlayerCount.c_str();
|
||||
sq_pushinteger(v, strtol(playerCount.c_str(), NULL, NULL));
|
||||
const SQInteger playerCount = g_pServerListManager->m_vServerList[iServer].m_nPlayerCount;
|
||||
sq_pushinteger(v, playerCount);
|
||||
|
||||
return SQ_OK;
|
||||
}
|
||||
@ -223,8 +223,8 @@ namespace VScriptCode
|
||||
return SQ_ERROR;
|
||||
}
|
||||
|
||||
const string& maxPlayers = g_pServerListManager->m_vServerList[iServer].m_svMaxPlayers;
|
||||
sq_pushinteger(v, strtol(maxPlayers.c_str(), NULL, NULL));
|
||||
const SQInteger maxPlayers = g_pServerListManager->m_vServerList[iServer].m_nMaxPlayers;
|
||||
sq_pushinteger(v, maxPlayers);
|
||||
|
||||
return SQ_OK;
|
||||
}
|
||||
@ -322,7 +322,7 @@ namespace VScriptCode
|
||||
|
||||
const NetGameServer_t& gameServer = g_pServerListManager->m_vServerList[iServer];
|
||||
|
||||
g_pServerListManager->ConnectToServer(gameServer.m_svIpAddress, gameServer.m_svGamePort,
|
||||
g_pServerListManager->ConnectToServer(gameServer.m_svIpAddress, gameServer.m_nGamePort,
|
||||
gameServer.m_svEncryptionKey);
|
||||
|
||||
return SQ_OK;
|
||||
@ -344,7 +344,7 @@ namespace VScriptCode
|
||||
bool result = g_pMasterServer->GetServerByToken(netListing, hiddenServerRequestMessage, privateToken); // Send token connect request.
|
||||
if (result)
|
||||
{
|
||||
g_pServerListManager->ConnectToServer(netListing.m_svIpAddress, netListing.m_svGamePort, netListing.m_svEncryptionKey);
|
||||
g_pServerListManager->ConnectToServer(netListing.m_svIpAddress, netListing.m_nGamePort, netListing.m_svEncryptionKey);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -295,7 +295,9 @@ void CBrowser::BrowserPanel(void)
|
||||
const char* pszHostName = server.m_svHostName.c_str();
|
||||
const char* pszHostMap = server.m_svHostMap.c_str();
|
||||
const char* pszPlaylist = server.m_svPlaylist.c_str();
|
||||
const char* pszHostPort = server.m_svGamePort.c_str();
|
||||
|
||||
char pszHostPort[32];
|
||||
sprintf(pszHostPort, "%d", server.m_nGamePort);
|
||||
|
||||
if (m_imServerBrowserFilter.PassFilter(pszHostName)
|
||||
|| m_imServerBrowserFilter.PassFilter(pszHostMap)
|
||||
@ -311,7 +313,7 @@ void CBrowser::BrowserPanel(void)
|
||||
ImGui::Text("%s", pszPlaylist);
|
||||
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::Text("%s", Format("%3d/%3d", strtol(server.m_svPlayerCount.c_str(), NULL, NULL), strtol(server.m_svMaxPlayers.c_str(), NULL, NULL)).c_str());
|
||||
ImGui::Text("%s", Format("%3d/%3d", server.m_nPlayerCount, server.m_nMaxPlayers).c_str());
|
||||
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::Text("%s", pszHostPort);
|
||||
@ -322,7 +324,7 @@ void CBrowser::BrowserPanel(void)
|
||||
|
||||
if (ImGui::Button(svConnectBtn.c_str()))
|
||||
{
|
||||
g_pServerListManager->ConnectToServer(server.m_svIpAddress, pszHostPort, server.m_svEncryptionKey);
|
||||
g_pServerListManager->ConnectToServer(server.m_svIpAddress, server.m_nGamePort, server.m_svEncryptionKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -441,7 +443,7 @@ void CBrowser::HiddenServersModal(void)
|
||||
|
||||
if (result && !server.m_svHostName.empty())
|
||||
{
|
||||
g_pServerListManager->ConnectToServer(server.m_svIpAddress, server.m_svGamePort, server.m_svEncryptionKey); // Connect to the server
|
||||
g_pServerListManager->ConnectToServer(server.m_svIpAddress, server.m_nGamePort, server.m_svEncryptionKey); // Connect to the server
|
||||
m_svHiddenServerRequestMessage = Format("Found server: %s", server.m_svHostName.c_str());
|
||||
m_ivHiddenServerMessageColor = ImVec4(0.00f, 1.00f, 0.00f, 1.00f);
|
||||
ImGui::CloseCurrentPopup();
|
||||
@ -745,12 +747,12 @@ void CBrowser::UpdateHostingStatus(void)
|
||||
g_pHostState->m_levelName,
|
||||
KeyValues_GetCurrentPlaylist(),
|
||||
hostip->GetString(),
|
||||
hostport->GetString(),
|
||||
hostport->GetInt(),
|
||||
g_pNetKey->GetBase64NetKey(),
|
||||
std::to_string(*g_nServerRemoteChecksum),
|
||||
*g_nServerRemoteChecksum,
|
||||
SDK_VERSION,
|
||||
std::to_string(g_pServer->GetNumClients()),
|
||||
std::to_string(g_ServerGlobalVariables->m_nMaxClients),
|
||||
g_pServer->GetNumClients(),
|
||||
g_ServerGlobalVariables->m_nMaxClients,
|
||||
std::chrono::duration_cast<std::chrono::milliseconds>(
|
||||
std::chrono::system_clock::now().time_since_epoch()
|
||||
).count()
|
||||
|
@ -83,16 +83,16 @@ void CServerListManager::LaunchServer(const bool bChangeLevel) const
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: connects to specified server
|
||||
// Input : &svIp -
|
||||
// &svPort -
|
||||
// nPort -
|
||||
// &svNetKey -
|
||||
//-----------------------------------------------------------------------------
|
||||
void CServerListManager::ConnectToServer(const string& svIp, const string& svPort, const string& svNetKey) const
|
||||
void CServerListManager::ConnectToServer(const string& svIp, const int nPort, const string& svNetKey) const
|
||||
{
|
||||
if (!ThreadInMainThread())
|
||||
{
|
||||
g_TaskScheduler->Dispatch([this, svIp, svPort, svNetKey]()
|
||||
g_TaskScheduler->Dispatch([this, svIp, nPort, svNetKey]()
|
||||
{
|
||||
this->ConnectToServer(svIp, svPort, svNetKey);
|
||||
this->ConnectToServer(svIp, nPort, svNetKey);
|
||||
}, 0);
|
||||
return;
|
||||
}
|
||||
@ -101,7 +101,7 @@ void CServerListManager::ConnectToServer(const string& svIp, const string& svPor
|
||||
{
|
||||
NET_SetKey(svNetKey);
|
||||
}
|
||||
ProcessCommand(Format("%s \"[%s]:%s\"", "connect", svIp.c_str(), svPort.c_str()).c_str());
|
||||
ProcessCommand(Format("%s \"[%s]:%i\"", "connect", svIp.c_str(), nPort).c_str());
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
void ClearServerList(void);
|
||||
|
||||
void LaunchServer(const bool bChangeLevel) const;
|
||||
void ConnectToServer(const string& svIp, const string& svPort, const string& svNetKey) const;
|
||||
void ConnectToServer(const string& svIp, const int nPort, const string& svNetKey) const;
|
||||
void ConnectToServer(const string& svServer, const string& svNetKey) const;
|
||||
|
||||
void ProcessCommand(const char* pszCommand) const;
|
||||
|
@ -20,15 +20,15 @@ static bool IsServerListingValid(const rapidjson::Value& value)
|
||||
{
|
||||
if (value.HasMember("name") && value["name"].IsString() &&
|
||||
value.HasMember("description") && value["description"].IsString() &&
|
||||
value.HasMember("hidden") && value["hidden"].IsString() && // TODO: Bool???
|
||||
value.HasMember("hidden") && value["hidden"].IsBool() &&
|
||||
value.HasMember("map") && value["map"].IsString() &&
|
||||
value.HasMember("playlist") && value["playlist"].IsString() &&
|
||||
value.HasMember("ip") && value["ip"].IsString() &&
|
||||
value.HasMember("port") && value["port"].IsString() && // TODO: Int32???
|
||||
value.HasMember("port") && value["port"].IsInt() &&
|
||||
value.HasMember("key") && value["key"].IsString() &&
|
||||
value.HasMember("checksum") && value["checksum"].IsString() && // TODO: Uint32???
|
||||
value.HasMember("playerCount") && value["playerCount"].IsString() && // TODO: Int32???
|
||||
value.HasMember("maxPlayers") && value["maxPlayers"].IsString())// && // TODO: Int32???
|
||||
value.HasMember("checksum") && value["checksum"].IsUint() &&
|
||||
value.HasMember("playerCount") && value["playerCount"].IsInt() &&
|
||||
value.HasMember("maxPlayers") && value["maxPlayers"].IsInt())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -85,16 +85,16 @@ vector<NetGameServer_t> CPylon::GetServerList(string& outMessage) const
|
||||
{
|
||||
obj["name"].GetString(),
|
||||
obj["description"].GetString(),
|
||||
V_strcmp(obj["hidden"].GetString(), "true") == NULL, // TODO: Bool???
|
||||
obj["hidden"].GetBool(),
|
||||
obj["map"].GetString(),
|
||||
obj["playlist"].GetString(),
|
||||
obj["ip"].GetString(),
|
||||
obj["port"].GetString(), // TODO: Int32???
|
||||
obj["port"].GetInt(),
|
||||
obj["key"].GetString(),
|
||||
obj["checksum"].GetString(), // TODO: Uint32???
|
||||
obj["checksum"].GetUint(),
|
||||
SDK_VERSION,
|
||||
obj["playerCount"].GetString(), // TODO: Int32???
|
||||
obj["maxPlayers"].GetString(), // TODO: Int32???
|
||||
obj["playerCount"].GetInt(),
|
||||
obj["maxPlayers"].GetInt(),
|
||||
-1,
|
||||
}
|
||||
);
|
||||
@ -146,16 +146,16 @@ bool CPylon::GetServerByToken(NetGameServer_t& outGameServer,
|
||||
{
|
||||
serverJson["name"].GetString(),
|
||||
serverJson["description"].GetString(),
|
||||
V_strcmp(serverJson["hidden"].GetString(), "true") == NULL, // TODO: Bool???
|
||||
serverJson["hidden"].GetBool(),
|
||||
serverJson["map"].GetString(),
|
||||
serverJson["playlist"].GetString(),
|
||||
serverJson["ip"].GetString(),
|
||||
serverJson["port"].GetString(), // TODO: Int32???
|
||||
serverJson["port"].GetInt(),
|
||||
serverJson["key"].GetString(),
|
||||
serverJson["checksum"].GetString(), // TODO: Uint32???
|
||||
serverJson["checksum"].GetUint(),
|
||||
SDK_VERSION,
|
||||
serverJson["playerCount"].GetString(), // TODO: Int32???
|
||||
serverJson["maxPlayers"].GetString(), // TODO: Int32???
|
||||
serverJson["playerCount"].GetInt(),
|
||||
serverJson["maxPlayers"].GetInt(),
|
||||
-1,
|
||||
};
|
||||
|
||||
@ -182,12 +182,12 @@ bool CPylon::PostServerHost(string& outMessage, string& outToken, string& outHos
|
||||
requestJson.AddMember("map", rapidjson::Value(netGameServer.m_svHostMap.c_str(), allocator), allocator);
|
||||
requestJson.AddMember("playlist", rapidjson::Value(netGameServer.m_svPlaylist.c_str(), allocator), allocator);
|
||||
requestJson.AddMember("ip", rapidjson::Value(netGameServer.m_svIpAddress.c_str(), allocator), allocator);
|
||||
requestJson.AddMember("port", rapidjson::Value(netGameServer.m_svGamePort.c_str(), allocator), allocator); // TODO: Int32???
|
||||
requestJson.AddMember("port", netGameServer.m_nGamePort, allocator);
|
||||
requestJson.AddMember("key", rapidjson::Value(netGameServer.m_svEncryptionKey.c_str(), allocator), allocator);
|
||||
requestJson.AddMember("checksum", rapidjson::Value(netGameServer.m_svRemoteChecksum.c_str(), allocator), allocator); // TODO: Uint32???
|
||||
requestJson.AddMember("checksum", netGameServer.m_nRemoteChecksum, allocator);
|
||||
requestJson.AddMember("version", rapidjson::Value(netGameServer.m_svSDKVersion.c_str(), allocator), allocator);
|
||||
requestJson.AddMember("playerCount", rapidjson::Value(netGameServer.m_svPlayerCount.c_str(), allocator), allocator); // TODO: Int32???
|
||||
requestJson.AddMember("maxPlayers", rapidjson::Value(netGameServer.m_svMaxPlayers.c_str(), allocator), allocator); // TODO: Int32???
|
||||
requestJson.AddMember("playerCount", netGameServer.m_nPlayerCount, allocator);
|
||||
requestJson.AddMember("maxPlayers", netGameServer.m_nMaxPlayers, allocator);
|
||||
requestJson.AddMember("timeStamp", netGameServer.m_nTimeStamp, allocator);
|
||||
|
||||
rapidjson::Document responseJson;
|
||||
|
@ -21,14 +21,14 @@ struct NetGameServer_t
|
||||
string m_svPlaylist = "dev_default";
|
||||
|
||||
string m_svIpAddress;
|
||||
string m_svGamePort; // TODO: should be 'int'.
|
||||
int m_nGamePort;
|
||||
string m_svEncryptionKey;
|
||||
|
||||
string m_svRemoteChecksum; // TODO: should be 'unsigned int'.
|
||||
unsigned int m_nRemoteChecksum;
|
||||
string m_svSDKVersion;
|
||||
|
||||
string m_svPlayerCount; // TODO: should be 'int'.
|
||||
string m_svMaxPlayers; // TODO: should be 'int'.
|
||||
int m_nPlayerCount;
|
||||
int m_nMaxPlayers;
|
||||
int64_t m_nTimeStamp = -1;
|
||||
|
||||
//vector<NetGameMod_t> m_vMods;
|
||||
|
Loading…
x
Reference in New Issue
Block a user