Facepunch / Facepunch.Steamworks

Another fucking c# Steamworks implementation
MIT License
2.94k stars 354 forks source link

serverList.RunQueryAsync() doesn't honour "appid" filter when querying friends list. #564

Open PhonicUK opened 3 years ago

PhonicUK commented 3 years ago

Describe the bug If you search for available servers using Steamworks.ServerList.Friends and add an appid filter - the filter is not honoured and servers for unrelated applications are produced in results without manual filtering.

When using Steamworks.ServerList.Internet the filter (and code example) functions as expected.

To Reproduce Steps to reproduce the behaviour:

  1. See calling code

Calling Code

var serverList = new Steamworks.ServerList.Friends();

void List_OnChanges()
{
    var localList = serverList; 
    if (localList.Responsive.Count > 0)  //<<<-- Because of the appid filter, this should only contain results
    {                                    // for my app, but instead it contains them for others.
        ...
    }

    serverList.OnChanges -= List_OnChanges;
}

serverList.OnChanges += List_OnChanges;
serverList.AddFilter("notfull", "");
serverList.AddFilter("appid", ClientAppID.ToString());
await serverList.RunQueryAsync(30);

Expected behavior

Desktop (please complete the following information):

Sleggie commented 2 months ago

I am also having this issue.