/// <summary> /// Gets the appropriate masterserver query instance /// </summary> /// <param name="type">Engine used by server</param> /// <returns>Master server instance</returns> public static MasterServer GetMasterServerInstance(EngineType type) { MasterServer server = null; switch (type) { case EngineType.GoldSource: server = new MasterServer(GoldSrcServer); break; case EngineType.Source: server = new MasterServer(SourceServer); break; default: throw new FormatException("An invalid EngineType was specified."); } return server; }
public void GetAddresses(Region region, IpFilter filter, int maxResults, MasterIpCallback callback) { var master = new MasterServer(masterServerEndPoint); master.GetAddressesLimit = maxResults; master.GetAddresses(region, callback, filter); }
public void ReloadServerList(IPEndPoint masterServerEndPoint, int maxResults, Game steamAppId, Region region, bool queryServerRules) { this.currentRequest.IsCancelled = true; MasterServer master = new MasterServer(masterServerEndPoint); master.GetAddressesLimit = maxResults; IpFilter filter = new IpFilter(); filter.App = steamAppId; var request = new UpdateRequest(maxResults, queryServerRules); // use local var for thread safety this.currentRequest = request; master.GetAddresses(region, endpoints => OnMasterServerReceive(request, endpoints), filter); }