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

Reply via email to