My program doesn't have bugs. It just develops random features.

Legacy:MasterServerClient

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search

Properties[edit]

int MSLinkPtr 

Query[edit]

array<QueryData> Query 
int ResultCount 

Enums[edit]

EClientToMaster[edit]

CTM_Query 
CTM_GetMOTD 
CTM_QueryUpgrade 

EMOTDResponse[edit]

MR_MOTD 
MR_MandatoryUpgrade 
MR_OptionalUpgrade 
MR_NewServer 
MR_IniSetting 
MR_Command 

EQueryType[edit]

QT_Equals 
QT_NotEquals 
QT_LessThan 
QT_LessThanEquals 
QT_GreaterThan 
QT_GreaterThanEquals 

EResponseInfo[edit]

RI_AuthenticationFailed 
RI_ConnectionFailed 
RI_ConnectionTimeout 
RI_Success 
RI_MustUpgrade 

Structures[edit]

QueryData[edit]

MasterServerClient[edit]

string Key 
EQueryType QueryType 
string Value 

Delegates[edit]

OnQueryFinished(EResponseInfo ResponseInfo, int Info )
OnReceivedMOTDData(EMOTDResponse Command, string Value )
OnReceivedServer(GameInfo.ServerResponseLine s )

Functions[edit]

LaunchAutoUpdate( )
StartQuery(EClientToMaster Command )
Stop( )

You use this class to query servers off of epics master server.

Basic Usage:[edit]

Spawn a new MasterServerClient actor, setup the delegates OnReceivedServer and OnQueryFinished, add queries to the query array, call StartQuery(CTM_Query) - thats it!

look for the function AddQueryTerm - its useful for adding to the query array.

Discussion[edit]

TwinsenEd: I was thrown off a bit by the "gametype" query, although some of the defaults say "Onslaught.ONSOnslaught", a fully qualified name, it only returned results when I dropped the package name. You can get away with just adding a gametype as the only query item with AddQueryTerm("gametype","GameTypeName",QT_Equals);

El Muerte: and that's a good things, because package names have to change in a lot of cases (e.g. to prevent version issues)

SuperApe: Is this a class page? Custom class? Needs love.

EricBlade: Well, here's the output of a Class Wikify. :D I'm re-building my game's server browser, and would love to know how to make the best use of these functions, if anyone has any better documentation. :D