Feature Request: Player Region Filtering and Maximum Latency Preference for Steam Networking
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 活発
- 技術スタック
- cpp
- 領域
- networking
調査の方向性
ソースファイル、テスト、エントリーポイントのいずれも特定されていません。まず GameNetworkingSockets の networking API と、示されている Steam Networking Sockets、P2P、Steam Datagram Relay の境界を確認してください。実現可能なコントリビューションには、対象範囲の絞り込み、定義された優先動作、および明記されたテストまたは統合ポイントが必要です。
索引モデルが issue の本文から書いたものです。
説明
Feature Request: Player Region Filtering and Maximum Latency Preference
I would like to propose a feature that would give players more control over the network quality and regions used for multiplayer connections, particularly in games using Steam Networking Sockets, P2P networking, and Steam Datagram Relay.
Many multiplayer games rely on P2P connectivity, relay infrastructure, or a combination of both. However, players generally have very limited control over which regions they connect to and what level of latency they are willing to accept.
This can sometimes result in connections with very high latency, increased jitter, packet loss, or geographically distant players, even when better connection options may be available.
I believe Steam Networking could potentially improve this by allowing players to configure optional network preferences.
1. Player Region / Country Filtering
It would be useful to allow players to optionally define which regions or countries they are willing to connect to.
For example:
Allowed regions:
- Brazil
- United States
- Japan
Or:
Blocked regions:
- China
- South Korea
- Russia
The purpose would not be to prevent players from those countries from using Steam or playing the game.
The purpose would simply be to give an individual player control over which geographic regions they are willing to accept for a particular multiplayer experience.
This could be completely optional and configurable on a per-game basis.
2. Maximum Latency Preference
I believe this could be even more useful than geographic filtering.
Allow the player to specify a maximum acceptable latency for multiplayer connections.
For example:
Maximum latency: 100 ms
If a potential connection consistently exceeds the configured limit, Steam Networking could avoid that connection when possible.
Possible presets could be:
- 50 ms
- 75 ms
- 100 ms
- 125 ms
- 150 ms
- Custom ms
- No limit
This could potentially work dynamically using the network information already available to Steam Networking.
For example:
Player A
Region: South America
Latency: 38 ms
Jitter: 3 ms
Packet Loss: 0%
Relay: Available
This would be considered a good connection.
Whereas:
Player B
Region: Asia
Latency: 280 ms
Jitter: High
Packet Loss: 1.5%
could be avoided automatically if the player had configured a 100 ms maximum latency preference.
3. Combining Region and Latency Preferences
The two systems could also work together.
For example:
Allowed regions:
Brazil + South America
Maximum latency:
100 ms
Or:
Allowed regions:
Any
Maximum latency:
100 ms
The second option is particularly interesting because the player could essentially say:
"I don't care where the other player is located, as long as the connection quality is good."
This would make the latency filter useful even for players who do not want to use geographic restrictions.
4. Steam Datagram Relay and Network Path Selection
Since Steam already operates Steam Datagram Relay and Steam Networking provides detailed connection statistics, I believe this information could potentially be used to make better connection decisions.
The system could consider factors such as:
Region
↓
Available relay / route
↓
Latency
↓
Jitter
↓
Packet loss
↓
Overall connection quality
Instead of simply finding an available connection, Steam Networking could prioritize connections that satisfy the player's configured network preferences.
This would be particularly valuable for P2P games, where the quality of the connection between individual players can have a much greater impact on gameplay than the player's connection to the game's backend servers.
5. Network Information in the Steam Overlay
Another feature that would be extremely useful would be exposing more network information directly through the Steam Overlay.
Steam already provides a performance overlay showing information such as:
FPS
CPU usage
GPU usage
RAM
Temperature
It would be very useful to also display multiplayer network information such as:
Ping / RTT
Jitter
Packet Loss
Connection type
Region
Relay being used
Network route
For example:
FPS: 60
CPU: 42%
GPU: 68%
RAM: 11.8 GB
Ping: 42 ms
Jitter: 3 ms
Packet Loss: 0%
Region: South America
Relay: São Paulo
This would allow players to immediately understand the quality of their multiplayer connection.
6. Per-Game Configuration
I think these settings would work best if they could be configured individually for each game.
Different games have very different latency requirements.
For example:
A competitive game might benefit from:
Maximum latency: 50–75 ms
while another game could work perfectly well with:
Maximum latency: 100–150 ms
The configuration could potentially be accessible through:
Steam → Game → Networking
or directly through the Steam Overlay.
7. Automatic Connection Quality Mode
Another possible option would be an automatic mode.
For example:
Connection preference:
○ Best connection
○ Low latency
○ Balanced
○ No restrictions
In "Best connection" mode, Steam could automatically prioritize available players and network routes based on latency, jitter, packet loss, and other relevant network measurements.
This would allow users who do not want to manually configure anything to simply choose the best available connection.
8. Optional / Opt-In
I believe this feature should be completely optional.
Players who do not configure any restrictions would continue using the existing behavior.
Players who want more control could enable their preferred settings.
This would avoid changing the default matchmaking/networking behavior while still giving advanced users more control over their multiplayer experience.
9. Why I Think This Would Be Valuable
The Steam networking infrastructure is already capable of measuring and handling many aspects of network connectivity.
GameNetworkingSockets already provides detailed network statistics, P2P connectivity, NAT traversal, IPv6 support, and integration with Steam Datagram Relay on Steam.
Because of this, I believe that exposing some of this information to players and allowing them to define network preferences could significantly improve the multiplayer experience.
The main goal is not to exclude players based on nationality.
The goal is to give users more control over:
Connection quality
Latency
Network stability
Geographic proximity
Relay selection
Multiplayer experience
This could be especially valuable for P2P games where a single high-latency connection can negatively affect the entire gameplay experience.
Suggested Feature Summary
If I had to summarize the proposal into a few settings, it would be:
NETWORK PREFERENCES
Maximum latency:
[ 100 ms ]
Allowed regions:
[ South America ]
Blocked regions:
[ None ]
Connection quality:
[ Best available ]
Display network information in Steam Overlay:
[ Enabled ]
I believe these features could make Steam Networking significantly more transparent and give players much greater control over their multiplayer connections.
Thank you for considering the suggestion.
- 主要言語
- C++
- スター
- 10k
- フォーク
- 752
- 平均マージ
- 5日 19時間
- マージ済み PR(30日)
- 1
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ValveSoftware/GameNetworkingSockets のほかの issue
-
Native ICE TURN failover fails when the servers use different credentials対応中かも @PerryLink が 9 日前に担当しました。 オープン
難易度 3/5 半日 初心者へのやさしさ 66/100
ValveSoftware/GameNetworkingSockets#445 ·
メンテナーはふだん 2 日以内に返信
-
Native ICE resolves STUN/TURN hostnames under the global lock対応中かも @tintinhamans が 23 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
ValveSoftware/GameNetworkingSockets#440 ·
メンテナーはふだん 2 日以内に返信
-
WebRTC ICE keeps an idle thread per STUN/TURN hostname lookup対応中かも @tintinhamans が 23 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
ValveSoftware/GameNetworkingSockets#439 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
ValveSoftware/GameNetworkingSockets#425 · コメント 7 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
ValveSoftware/GameNetworkingSockets#392 ·
メンテナーはふだん 2 日以内に返信
ValveSoftware/GameNetworkingSockets の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
enhancement source/qq
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
metasequoiaime/msime-windows#1054 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
amnezia-vpn/amnezia-client#3297 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
metasequoiaime/msime#8620 ·
メンテナーはふだん 1 日以内に返信
-
area/docs type/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
ChiR24/Unreal_mcp#679 ·
メンテナーはふだん 1 日以内に返信