WIP: Begin rewriting serverbrowser

This commit is contained in:
nillerusr
2023-01-29 19:26:04 +03:00
parent 548be38a0b
commit 41aa50e66e
27 changed files with 265 additions and 333 deletions

View File

@@ -80,6 +80,8 @@ private:
bool m_bNoMasters;
CUtlLinkedList<netadr_t> m_serverAddresses;
IServerListResponse *m_serverListResponse;
};
static CMaster s_MasterServer;
@@ -87,6 +89,8 @@ IMaster *master = (IMaster *)&s_MasterServer;
IServersInfo *g_pServersInfo = (IServersInfo*)&s_MasterServer;
EXPOSE_SINGLE_INTERFACE_GLOBALVAR( CMaster, IServersInfo, SERVERLIST_INTERFACE_VERSION, s_MasterServer );
#define HEARTBEAT_SECONDS 140.0
//-----------------------------------------------------------------------------
@@ -97,6 +101,9 @@ CMaster::CMaster( void )
m_pMasterAddresses = NULL;
m_bNoMasters = false;
m_bInitialized = false;
m_serverListResponse = NULL;
Init();
}
@@ -165,6 +172,11 @@ void CMaster::ProcessConnectionlessPacket( netpacket_t *packet )
char hostname[1024];
msg.ReadString(hostname, sizeof(hostname));
newgameserver_t s;
s.m_NetAdr = packet->from;
s.SetName( hostname );
m_serverListResponse->ServerResponded( s );
break;
}
}
@@ -180,6 +192,8 @@ void CMaster::RequestServersInfo()
{
const netadr_t adr = m_serverAddresses[i];
Msg("Request server info %s\n", adr.ToString());
msg.WriteLong( CONNECTIONLESS_HEADER );
msg.WriteByte( C2S_INFOREQUEST );
@@ -474,6 +488,8 @@ void CMaster::RequestInternetServerList(const char *gamedir, IServerListResponse
{
if( m_bNoMasters ) return;
m_serverListResponse = response;
ALIGN4 char buf[256] ALIGN4_POST;
bf_write msg(buf, sizeof(buf));