Legacy:MasterServerClient

From Unreal Wiki, The Unreal Engine Documentation Site
Revision as of 13:04, 6 May 2006 by EricBlade (talk | contribs) (Wikified Class)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Properties

int MSLinkPtr

Query

array<QueryData> Query
int ResultCount

Enums

EClientToMaster

CTM_Query
CTM_GetMOTD
CTM_QueryUpgrade

EMOTDResponse

MR_MOTD
MR_MandatoryUpgrade
MR_OptionalUpgrade
MR_NewServer
MR_IniSetting
MR_Command

EQueryType

QT_Equals
QT_NotEquals
QT_LessThan
QT_LessThanEquals
QT_GreaterThan
QT_GreaterThanEquals

EResponseInfo

RI_AuthenticationFailed
RI_ConnectionFailed
RI_ConnectionTimeout
RI_Success
RI_MustUpgrade

Structures

QueryData

MasterServerClient

string Key
EQueryType QueryType
string Value

Delegates

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

Functions

LaunchAutoUpdate( )
StartQuery(EClientToMaster Command )
Stop( )

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

Basic Usage:

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

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