[Csgo_servers] Compatibility test for incoming change (again)

Discussion in 'HLDS / Valve Windows newsletter' started by FletcherDunn, Dec 7, 2017 at 1:22 PM.

  1. FletcherDunn

    FletcherDunn Guest

    --_000_770639FC61A30543AE6B96029C088B03F42B0FA3exchange01valve_
    Content-Type: text/plain; charset=us-ascii
    Content-Transfer-Encoding: quoted-printable

    Hello! Im back for another test.

    Were planning on updating the method that CSGO servers uses to talk to Steam in the week or two. Wed appreciate your help testing this change in advance to identify any potential problems. When we ran this test before, we didnt have a mechanism to bind the new websocket connection to a particular IP. We realized that this was a necessary feature, and so the binaries in this test should include that functionality. The method to select the IP to bind to is the same, so basically your current configuration should just work.

    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_20171206.zip

    Thanks for your help. Post a reply here if you have any issues. Were 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 havent tested it specifically so there might be an issue. Well 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 port this connection is bound to. However, it should obey your IP binding,
    as before, and that is one of the main things we want to confirm with this test.
    (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.) It also should
    obey HTTP_PROXY. You also should be able to add -udpforce on the command line
    to disable websockets and force the use of the old UDP protocol. But please dont do this
    unless you absolutely have 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 well phase it out.

    Note that there is no change to the UDP protocols used to talk to clients, either game
    traffic or for server browser pings. This only changes how the gameserver talks to Steam.
    For that purpose the local port has never been relevant. As mentioned above, we do
    require that the public IP match.


    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.

    --_000_770639FC61A30543AE6B96029C088B03F42B0FA3exchange01valve_
    Content-Type: text/html; charset=us-ascii
    Content-Transfer-Encoding: quoted-printable

    <html xmlns:v=urn:schemas-microsoft-com:vml xmlns:eek:=urn:schemas-microsoft-com:eek:ffice:eek:ffice xmlns:w=urn:schemas-microsoft-com:eek:ffice:word xmlns:m=http://schemas.microsoft.com/office/2004/12/omml xmlns=http://www.w3.org/TR/REC-html40>
    <head>
    <meta http-equiv=Content-Type content=text/html; charset=us-ascii>
    <meta name=Generator content=Microsoft Word 15 (filtered medium)>
    <style><!--
    /* Font Definitions */
    @font-face
    font-family:Cambria Math;
    panose-1:2 4 5 3 5 4 6 3 2 4;
    @font-face
    font-family:Calibri;
    panose-1:2 15 5 2 2 2 4 3 2 4;
    /* Style Definitions */
    p.MsoNormal, li.MsoNormal, div.MsoNormal
    margin:0in;
    margin-bottom:.0001pt;
    font-size:11.0pt;
    font-family:Calibri,sans-serif;
    a:link, span.MsoHyperlink
    mso-style-priority:99;
    color:#0563C1;
    text-decoration:underline;
    a:visited, span.MsoHyperlinkFollowed
    mso-style-priority:99;
    color:#954F72;
    text-decoration:underline;
    span.EmailStyle17
    mso-style-type:personal-compose;
    font-family:Calibri,sans-serif;
    color:windowtext;
    .MsoChpDefault
    mso-style-type:export-only;
    @page WordSection1
    size:8.5in 11.0in;
    margin:1.0in 1.0in 1.0in 1.0in;
    div.WordSection1
    page:WordSection1;
    --></style><!--[if gte mso 9]><xml>
    <o:shapedefaults v:ext=edit spidmax=1026 />
    </xml><![endif]--><!--[if gte mso 9]><xml>
    <o:shapelayout v:ext=edit>
    <o:idmap v:ext=edit data=1 />
    </o:shapelayout></xml><![endif]-->
    </head>
    <body lang=EN-US link=#0563C1 vlink=#954F72>
    <div class=WordSection1>
    <p class=MsoNormal>Hello!&nbsp; I&#8217;m back for another test.<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>Were planning on updating the method that CSGO servers uses to talk to Steam in the week or two.&nbsp; Wed appreciate your help testing this change in advance to identify any potential problems.&nbsp; When we ran this test before, we didn&#8217;t have
    a mechanism to bind the new websocket connection to a particular IP.&nbsp; We realized that this was a necessary feature, and so the binaries in this test should include that functionality.&nbsp; The method to select the IP to bind to is the same, so basically your
    current configuration should just work.<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>To see if this change will cause any problems with your setup, download this zip and follow the instructions in the readme.txt.&nbsp; (Also pasted below.)<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>http://media.steampowered.com/apps/730/steam_bins_test_20171206.zip<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>Thanks for your help.&nbsp; Post a reply here if you have any issues.&nbsp; Were especially interested in hearing your results if you are running an older distribution of linux or have a complicated network environment.&nbsp; (Multi-homed, NAT, etc.)<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>This change will also be coming to the older Source games, as well.&nbsp; The binaries in this zip *should* be compatible with those games, although I havent tested it specifically so there might be an issue.&nbsp; Well send a similar announcement
    to operators of those servers on the appropriate mailing list when we get closer to updating those games.<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>- Fletch<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>README.TXT:<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>Thanks for helping test compatibility with these new Steam binaries for the<o:p></o:p></p>
    <p class=MsoNormal>dedicated server.<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>Place the files for your platform into your &quot;bin&quot; folder.&nbsp; They should replace<o:p></o:p></p>
    <p class=MsoNormal>files with the same name.&nbsp; (steamerrorreporter.exe on Win32 is new.)<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>**PLEASE DELETE** the files listed below, if they are present:<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Linux:<o:p></o:p></p>
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libstdc&#43;&#43;.so.6<o:p></o:p></p>
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libtier0_s.so<o:p></o:p></p>
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libvstdlib_s.so<o:p></o:p></p>
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libsteam.so<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Windows:<o:p></o:p></p>
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; steam.dll<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>We believe that they are no longer be needed and we will no longer be shipping them.<o:p></o:p></p>
    <p class=MsoNormal>Please let us know if this is not the case.<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>These binaries will communicate with Steam using the new WebSockets protocol. Previously<o:p></o:p></p>
    <p class=MsoNormal>a bespoke UDP protocol was used.&nbsp; You should see a TCP connection to a Valve server on<o:p></o:p></p>
    <p class=MsoNormal>port 443, bound to a local ephemeral port.&nbsp; There is currently no mechanism to control<o:p></o:p></p>
    <p class=MsoNormal>what local port this connection is bound to.&nbsp; However, it should obey your IP binding,<o:p></o:p></p>
    <p class=MsoNormal>as before, and that is one of the main things we want to confirm with this test.<o:p></o:p></p>
    <p class=MsoNormal>(The master server may refuse to list your server if the public IP used to talk<o:p></o:p></p>
    <p class=MsoNormal>to Steam does not match the IP you are advertising for game traffic.)&nbsp; It also should<o:p></o:p></p>
    <p class=MsoNormal>obey HTTP_PROXY.&nbsp; You also should be able to add &quot;-udpforce&quot; on the command line<o:p></o:p></p>
    <p class=MsoNormal>to disable websockets and force the use of the old UDP protocol.&nbsp; But please dont do this<o:p></o:p></p>
    <p class=MsoNormal>unless you absolutely have to.&nbsp; In the future WebSockets will be the preferred (and<o:p></o:p></p>
    <p class=MsoNormal>better-supported) protocol.&nbsp; The UDP protocol will likely be around for some time, but<o:p></o:p></p>
    <p class=MsoNormal>eventually well phase it out.<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>Note that there is no change to the UDP protocols used to talk to clients, either game<o:p></o:p></p>
    <p class=MsoNormal>traffic or for server browser pings.&nbsp; This only changes how the gameserver talks to Steam.<o:p></o:p></p>
    <p class=MsoNormal>For that purpose the local port has never been relevant.&nbsp; As mentioned above, we do<o:p></o:p></p>
    <p class=MsoNormal>require that the public IP match.<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>Things to test:<o:p></o:p></p>
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Does the server boot with those files deleted.&nbsp; (Especially on old distros.)<o:p></o:p></p>
    <p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Does the server have any trouble talking to Steam using websockets.<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>The connection_log[_xxx].txt file is also a potentially interesting source of<o:p></o:p></p>
    <p class=MsoNormal>information about how your server is talking to Steam.<o:p></o:p></p>
    <p class=MsoNormal><o:p>&nbsp;</o:p></p>
    <p class=MsoNormal>We will make a special announcement when we release the update that makes this change.<o:p></o:p></p>
    <p class=MsoNormal>Until you see that announcement, you can assume that no change has been made to the<o:p></o:p></p>
    <p class=MsoNormal>Steam binaries or method used to talk to Steam.<o:p></o:p></p>
    </div>
    </body>
    </html>

    --_000_770639FC61A30543AE6B96029C088B03F42B0FA3exchange01valve_--


     

Share This Page

Loading...