Fake IP not released after game exits
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 12/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 活発
- 領域
- networking
調査の方向性
The report describes a Steam client bug: after a Fake IP is allocated, BeginAsyncRequestFakeIP keeps failing on relaunch until Steam restarts, with the cause logged in console_log.txt. The reproduction is a C# probe in an external gist that calls SteamAPI_Init, InitRelayNetworkAccess, and GetFakeIP/BeginAsyncRequestFakeIP, and nothing in this repository's source is named as the fix location. Done would mean the repro is confirmed and the report is routed to the Steamworks team, since the code involved is in the closed-source Steam client.
索引モデルが issue の本文から書いたものです。
説明
Apologies I know this repo isn't technically related to the Steam client's SDR/FakeIP networking, but I see a couple of older tickets mentioning it so this seems like the best place to post about it where someone involved with it might see it.
So after my game successfully allocates a Fake IP via GetFakeIP/BeginAsyncRequestFakeIP and then exits normally, any more re-launches of that same App ID get a k_EResultFail from BeginAsyncRequestFakeIP for as long as the Steam client is running. Steam's console_log.txt shows this error message:
src/clientdll/clientnetworkingapi.cpp (2809) : YldRequestFakeIP called again. Not allowed!
Restarting the Steam client fixes it for one launch, so does launching another game in between.
I've reproduced this on both Windows x64 and macOS arm64, Steam client version 1793235415
Steps to reproduce it:
- Restart Steam
- Run a minimal program that calls
SteamAPI_Init,InitRelayNetworkAccess,InitAuthentication, requests a fake ip viaGetFakeIP/BeginAsyncRequestFakeIPand wait for the result. The first time will give you ak_EResultOKwith a valid Fake IP address and port. Then exit the program if its still running. - Re-run the program, but this time you'll get
k_EResultFailand the line in theconsole_log.txtfrom above. - From now on it will keep failing with
k_EResultFail
To clear it you'll need to either restart Steam or launch any other game that goes through the SteamAPI_Init.
Here's a .NET 10 C# project using Steamworks.NET that I've reproduced the error with: https://gist.github.com/philo23/f3ebcbe8aaf14df6f49a0822f8843534
It'll write a probe.log file into bin/Debug/net10.0/ along side the dll
$ echo 480 > steamapp_id.txt
$ dotnet bin/Debug/net10.0/Probe.dll
[2026-10-31 22:49:48.331Z pid=7012] PROBE start
[2026-10-31 22:49:48.348Z pid=7012] PROBE launched by Steam=False; SteamAppId=-; SteamGameId=-
[2026-10-31 22:49:48.348Z pid=7012] PROBE cwd=/tmp/steam-fakeip-probe; args=
[S_API] SteamAPI_Init(): Loaded '/Users/redacted/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS/steamclient.dylib' OK.
Setting breakpad minidump AppID = 480
SteamInternal_SetMinidumpSteamID: Caching Steam ID: 7656119XXXXXXXXXX [API loaded no]
[2026-10-31 22:49:48.405Z pid=7012] PROBE init=k_ESteamAPIInitResult_OK;
[2026-10-31 22:49:48.406Z pid=7012] PROBE app=480
[2026-10-31 22:49:48.410Z pid=7012] PROBE auth=k_ESteamNetworkingAvailability_Attempting
[2026-10-31 22:49:48.412Z pid=7012] PROBE initial=k_EResultNoMatch; IPv4 present=False; port present=False
[2026-10-31 22:49:48.412Z pid=7012] PROBE begin=True
[2026-10-31 22:49:48.418Z pid=7012] SDK k_ESteamNetworkingSocketsDebugOutputType_Verbose: Got cert for steamid:7656119XXXXXXXXXX from Steam
[2026-10-31 22:49:48.419Z pid=7012] SDK k_ESteamNetworkingSocketsDebugOutputType_Msg: Certificate expires in 40h18m at 1793632101 (current time 1793486987), will renew in 38h18m
[2026-10-31 22:49:48.441Z pid=7012] SDK k_ESteamNetworkingSocketsDebugOutputType_Warning: SDR network config fetch attempt #1 failed. HTTP 504. . Trying again.
[2026-10-31 22:49:48.566Z pid=7012] SDK k_ESteamNetworkingSocketsDebugOutputType_Msg: Got SDR network config. Loaded revision 1793064244 OK
[2026-10-31 22:49:48.566Z pid=7012] SDK k_ESteamNetworkingSocketsDebugOutputType_Msg: Performing ping measurement
[2026-10-31 22:49:48.566Z pid=7012] SDK k_ESteamNetworkingSocketsDebugOutputType_Msg: SDR RelayNetworkStatus: avail=Attempting config=OK anyrelay=Attempting (Performing ping measurement)
[2026-10-31 22:49:48.566Z pid=7012] SDK k_ESteamNetworkingSocketsDebugOutputType_Msg: AuthStatus (steamid:7656119XXXXXXXXXX): OK (OK)
[2026-10-31 22:49:48.652Z pid=7012] SDK k_ESteamNetworkingSocketsDebugOutputType_Verbose: Communications with routing cluster 'fra' established.
[2026-10-31 22:49:48.664Z pid=7012] SDK k_ESteamNetworkingSocketsDebugOutputType_Verbose: Communications with routing cluster 'sto2' established.
[2026-10-31 22:49:48.690Z pid=7012] PROBE callback=k_EResultOK; IPv4 present=True; port present=True
[2026-10-31 22:49:48.713Z pid=7012] PROBE final=k_EResultOK; IPv4 present=True; port present=True
[2026-10-31 22:49:48.741Z pid=7012] PROBE shutdown
$ dotnet bin/Debug/net10.0/Probe.dll
[2026-10-31 22:49:52.799Z pid=7077] PROBE start
[2026-10-31 22:49:52.815Z pid=7077] PROBE launched by Steam=False; SteamAppId=-; SteamGameId=-
[2026-10-31 22:49:52.815Z pid=7077] PROBE cwd=/tmp/steam-fakeip-probe; args=
[S_API] SteamAPI_Init(): Loaded '/Users/redacted/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS/steamclient.dylib' OK.
Setting breakpad minidump AppID = 480
SteamInternal_SetMinidumpSteamID: Caching Steam ID: 7656119XXXXXXXXXX [API loaded no]
[2026-10-31 22:49:52.867Z pid=7077] PROBE init=k_ESteamAPIInitResult_OK;
[2026-10-31 22:49:52.868Z pid=7077] PROBE app=480
[2026-10-31 22:49:52.870Z pid=7077] PROBE auth=k_ESteamNetworkingAvailability_Attempting
[2026-10-31 22:49:52.871Z pid=7077] PROBE initial=k_EResultNoMatch; IPv4 present=False; port present=False
[2026-10-31 22:49:52.872Z pid=7077] PROBE begin=True
[2026-10-31 22:49:53.080Z pid=7077] SDK k_ESteamNetworkingSocketsDebugOutputType_Verbose: Got cert for steamid:7656119XXXXXXXXXX from Steam
[2026-10-31 22:49:53.080Z pid=7077] SDK k_ESteamNetworkingSocketsDebugOutputType_Msg: Certificate expires in 40h18m at 1793632101 (current time 1793486991), will renew in 38h18m
[2026-10-31 22:49:53.084Z pid=7077] PROBE callback=k_EResultFail; IPv4 present=False; port present=False
[2026-10-31 22:49:53.105Z pid=7077] PROBE final=k_EResultFail; IPv4 present=False; port present=False
[2026-10-31 22:49:53.108Z pid=7077] PROBE shutdown
- 主要言語
- C++
- スター
- 10k
- フォーク
- 767
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ValveSoftware/GameNetworkingSockets のほかの issue
-
ICE (native client): relay-only connections time out against a real TURN server; host-socket checks starve the relay pairs対応中かも @Mr444-dev が 4 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
ValveSoftware/GameNetworkingSockets#452 ·
メンテナーはふだん 2 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 18/100
ValveSoftware/GameNetworkingSockets#464 ·
メンテナーはふだん 2 日以内に返信
-
Assertion Failed: pSock->m_callback.m_fnCallback (socketthread.cpp:2609) after re-initializing the library with GameNetworkingSockets_Kill + GameNetworkingSockets_Init対応中かも @siddiqueirshad が 10 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
ValveSoftware/GameNetworkingSockets#458 ·
メンテナーはふだん 2 日以内に返信
-
ISteamNetworkingSockets: Trying to use over 8 network lanes/channels fails対応中かも @jpggvilaca が 14 日前に担当しました。 オープン
難易度 4/5 1〜2日 初心者へのやさしさ 55/100
ValveSoftware/GameNetworkingSockets#455 ·
メンテナーはふだん 2 日以内に返信
-
ConfigureConnectionLanes: reconfiguring lanes can leave one lane in a stale priority class対応中かも @sebxt が 18 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 35/100
ValveSoftware/GameNetworkingSockets#453 ·
メンテナーはふだん 2 日以内に返信
ValveSoftware/GameNetworkingSockets の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Sunrisepeak/mcpp-language-server#80 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
xiaoyifang/goldendict-ng#3148 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
triton-inference-server/server#9069 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 4 日以内に返信