some logs

This commit is contained in:
otavepto 2024-04-27 01:52:17 +03:00
parent 5adf83ee10
commit 1b07a290f2

View File

@ -39,13 +39,15 @@ Steam_Matchmaking_Servers::~Steam_Matchmaking_Servers()
this->network->rmCallback(CALLBACK_ID_GAMESERVER, (uint64) 0, &network_callback, this); this->network->rmCallback(CALLBACK_ID_GAMESERVER, (uint64) 0, &network_callback, this);
} }
static int server_list_request = 0; static unsigned server_list_request = 0;
HServerListRequest Steam_Matchmaking_Servers::RequestServerList(AppId_t iApp, ISteamMatchmakingServerListResponse *pRequestServersResponse, EMatchMakingType type) HServerListRequest Steam_Matchmaking_Servers::RequestServerList(AppId_t iApp, ISteamMatchmakingServerListResponse *pRequestServersResponse, EMatchMakingType type)
{ {
PRINT_DEBUG("%u %p, %i", iApp, pRequestServersResponse, (int)type); PRINT_DEBUG("%u %p, %i", iApp, pRequestServersResponse, (int)type);
std::lock_guard<std::recursive_mutex> lock(global_mutex); std::lock_guard<std::recursive_mutex> lock(global_mutex);
++server_list_request; ++server_list_request;
if (!server_list_request) server_list_request = 1;
HServerListRequest id = (char *)0 + server_list_request; // (char *)0 silences the compiler warning HServerListRequest id = (char *)0 + server_list_request; // (char *)0 silences the compiler warning
if (settings->matchmaking_server_list_always_lan_type) { if (settings->matchmaking_server_list_always_lan_type) {
@ -62,20 +64,20 @@ HServerListRequest Steam_Matchmaking_Servers::RequestServerList(AppId_t iApp, IS
request.type = type; request.type = type;
request.id = id; request.id = id;
requests.push_back(request); requests.push_back(request);
PRINT_DEBUG("id: %p", id); PRINT_DEBUG("pushed new request with id: %p", request.id);
if (type == eLANServer) return id; if (type == eLANServer) return id;
if (type == eFriendsServer) { if (type == eFriendsServer) {
for (auto &g : gameservers_friends) { for (auto &g : gameservers_friends) {
if (g.source_id != settings->get_local_steam_id().ConvertToUint64()) { if (g.source_id != settings->get_local_steam_id().ConvertToUint64()) {
Gameserver server; Gameserver server{};
server.set_ip(g.ip); server.set_ip(g.ip);
server.set_port(g.port); server.set_port(g.port);
server.set_query_port(g.port); server.set_query_port(g.port);
server.set_appid(iApp); server.set_appid(iApp);
struct Steam_Matchmaking_Servers_Gameserver g2; struct Steam_Matchmaking_Servers_Gameserver g2{};
g2.last_recv = std::chrono::high_resolution_clock::now(); g2.last_recv = std::chrono::high_resolution_clock::now();
g2.server = server; g2.server = server;
g2.type = type; g2.type = type;
@ -131,18 +133,18 @@ HServerListRequest Steam_Matchmaking_Servers::RequestServerList(AppId_t iApp, IS
continue; continue;
} }
Gameserver server; Gameserver server{};
server.set_ip(ip_int); server.set_ip(ip_int);
server.set_port(port_int); server.set_port(port_int);
server.set_query_port(port_int); server.set_query_port(port_int);
server.set_appid(iApp); server.set_appid(iApp);
struct Steam_Matchmaking_Servers_Gameserver g; struct Steam_Matchmaking_Servers_Gameserver g{};
g.last_recv = std::chrono::high_resolution_clock::now(); g.last_recv = std::chrono::high_resolution_clock::now();
g.server = server; g.server = server;
g.type = type; g.type = type;
gameservers.push_back(g); gameservers.push_back(g);
PRINT_DEBUG(" SERVER ADDED"); PRINT_DEBUG(" SERVER ADDED %i", (int)g.type);
list_ip = ""; list_ip = "";
} }
@ -213,6 +215,7 @@ void Steam_Matchmaking_Servers::RequestOldServerList(AppId_t iApp, ISteamMatchma
request.type = type; request.type = type;
request.id = (void *)type; request.id = (void *)type;
requests.push_back(request); requests.push_back(request);
PRINT_DEBUG("pushed new request with id: %p", request.id);
} }
void Steam_Matchmaking_Servers::RequestInternetServerList( AppId_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse001 *pRequestServersResponse ) void Steam_Matchmaking_Servers::RequestInternetServerList( AppId_t iApp, MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse001 *pRequestServersResponse )
@ -272,6 +275,7 @@ void Steam_Matchmaking_Servers::ReleaseRequest( HServerListRequest hServerListRe
//TODO: eventually delete the released request. //TODO: eventually delete the released request.
g->cancelled = true; g->cancelled = true;
g->released = true; g->released = true;
PRINT_DEBUG("released request with id: %p", g->id);
} }
++g; ++g;
@ -601,6 +605,7 @@ void Steam_Matchmaking_Servers::CancelQuery( HServerListRequest hRequest )
while (g != std::end(requests)) { while (g != std::end(requests)) {
if (g->id == hRequest) { if (g->id == hRequest) {
g->cancelled = true; g->cancelled = true;
PRINT_DEBUG("canceled request with id: %p", g->id);
} }
++g; ++g;
@ -643,6 +648,7 @@ int Steam_Matchmaking_Servers::GetServerCount( HServerListRequest hRequest )
++g; ++g;
} }
PRINT_DEBUG("final count = %i", size);
return size; return size;
} }
@ -719,7 +725,7 @@ HServerQuery Steam_Matchmaking_Servers::ServerRules( uint32 unIP, uint16 usPort,
// to one of the above calls to avoid crashing when callbacks occur. // to one of the above calls to avoid crashing when callbacks occur.
void Steam_Matchmaking_Servers::CancelServerQuery( HServerQuery hServerQuery ) void Steam_Matchmaking_Servers::CancelServerQuery( HServerQuery hServerQuery )
{ {
PRINT_DEBUG("Steam_Matchmaking_Servers::CancelServerQuery"); PRINT_DEBUG_ENTRY();
std::lock_guard<std::recursive_mutex> lock(global_mutex); std::lock_guard<std::recursive_mutex> lock(global_mutex);
auto r = std::find_if(direct_ip_requests.begin(), direct_ip_requests.end(), [&hServerQuery](Steam_Matchmaking_Servers_Direct_IP_Request const& item) { return item.id == hServerQuery; }); auto r = std::find_if(direct_ip_requests.begin(), direct_ip_requests.end(), [&hServerQuery](Steam_Matchmaking_Servers_Direct_IP_Request const& item) { return item.id == hServerQuery; });
if (direct_ip_requests.end() == r) return; if (direct_ip_requests.end() == r) return;
@ -735,7 +741,7 @@ void Steam_Matchmaking_Servers::RunCallbacks()
while (g != std::end(gameservers)) { while (g != std::end(gameservers)) {
if (check_timedout(g->last_recv, SERVER_TIMEOUT)) { if (check_timedout(g->last_recv, SERVER_TIMEOUT)) {
g = gameservers.erase(g); g = gameservers.erase(g);
PRINT_DEBUG("TIMEOUT"); PRINT_DEBUG("SERVER REMOVED, TIMEOUT");
} else { } else {
++g; ++g;
} }
@ -868,13 +874,13 @@ void Steam_Matchmaking_Servers::Callback(Common_Message *msg)
} }
if (!already) { if (!already) {
struct Steam_Matchmaking_Servers_Gameserver g; struct Steam_Matchmaking_Servers_Gameserver g{};
g.last_recv = std::chrono::high_resolution_clock::now(); g.last_recv = std::chrono::high_resolution_clock::now();
g.server = msg->gameserver(); g.server = msg->gameserver();
g.server.set_ip(msg->source_ip()); g.server.set_ip(msg->source_ip());
g.type = eLANServer; g.type = eLANServer;
gameservers.push_back(g); gameservers.push_back(g);
PRINT_DEBUG("ADDED"); PRINT_DEBUG(" eLANServer SERVER ADDED");
} }
} }
} }