MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / queryLanServers

Function queryLanServers

Engine/source/app/net/serverQuery.cpp:384–428  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

382//-----------------------------------------------------------------------------
383
384void queryLanServers(U32 port, U8 flags, const char* gameType, const char* missionType,
385 U8 minPlayers, U8 maxPlayers, U8 maxBots, U32 regionMask, U32 maxPing, U16 minCPU,
386 U8 filterFlags)
387{
388 sgServerQueryActive = true;
389 pushServerFavorites();
390
391 sActiveFilter.type = ServerFilter::Offline;
392
393 // Clear the filter:
394 if ( !sActiveFilter.gameType || dStricmp( sActiveFilter.gameType, "Any" ) != 0 )
395 {
396 sActiveFilter.gameType = (char*) dRealloc( sActiveFilter.gameType, 4 );
397 dStrcpy( sActiveFilter.gameType, "Any", 4 );
398 }
399 if ( !sActiveFilter.missionType || dStricmp( sActiveFilter.missionType, "Any" ) != 0 )
400 {
401 sActiveFilter.missionType = (char*) dRealloc( sActiveFilter.missionType, 4 );
402 dStrcpy( sActiveFilter.missionType, "Any", 4 );
403 }
404 sActiveFilter.queryFlags = 0;
405 sActiveFilter.minPlayers = minPlayers;
406 sActiveFilter.maxPlayers = maxPlayers;
407 sActiveFilter.maxBots = maxBots;
408 sActiveFilter.regionMask = regionMask;
409 sActiveFilter.maxPing = maxPing;
410 sActiveFilter.minCPU = minCPU;
411 sActiveFilter.filterFlags = filterFlags;
412
413 NetAddress addr;
414 char addrText[256];
415
416 // IPV4
417 dSprintf( addrText, sizeof( addrText ), "IP:BROADCAST:%d", port );
418 Net::stringToAddress( addrText, &addr );
419 pushPingBroadcast( &addr );
420
421 // IPV6
422 dSprintf(addrText, sizeof(addrText), "IP6:MULTICAST:%d", port);
423 Net::stringToAddress(addrText, &addr);
424 pushPingBroadcast(&addr);
425
426 Con::executef("onServerQueryStatus", "start", "Querying LAN servers", "0");
427 processPingsAndQueries( gPingSession );
428}
429
430//-----------------------------------------------------------------------------
431

Callers 1

DefineEngineFunctionFunction · 0.85

Calls 7

pushServerFavoritesFunction · 0.85
dStricmpFunction · 0.85
dStrcpyFunction · 0.85
dSprintfFunction · 0.85
pushPingBroadcastFunction · 0.85
executefFunction · 0.85
processPingsAndQueriesFunction · 0.85

Tested by

no test coverage detected