Compatibility test for incoming change

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Compatibility test for incoming change

Fletcher Dunn

Hello!  We’re planning on updating the method that CSGO servers uses to talk to Steam in the week or two.  We’d appreciate your help testing this change in advance to identify any potential problems.

 

To see if this change will cause any problems with your setup, download this zip and follow the instructions in the readme.txt.  (Also pasted below.)

 

http://media.steampowered.com/apps/730/steam_bins_test_20170811.zip

 

Thanks for your help.  Post a reply here if you have any issues.  We’re especially interested in hearing your results if you are running an older distribution of linux or have a complicated network environment.  (Multi-homed, NAT, etc.)

 

This change will also be coming to the older Source games, as well.  The binaries in this zip *should* be compatible with those games, although I haven’t tested it specifically so there might be an issue.  We’ll send a similar announcement to operators of those servers on the appropriate mailing list when we get closer to updating those games.

 

- Fletch

 

 

README.TXT:

 

Thanks for helping test compatibility with these new Steam binaries for the

dedicated server.

 

Place the files for your platform into your "bin" folder.  They should replace

files with the same name.  (steamerrorreporter.exe on Win32 is new.)

 

**PLEASE DELETE** the files listed below, if they are present:

 

                Linux:

                                libstdc++.so.6

                                libtier0_s.so

                                libvstdlib_s.so

                                libsteam.so

 

                Windows:

                                steam.dll

 

We believe that they are no longer be needed and we will no longer be shipping them.

Please let us know if this is not the case.

 

These binaries will communicate with Steam using the new WebSockets protocol. Previously

a bespoke UDP protocol was used.  You should see a TCP connection to a Valve server on

port 443, bound to a local ephemeral port.  There is currently no mechanism to control

what local IP or port this connection is bound to.  However, it does obey HTTP proxy,

so if you need to control the public IP you can do that.  (The master server may refuse

to list your server if the public IP used to talk to Steam does not match the IP you are

advertising for game traffic.)  Alternatively, you can add "-udpforce" on the command line

to disable websockets and force the use of the old UDP protocol.  Please don't do this

unless you need to.  In the future WebSockets will be the preferred (and better-supported)

protocol.  The UDP protocol will likely be around for some time, but eventually we'll

phase it out.

 

Things to test:

                * Does the server boot with those files deleted.  (Especially on old distros.)

                * Does the server have any trouble talking to Steam using websockets.

 

The connection_log[_xxx].txt file is also a potentially interesting source of

information about how your server is talking to Steam.

 

We will make a special announcement when we release the update that makes this change.

Until you see that announcement, you can assume that no change has been made to the

Steam binaries or method used to talk to Steam.


_______________________________________________
Csgo_servers mailing list
[hidden email]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compatibility test for incoming change

Kyle Sanderson
Fletch is back.

Any idea if you guys ever fixed the master IP binding issue on multi-homed systems? I still have my iptables rules forcing UDP as this was still an issue the last time you were kicking around.

Kyle.

On 11 Aug 2017 11:02 am, "Fletcher Dunn" <[hidden email]> wrote:

Hello!  We’re planning on updating the method that CSGO servers uses to talk to Steam in the week or two.  We’d appreciate your help testing this change in advance to identify any potential problems.

 

To see if this change will cause any problems with your setup, download this zip and follow the instructions in the readme.txt.  (Also pasted below.)

 

http://media.steampowered.com/apps/730/steam_bins_test_20170811.zip

 

Thanks for your help.  Post a reply here if you have any issues.  We’re especially interested in hearing your results if you are running an older distribution of linux or have a complicated network environment.  (Multi-homed, NAT, etc.)

 

This change will also be coming to the older Source games, as well.  The binaries in this zip *should* be compatible with those games, although I haven’t tested it specifically so there might be an issue.  We’ll send a similar announcement to operators of those servers on the appropriate mailing list when we get closer to updating those games.

 

- Fletch

 

 

README.TXT:

 

Thanks for helping test compatibility with these new Steam binaries for the

dedicated server.

 

Place the files for your platform into your "bin" folder.  They should replace

files with the same name.  (steamerrorreporter.exe on Win32 is new.)

 

**PLEASE DELETE** the files listed below, if they are present:

 

                Linux:

                                libstdc++.so.6

                                libtier0_s.so

                                libvstdlib_s.so

                                libsteam.so

 

                Windows:

                                steam.dll

 

We believe that they are no longer be needed and we will no longer be shipping them.

Please let us know if this is not the case.

 

These binaries will communicate with Steam using the new WebSockets protocol. Previously

a bespoke UDP protocol was used.  You should see a TCP connection to a Valve server on

port 443, bound to a local ephemeral port.  There is currently no mechanism to control

what local IP or port this connection is bound to.  However, it does obey HTTP proxy,

so if you need to control the public IP you can do that.  (The master server may refuse

to list your server if the public IP used to talk to Steam does not match the IP you are

advertising for game traffic.)  Alternatively, you can add "-udpforce" on the command line

to disable websockets and force the use of the old UDP protocol.  Please don't do this

unless you need to.  In the future WebSockets will be the preferred (and better-supported)

protocol.  The UDP protocol will likely be around for some time, but eventually we'll

phase it out.

 

Things to test:

                * Does the server boot with those files deleted.  (Especially on old distros.)

                * Does the server have any trouble talking to Steam using websockets.

 

The connection_log[_xxx].txt file is also a potentially interesting source of

information about how your server is talking to Steam.

 

We will make a special announcement when we release the update that makes this change.

Until you see that announcement, you can assume that no change has been made to the

Steam binaries or method used to talk to Steam.


_______________________________________________
Csgo_servers mailing list
[hidden email]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers

_______________________________________________
Csgo_servers mailing list
[hidden email]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compatibility test for incoming change

dedimark
Debian 8

/etc/network/interfaces

# The primary network interface
auto eth0
iface eth0 inet static
        address 104.128.53.34
        netmask 255.255.255.224
        network 104.128.53.32
        broadcast 104.128.53.63
        gateway 104.128.53.33
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 208.117.10.68
        dns-search hostvenom.com

auto eth0:1
iface eth0:1 inet static
        address 104.128.53.35
        netmask 255.255.255.248
        gateway 104.128.53.33

server start with +ip 104.128.53.35 +net_public_adr 104.128.53.35

server automaticaly set 104.128.53.34 as public IP

version : 1.35.9.7/13597 558/6816 secure  [G:1:987936]
udp/ip  : 104.128.53.35:27015  (public ip: 104.128.53.34)

ant i cant connect to server

Thanks








On Fri, Aug 11, 2017 at 9:14 PM, Kyle Sanderson <[hidden email]> wrote:
Fletch is back.

Any idea if you guys ever fixed the master IP binding issue on multi-homed systems? I still have my iptables rules forcing UDP as this was still an issue the last time you were kicking around.

Kyle.

On 11 Aug 2017 11:02 am, "Fletcher Dunn" <[hidden email]> wrote:

Hello!  We’re planning on updating the method that CSGO servers uses to talk to Steam in the week or two.  We’d appreciate your help testing this change in advance to identify any potential problems.

 

To see if this change will cause any problems with your setup, download this zip and follow the instructions in the readme.txt.  (Also pasted below.)

 

http://media.steampowered.com/apps/730/steam_bins_test_20170811.zip

 

Thanks for your help.  Post a reply here if you have any issues.  We’re especially interested in hearing your results if you are running an older distribution of linux or have a complicated network environment.  (Multi-homed, NAT, etc.)

 

This change will also be coming to the older Source games, as well.  The binaries in this zip *should* be compatible with those games, although I haven’t tested it specifically so there might be an issue.  We’ll send a similar announcement to operators of those servers on the appropriate mailing list when we get closer to updating those games.

 

- Fletch

 

 

README.TXT:

 

Thanks for helping test compatibility with these new Steam binaries for the

dedicated server.

 

Place the files for your platform into your "bin" folder.  They should replace

files with the same name.  (steamerrorreporter.exe on Win32 is new.)

 

**PLEASE DELETE** the files listed below, if they are present:

 

                Linux:

                                libstdc++.so.6

                                libtier0_s.so

                                libvstdlib_s.so

                                libsteam.so

 

                Windows:

                                steam.dll

 

We believe that they are no longer be needed and we will no longer be shipping them.

Please let us know if this is not the case.

 

These binaries will communicate with Steam using the new WebSockets protocol. Previously

a bespoke UDP protocol was used.  You should see a TCP connection to a Valve server on

port 443, bound to a local ephemeral port.  There is currently no mechanism to control

what local IP or port this connection is bound to.  However, it does obey HTTP proxy,

so if you need to control the public IP you can do that.  (The master server may refuse

to list your server if the public IP used to talk to Steam does not match the IP you are

advertising for game traffic.)  Alternatively, you can add "-udpforce" on the command line

to disable websockets and force the use of the old UDP protocol.  Please don't do this

unless you need to.  In the future WebSockets will be the preferred (and better-supported)

protocol.  The UDP protocol will likely be around for some time, but eventually we'll

phase it out.

 

Things to test:

                * Does the server boot with those files deleted.  (Especially on old distros.)

                * Does the server have any trouble talking to Steam using websockets.

 

The connection_log[_xxx].txt file is also a potentially interesting source of

information about how your server is talking to Steam.

 

We will make a special announcement when we release the update that makes this change.

Until you see that announcement, you can assume that no change has been made to the

Steam binaries or method used to talk to Steam.


_______________________________________________
Csgo_servers mailing list
[hidden email]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers

_______________________________________________
Csgo_servers mailing list
[hidden email]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers


_______________________________________________
Csgo_servers mailing list
[hidden email]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compatibility test for incoming change

dedimark
same with -IP

On Fri, Aug 11, 2017 at 9:25 PM, dedimark <[hidden email]> wrote:
Debian 8

/etc/network/interfaces

# The primary network interface
auto eth0
iface eth0 inet static
        address 104.128.53.34
        netmask 255.255.255.224
        network 104.128.53.32
        broadcast 104.128.53.63
        gateway 104.128.53.33
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 208.117.10.68
        dns-search hostvenom.com

auto eth0:1
iface eth0:1 inet static
        address 104.128.53.35
        netmask 255.255.255.248
        gateway 104.128.53.33

server start with +ip 104.128.53.35 +net_public_adr 104.128.53.35

server automaticaly set 104.128.53.34 as public IP

version : 1.35.9.7/13597 558/6816 secure  [G:1:987936]
udp/ip  : 104.128.53.35:27015  (public ip: 104.128.53.34)

ant i cant connect to server

Thanks








On Fri, Aug 11, 2017 at 9:14 PM, Kyle Sanderson <[hidden email]> wrote:
Fletch is back.

Any idea if you guys ever fixed the master IP binding issue on multi-homed systems? I still have my iptables rules forcing UDP as this was still an issue the last time you were kicking around.

Kyle.

On 11 Aug 2017 11:02 am, "Fletcher Dunn" <[hidden email]> wrote:

Hello!  We’re planning on updating the method that CSGO servers uses to talk to Steam in the week or two.  We’d appreciate your help testing this change in advance to identify any potential problems.

 

To see if this change will cause any problems with your setup, download this zip and follow the instructions in the readme.txt.  (Also pasted below.)

 

http://media.steampowered.com/apps/730/steam_bins_test_20170811.zip

 

Thanks for your help.  Post a reply here if you have any issues.  We’re especially interested in hearing your results if you are running an older distribution of linux or have a complicated network environment.  (Multi-homed, NAT, etc.)

 

This change will also be coming to the older Source games, as well.  The binaries in this zip *should* be compatible with those games, although I haven’t tested it specifically so there might be an issue.  We’ll send a similar announcement to operators of those servers on the appropriate mailing list when we get closer to updating those games.

 

- Fletch

 

 

README.TXT:

 

Thanks for helping test compatibility with these new Steam binaries for the

dedicated server.

 

Place the files for your platform into your "bin" folder.  They should replace

files with the same name.  (steamerrorreporter.exe on Win32 is new.)

 

**PLEASE DELETE** the files listed below, if they are present:

 

                Linux:

                                libstdc++.so.6

                                libtier0_s.so

                                libvstdlib_s.so

                                libsteam.so

 

                Windows:

                                steam.dll

 

We believe that they are no longer be needed and we will no longer be shipping them.

Please let us know if this is not the case.

 

These binaries will communicate with Steam using the new WebSockets protocol. Previously

a bespoke UDP protocol was used.  You should see a TCP connection to a Valve server on

port 443, bound to a local ephemeral port.  There is currently no mechanism to control

what local IP or port this connection is bound to.  However, it does obey HTTP proxy,

so if you need to control the public IP you can do that.  (The master server may refuse

to list your server if the public IP used to talk to Steam does not match the IP you are

advertising for game traffic.)  Alternatively, you can add "-udpforce" on the command line

to disable websockets and force the use of the old UDP protocol.  Please don't do this

unless you need to.  In the future WebSockets will be the preferred (and better-supported)

protocol.  The UDP protocol will likely be around for some time, but eventually we'll

phase it out.

 

Things to test:

                * Does the server boot with those files deleted.  (Especially on old distros.)

                * Does the server have any trouble talking to Steam using websockets.

 

The connection_log[_xxx].txt file is also a potentially interesting source of

information about how your server is talking to Steam.

 

We will make a special announcement when we release the update that makes this change.

Until you see that announcement, you can assume that no change has been made to the

Steam binaries or method used to talk to Steam.


_______________________________________________
Csgo_servers mailing list
[hidden email]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers

_______________________________________________
Csgo_servers mailing list
[hidden email]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers



_______________________________________________
Csgo_servers mailing list
[hidden email]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compatibility test for incoming change

John
In reply to this post by Fletcher Dunn
On 8/11/2017 11:02 AM, Fletcher Dunn wrote:

There is currently no mechanism to control

what local IP or port this connection is bound to. ... (The master server may refuse

to list your server if the public IP used to talk to Steam does not match the IP you are

advertising for game traffic.)


This would make the new mechanism incompatible with our systems, because all machines here have multiple IP addresses. Some other games have this same design flaw, including some Valve games on Linux (at least, historically). As Kyle does, we have a firewall rule in place on Linux that drops TCP connections to 27017:27019 on the outbound as a workaround for this (forcing a fallback to UDP mode).

Before the official release, or at least before you phase out -udpforce, you should modify the software to do a bind() call before connect(), using the IP address specified on the command line.

-John

_______________________________________________
Csgo_servers mailing list
[hidden email]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compatibility test for incoming change

Fletcher Dunn

I don’t know if/when we’ll have a better solution than HTTP proxy for controlling the public IP for websockets.  However, in the meantime, -udpforce on the command line should work.  Can you please confirm that it does?

 

I’m sure we’ll make sure there is a reasonable solution for multihomed servers.

 

From: Csgo_servers [mailto:[hidden email]] On Behalf Of John
Sent: Friday, August 11, 2017 11:36 AM
To: [hidden email]
Subject: Re: [Csgo_servers] Compatibility test for incoming change

 

On 8/11/2017 11:02 AM, Fletcher Dunn wrote:

There is currently no mechanism to control

what local IP or port this connection is bound to. ... (The master server may refuse

to list your server if the public IP used to talk to Steam does not match the IP you are

advertising for game traffic.)


This would make the new mechanism incompatible with our systems, because all machines here have multiple IP addresses. Some other games have this same design flaw, including some Valve games on Linux (at least, historically). As Kyle does, we have a firewall rule in place on Linux that drops TCP connections to 27017:27019 on the outbound as a workaround for this (forcing a fallback to UDP mode).

Before the official release, or at least before you phase out -udpforce, you should modify the software to do a bind() call before connect(), using the IP address specified on the command line.

-John


_______________________________________________
Csgo_servers mailing list
[hidden email]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compatibility test for incoming change

Ejziponken
In reply to this post by Fletcher Dunn
Hi.

My machines have multiple IPs and this is not working for me. I cant connect. Also the "-udpforce" in the command line does not fix anything, still cant connect.

Im on Gentoo. Not sure what information you need from me.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compatibility test for incoming change

fred
This post has NOT been accepted by the mailing list yet.
In reply to this post by Fletcher Dunn
Would it be possible to push this through as a beta via the Steam beta opt-in feature?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compatibility test for incoming change

Marco Padovan
In reply to this post by Ejziponken
Hi,

centos 7, uploaded the binaries, removed the files mentioned in the readme, added -udpforce to the cmd line (as all our servers are multihomed) but it seems to still be showing the wrong public IP:

version : 1.35.9.7/13597 558/6816 secure  [G:1: xxxxxxx]
udp/ip  : xx.xxx.x.227:27015  (public ip: xx.xxx.x.226)

on other servers with current steam binaries it reads as:
udp/ip  : xx.xxx.x.227:27015  (public ip: xx.xxx.x.227)

so the public ip is wrong here... with the new binary it uses the main machine ip instead of the one it should be assigned to.

connection_log.txt

[2017-08-17 09:56:12] Log session started
[2017-08-17 09:56:12] [0,0] SetSteamID( [G:1:0] )
[2017-08-17 09:56:12] [0,0] Server says 0% of connections should be websockets, we rolled 3 - using UDP as default.
[2017-08-17 09:56:12] CCMInterface::YieldingConnect -- no CMs cached locally, calling ISteamDirectory/GetCMList web api. . .
[2017-08-17 09:56:12] CCMInterface::YieldingConnect -- got 180 CMs and 100 WebSocket CMS from ISteamDirectory/GetCMList.
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm01-ord.cm.steampowered.com:27021) starting...
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm04-ord.cm.steampowered.com:27021) starting...
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm04-ord.cm.steampowered.com:443) starting...
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm02-ord.cm.steampowered.com:27021) starting...
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm02-ord.cm.steampowered.com:443) starting...
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm01-ord.cm.steampowered.com:443) starting...
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm03-ord.cm.steampowered.com:443) starting...
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm03-ord.cm.steampowered.com:27021) starting...
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm04-ord.cm.steampowered.com:443) results: 18.4207ms + load 28.0000
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() stopping early for good host (cm04-ord.cm.steampowered.com:443)
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm02-ord.cm.steampowered.com:27021) results: 18.4138ms + load 24.0000
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm01-ord.cm.steampowered.com:443) results: 18.4076ms + load 26.0000
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm03-ord.cm.steampowered.com:443) results: 18.1608ms + load 25.0000
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm02-ord.cm.steampowered.com:443) results: 18.4035ms + load 25.0000
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm01-ord.cm.steampowered.com:27021) results: 20.6122ms + load 25.0000
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm04-ord.cm.steampowered.com:27021) results: 38.0018ms + load 23.0000
[2017-08-17 09:56:12] [0,0] PingWebSocketCM() (cm03-ord.cm.steampowered.com:27021) results: 20.0670ms + load 25.0000
[2017-08-17 09:56:12] [1,3] Connect() starting connection (eNetQOSLevelMedium, cm02-ord.cm.steampowered.com:27021, WebSocket)
[2017-08-17 09:56:12] [1,3] ConnectionCompleted() (162.254.193.7:27021, WebSocket)
[2017-08-17 09:56:12] [1,3] RecvMsgClientLogOnResponse() : [G:1:xxxxxxx] 'OK'

On Sat, Aug 12, 2017 at 9:15 AM, Ejziponken <[hidden email]> wrote:
Hi.

My machines have multiple IPs and this is not working for me. I cant
connect. Also the "-udpforce" in the command line does not fix anything,
still cant connect.

Im on Gentoo. Not sure what information you need from me.



--
View this message in context: http://csgo-servers.1073505.n5.nabble.com/Compatibility-test-for-incoming-change-tp12479p12486.html
Sent from the CSGO_Servers mailing list archive at Nabble.com.

_______________________________________________
Csgo_servers mailing list
[hidden email]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers


_______________________________________________
Csgo_servers mailing list
[hidden email]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compatibility test for incoming change

Ejziponken
In reply to this post by Fletcher Dunn
I double checked and tried it again on a different multihomed machine  with -udpforce. I cannot connect to the server. Using 4.8.6-gentoo.

./srcds_run -game csgo +ip ************.35


Connection to Steam servers successful.
Public IP is ************.28.

With -udpforce
version: 1.35.9.7/13597 558/6816 secure  [G:1:*****]
udp/ip : ************.35:27015  (public ip: ************.28)

Without -udpforce (current live build)
version : 1.35.9.7/13597 558/6816 secure  [G:1:*****]
udp/ip  : ************.35:27015  (public ip: ************.35)

No response from Fletcher in a week now. Makes me nervous. :P

/ Chris
Loading...