public void AddFilter(string key, string value) { List <MatchMakingKeyValuePair_t> matchMakingKeyValuePairTs = this.filters; MatchMakingKeyValuePair_t matchMakingKeyValuePairT = new MatchMakingKeyValuePair_t() { Key = key, Value = value }; matchMakingKeyValuePairTs.Add(matchMakingKeyValuePairT); }
public void refreshMasterServer(ESteamServerList list, string filterMap, EPassword filterPassword, EWorkshop filterWorkshop, EPlugins filterPlugins, EAttendance filterAttendance, EVACProtectionFilter filterVACProtection, EBattlEyeProtectionFilter filterBattlEyeProtection, bool filterPro, ECombat filterCombat, ECheats filterCheats, EGameMode filterMode, ECameraMode filterCamera) { this._currentList = list; if (this.onMasterServerRemoved != null) { this.onMasterServerRemoved(); } this.cleanupServerListRequest(); this._serverList = new List <SteamServerInfo>(); if (list == ESteamServerList.HISTORY) { this.serverListRequest = SteamMatchmakingServers.RequestHistoryServerList(Provider.APP_ID, new MatchMakingKeyValuePair_t[0], 0u, this.serverListResponse); return; } if (list == ESteamServerList.FAVORITES) { this.serverListRequest = SteamMatchmakingServers.RequestFavoritesServerList(Provider.APP_ID, new MatchMakingKeyValuePair_t[0], 0u, this.serverListResponse); return; } if (list == ESteamServerList.LAN) { this.serverListRequest = SteamMatchmakingServers.RequestLANServerList(Provider.APP_ID, this.serverListResponse); return; } this.filters = new List <MatchMakingKeyValuePair_t>(); MatchMakingKeyValuePair_t item = default(MatchMakingKeyValuePair_t); item.m_szKey = "gamedir"; item.m_szValue = "unturned"; this.filters.Add(item); if (filterMap.Length > 0) { MatchMakingKeyValuePair_t item2 = default(MatchMakingKeyValuePair_t); item2.m_szKey = "map"; item2.m_szValue = filterMap.ToLower(); this.filters.Add(item2); } if (filterAttendance == EAttendance.EMPTY) { MatchMakingKeyValuePair_t item3 = default(MatchMakingKeyValuePair_t); item3.m_szKey = "noplayers"; item3.m_szValue = "1"; this.filters.Add(item3); } else if (filterAttendance == EAttendance.SPACE) { MatchMakingKeyValuePair_t item4 = default(MatchMakingKeyValuePair_t); item4.m_szKey = "notfull"; item4.m_szValue = "1"; this.filters.Add(item4); MatchMakingKeyValuePair_t item5 = default(MatchMakingKeyValuePair_t); item5.m_szKey = "hasplayers"; item5.m_szValue = "1"; this.filters.Add(item5); } MatchMakingKeyValuePair_t item6 = default(MatchMakingKeyValuePair_t); item6.m_szKey = "gamedataand"; if (filterPassword == EPassword.YES) { item6.m_szValue = "PASS"; } else if (filterPassword == EPassword.NO) { item6.m_szValue = "SSAP"; } if (filterVACProtection == EVACProtectionFilter.Secure) { item6.m_szValue += ","; item6.m_szValue += "VAC_ON"; MatchMakingKeyValuePair_t item7 = default(MatchMakingKeyValuePair_t); item7.m_szKey = "secure"; item7.m_szValue = "1"; this.filters.Add(item7); } else if (filterVACProtection == EVACProtectionFilter.Insecure) { item6.m_szValue += ","; item6.m_szValue += "VAC_OFF"; } item6.m_szValue += ","; item6.m_szValue += Provider.APP_VERSION; this.filters.Add(item6); MatchMakingKeyValuePair_t item8 = default(MatchMakingKeyValuePair_t); item8.m_szKey = "gametagsand"; if (filterWorkshop == EWorkshop.YES) { item8.m_szValue = "WORK"; } else if (filterWorkshop == EWorkshop.NO) { item8.m_szValue = "KROW"; } if (filterCombat == ECombat.PVP) { item8.m_szValue += ",PVP"; } else if (filterCombat == ECombat.PVE) { item8.m_szValue += ",PVE"; } if (filterCheats == ECheats.YES) { item8.m_szValue += ",CHEATS"; } else if (filterCheats == ECheats.NO) { item8.m_szValue += ",STAEHC"; } if (filterMode != EGameMode.ANY) { item8.m_szValue = item8.m_szValue + "," + filterMode.ToString(); } if (filterCamera != ECameraMode.ANY) { item8.m_szValue = item8.m_szValue + "," + filterCamera.ToString(); } if (filterPro) { item8.m_szValue += ",GOLDONLY"; } else { item8.m_szValue += ",YLNODLOG"; } if (filterBattlEyeProtection == EBattlEyeProtectionFilter.Secure) { item8.m_szValue += ",BATTLEYE_ON"; } else if (filterBattlEyeProtection == EBattlEyeProtectionFilter.Insecure) { item8.m_szValue += ",BATTLEYE_OFF"; } this.filters.Add(item8); if (list == ESteamServerList.INTERNET) { this.serverListRequest = SteamMatchmakingServers.RequestInternetServerList(Provider.APP_ID, this.filters.ToArray(), (uint)this.filters.Count, this.serverListResponse); return; } if (list == ESteamServerList.FRIENDS) { this.serverListRequest = SteamMatchmakingServers.RequestFriendsServerList(Provider.APP_ID, this.filters.ToArray(), (uint)this.filters.Count, this.serverListResponse); return; } }
public void RenderOnGUI() { GUILayout.BeginArea(new Rect(Screen.width - 120, 0, 120, Screen.height)); GUILayout.Label("Variables:"); GUILayout.Label("m_ServerListRequest: " + m_ServerListRequest); GUILayout.Label("m_ServerQuery: " + m_ServerQuery); GUILayout.EndArea(); if (GUILayout.Button("RequestInternetServerList(new AppId_t(440), filters, (uint)filters.Length, m_ServerListResponse)")) { ReleaseRequest(); MatchMakingKeyValuePair_t[] filters = new MatchMakingKeyValuePair_t[1]; filters[0].m_szKey = "map"; filters[0].m_szValue = "cp_granary"; m_ServerListRequest = SteamMatchmakingServers.RequestInternetServerList(new AppId_t(440), filters, (uint)filters.Length, m_ServerListResponse); print("SteamMatchmakingServers.RequestInternetServerList(" + new AppId_t(440) + ", filters, (uint)filters.Length, m_ServerListResponse) : " + m_ServerListRequest); } if (GUILayout.Button("RequestLANServerList(new AppId_t(440), m_ServerListResponse)")) { ReleaseRequest(); m_ServerListRequest = SteamMatchmakingServers.RequestLANServerList(new AppId_t(440), m_ServerListResponse);; print("SteamMatchmakingServers.RequestLANServerList(" + new AppId_t(440) + ", m_ServerListResponse) : " + m_ServerListRequest); } if (GUILayout.Button("RequestFriendsServerList(new AppId_t(440), null, 0, m_ServerListResponse)")) { ReleaseRequest(); m_ServerListRequest = SteamMatchmakingServers.RequestFriendsServerList(new AppId_t(440), null, 0, m_ServerListResponse); print("SteamMatchmakingServers.RequestFriendsServerList(" + new AppId_t(440) + ", null, 0, m_ServerListResponse) : " + m_ServerListRequest); } if (GUILayout.Button("RequestFavoritesServerList(new AppId_t(440), null, 0, m_ServerListResponse)")) { ReleaseRequest(); m_ServerListRequest = SteamMatchmakingServers.RequestFavoritesServerList(new AppId_t(440), null, 0, m_ServerListResponse); print("SteamMatchmakingServers.RequestFavoritesServerList(" + new AppId_t(440) + ", null, 0, m_ServerListResponse) : " + m_ServerListRequest); } if (GUILayout.Button("RequestHistoryServerList(new AppId_t(440), null, 0, m_ServerListResponse)")) { ReleaseRequest(); m_ServerListRequest = SteamMatchmakingServers.RequestHistoryServerList(new AppId_t(440), null, 0, m_ServerListResponse); print("SteamMatchmakingServers.RequestHistoryServerList(" + new AppId_t(440) + ", null, 0, m_ServerListResponse) : " + m_ServerListRequest); } if (GUILayout.Button("RequestSpectatorServerList(new AppId_t(440), null, 0, m_ServerListResponse)")) { ReleaseRequest(); m_ServerListRequest = SteamMatchmakingServers.RequestSpectatorServerList(new AppId_t(440), null, 0, m_ServerListResponse); print("SteamMatchmakingServers.RequestSpectatorServerList(" + new AppId_t(440) + ", null, 0, m_ServerListResponse) : " + m_ServerListRequest); } if (GUILayout.Button("ReleaseRequest(m_ServerListRequest)")) { ReleaseRequest(); // We do this instead, because we want to make sure that m_ServerListRequested gets set to Invalid after releasing. } if (GUILayout.Button("GetServerDetails(m_ServerListRequest, 0)")) { gameserveritem_t gsi = SteamMatchmakingServers.GetServerDetails(m_ServerListRequest, 0); print("SteamMatchmakingServers.GetServerDetails(" + m_ServerListRequest + ", 0) : " + gsi + "\n" + GameServerItemFormattedString(gsi)); } if (GUILayout.Button("CancelQuery(m_ServerListRequest)")) { SteamMatchmakingServers.CancelQuery(m_ServerListRequest); print("SteamMatchmakingServers.CancelQuery(" + m_ServerListRequest + ")"); } if (GUILayout.Button("RefreshQuery(m_ServerListRequest)")) { SteamMatchmakingServers.RefreshQuery(m_ServerListRequest); print("SteamMatchmakingServers.RefreshQuery(" + m_ServerListRequest + ")"); } GUILayout.Label("SteamMatchmakingServers.IsRefreshing(m_ServerListRequest) : " + SteamMatchmakingServers.IsRefreshing(m_ServerListRequest)); GUILayout.Label("SteamMatchmakingServers.GetServerCount(m_ServerListRequest) : " + SteamMatchmakingServers.GetServerCount(m_ServerListRequest)); if (GUILayout.Button("RefreshServer(m_ServerListRequest, 0)")) { SteamMatchmakingServers.RefreshServer(m_ServerListRequest, 0); print("SteamMatchmakingServers.RefreshServer(" + m_ServerListRequest + ", 0)"); } // 3494815209 = 208.78.165.233 = Valve Payload Server (Virginia srcds150 #1) if (GUILayout.Button("PingServer(3494815209, 27015, m_PingResponse)")) { CancelServerQuery(); m_ServerQuery = SteamMatchmakingServers.PingServer(3494815209, 27015, m_PingResponse); print("SteamMatchmakingServers.PingServer(3494815209, 27015, m_PingResponse) : " + m_ServerQuery); } if (GUILayout.Button("PlayerDetails(3494815209, 27015, m_PlayersResponse)")) { CancelServerQuery(); m_ServerQuery = SteamMatchmakingServers.PlayerDetails(3494815209, 27015, m_PlayersResponse); print("SteamMatchmakingServers.PlayerDetails(3494815209, 27015, m_PlayersResponse) : " + m_ServerQuery); } if (GUILayout.Button("ServerRules(3494815209, 27015, m_RulesResponse)")) { CancelServerQuery(); m_ServerQuery = SteamMatchmakingServers.ServerRules(3494815209, 27015, m_RulesResponse); print("SteamMatchmakingServers.ServerRules(3494815209, 27015, m_RulesResponse) : " + m_ServerQuery); } if (GUILayout.Button("CancelServerQuery(m_ServerQuery)")) { CancelServerQuery(); // We do this instead, because we want to make sure that m_ServerListRequested gets set to Invalid after releasing, and we call it from a number of places. } }
public override uint RequestSpectatorServerList(uint iApp,MatchMakingKeyValuePair_t [] ppchFilters,ISteamMatchmakingServerListResponse pRequestServersResponse) { CheckIfUsable(); uint result = NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_RequestSpectatorServerList(m_pSteamMatchmakingServers,iApp,ppchFilters,(uint) ppchFilters.Length,pRequestServersResponse.GetIntPtr()); return result; }
public abstract uint RequestSpectatorServerList(uint iApp,MatchMakingKeyValuePair_t [] ppchFilters,ISteamMatchmakingServerListResponse pRequestServersResponse);