DoctorMcKay / node-steam-user

Allows interaction with the Steam network via the Steam client protocol
https://dev.doctormckay.com/forum/7-node-steam-user/
MIT License
892 stars 157 forks source link

Feature Request: Server Port Filtering in SteamUser #488

Closed koftrciali closed 2 months ago

koftrciali commented 3 months ago

Problem Statement

Some proxy providers, such as Thunderproxies, restrict access to all ports except 443 and 80. This limitation makes it challenging to establish connections through other ports.

Proposed Solution

Introduce a serverFilter function as an option when creating a SteamUser instance. This function would allow users to filter the server list based on specific criteria, such as port availability.

const client = new SteamUser({
    serverFilter: (serverList) => {
        return serverList.filter(server => server.port === 443 || server.port === 80);
    }
});

Alternatives Considered

None at this time.

Additional Context

Implementing this feature would simplify connecting to services that restrict port usage, ensuring compatibility with a broader range of proxy providers.

DoctorMcKay commented 3 months ago

Sounds like webCompatibilityMode does what you want?

Sadzurami commented 2 months ago

Sounds like webCompatibilityMode does what you want?

looks this feature not works as expected after retrieving CMServers from api, servers list not filters by 443 port so, even if webCompatibilityMode is enabled, we still can get websocket with 27*** port

DoctorMcKay commented 2 months ago

Sounds like webCompatibilityMode does what you want?

looks this feature not works as expected after retrieving CMServers from api, servers list not filters by 443 port so, even if webCompatibilityMode is enabled, we still can get websocket with 27*** port

Fixed in 5.1.0