I'll investigate whether specifying an interface for TCP connections is easily fixable. Stepping through the code, it doesn't appear that the behavior is intentional.
Before I wade into a complicated fix, could you please clarify exactly what is causing the Steam client to use TCP instead of UDP? From: [email protected] [mailto:[email protected]] On Behalf Of hlds Sent: Saturday, April 21, 2012 3:14 AM To: 'Half-Life dedicated Win32 server mailing list' Subject: Re: [hlds] Steamclient reporting wrong public IP address over TCP Intercept the calls to "connect" function and bind all unbound stream sockets to game server's IP. I had long time ago the same problem (different servers reporting same public IP) and this fixed the problem. From: [email protected] [mailto:[email protected]] On Behalf Of Ryan Kistner Sent: Saturday, April 21, 2012 12:02 PM To: Half-Life dedicated Win32 server mailing list Subject: Re: [hlds] Steamclient reporting wrong public IP address over TCP Specifying +ip does not affect the public IP being reported by steamclient. On Sat, Apr 21, 2012 at 2:09 AM, ics <[email protected]<mailto:[email protected]>> wrote: Have you tried using +ip instead of -ip? -ics ----- Alkuperäinen viesti ----- > Right, the topic has come up a couple of times on this list. I'm hoping > by clarifying this issue someone maintaining the steamclient library > will pick up this issue. > > On Sat, Apr 21, 2012 at 12:14 AM, hlds <[email protected]<mailto:[email protected]>> > wrote: > > > This is an old bug in steamclient library: when TCP protocol is used > > the socket is not bound to game server's IP address, so the packets > > sent to CM server can have a wrong IP as source if the hardware has > > multiple IPs assigned.**** > > > > ** ** > > > > *From:* > > [email protected]<mailto:[email protected]> > > [mailto: > > [email protected]<mailto:[email protected]>] > > *On Behalf Of *Ryan Kistner > > *Sent:* Saturday, April 21, 2012 8:46 AM > > *To:* [email protected]<mailto:[email protected]> > > *Subject:* [hlds] Steamclient reporting wrong public IP address over > > TCP** ** > > > > ** ** > > > > Hello Everyone, > > > > There's an issue that's been bother us for a while that when our TF2 > > servers reconnect to Steam the steamclient library will reconnect using > > TCP. For whatever reason the Public IP detection over TCP is wrong as > > it reports the default route. I've verified that the ClientLogon and > > ClientGamesPlayedWithBlob steam messages contain the correct game > > server IP address, but Steam will auto-correct the connected game > > server IP on its end in ClientPersonaState, making it appear as if a > > player is connected to a different IP address. > > > > This issue is easily reproduced by specifying the -tcp option when > > launching srcds, which will tell steamclient to connect over TCP. When > > you type status it will report the default IP address regardless of > > the setting of -ip. > > > > As a temporary mitigation you can disable TCP steam connections by > > blocking outbound TCP to 27017, 27018, and 27019, and hopefully > > steamclient will revert back to UDP.**** > > > > _______________________________________________ > > To unsubscribe, edit your list preferences, or view the list archives, > > please visit: > > https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlds > > > > _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlds
_______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlds

