Valve is getting ahead of the game with GDC fast approaching, with two bits of Steam news coming in hot today.
Firstly, Steam Link Anywhere actually sounds very interesting. It's now officially in beta and it allows you to essentially connect to your computer and play games from anywhere. Since it's just an extension of the Steam Link functionality, it's free for all Steam users. It works with both the Steam Link App and the Steam Link hardware.
To access it, you do need to opt into the Steam Client beta version. Valve say it requires "A high upload speed from your computer and strong network connection to your Steam Link device are required to use Steam Link Anywhere". More on that here.
On top of that, for developers they've announced the Steam Networking Sockets APIs, available to all Steam approved developers to access the technologies and infrastructure built to support CS:GO and Dota 2. The gist of it is this:
- Access to our network, giving your players protection from attack, 100% reliable NAT traversal, and improved connectivity.
- Tools for instantly estimating the ping between two arbitrary hosts without sending any packets.
- A high quality end-to-end encrypted reliable-over-UDP protocol.
A bunch of it is open source too, available to look over on GitHub on Valve's GameNetworkingSockets repository.
For a lot more info on the networking stuff, see this post from Valve. They do say that this is only the first of a "series" of updates aimed at "improving the networked gaming experience for Steam partners". An additional bit mentions stuff for dedicated servers also coming soon, which will be interesting.
Also, Valve are doing a talk at GDC on Thursday next week, to talk about this plus what else is to come. For anyone attending, it's happening at "12:45 pmin Moscone West Hall 2011".
Quoting: kuhpunktNot YET untied.
Sure, we are talking about current situation, not about hypothetical improvements.
Quoting: liamdaweQuoting: MohandevirDo you smell it? Could this be the scent of a Steam streaming service? :)You mean like the one I said Valve would do :P
Can I borrow your magic 8-ball? I need a wining lotto-ticket.
Quoting: ShmerlQuoting: kuhpunktNot YET untied.
Sure, we are talking about current situation, not about hypothetical improvements.
But the situation will change. That's not even hypothetical. That's what the news is about.
Quoting: kuhpunktBut the situation will change. That's not even hypothetical. That's what the news is about.
Well, if it will - good.
Quoting: BOYSSSSSFirst Metro Exodus now Phoenix PointWow... This is serious mess.
https://www.youtube.com/watch?v=5tRWWSkg1Xc
<apologies for bringing in politics...>
...seems to be similar to Brexit: the situation is quite complicated in various ways for various parties, generating lots of confusion, with no easy way out in time for anyone involved and thus generating quite a frustration on all the possible sides...
</apologies for bringing in politics...>
Quoting: AnanaceI imagine that their "100% reliable NAT traversal" is just them hosting a series of TURN servers on their impressive infrastructure.
Since it also provides DDoS protection, and hiding of IP addresses, that would make a whole lot of sense actually.
It would also easily explain why the service in question would be limited to Steam's services.
For the people who are less aware, TURN servers are basically just echo nodes, to which you and the other part both connect and which then just echo the traffic between your connections. This is a 100% reliable way to bypass every single NAT, as it is just like any other connection to a server, which then facilitates peer-to-peer data transfer through it.
That's what it sounds like:
https://github.com/ValveSoftware/GameNetworkingSockets#why-do-i-see-steam-everywhere
https://github.com/ValveSoftware/GameNetworkingSockets#nat-piercing-icestunturn
It also sounds like they're planning to let you use the same API as the steamworks version, but with your own servers in the future. Until then, it doesn't sound to me like anything prevents you from rolling your own solution.
Quoting: Smoke39Until then, it doesn't sound to me like anything prevents you from rolling your own solution.
Nothing prevents you from rolling everything yourself, except cost and complexity. Some do roll out their own infrastructure or rely on generic cloud services. But many use Steam one because it's easy.
Can you use it to stream Windows games to a Linux box over the Internet?
Quoting: ShmerlSounds like another lock-in. I've seen at least one developer saying they'll stop updating their game on itch.io, because they want to add multiplayer, and since it needs NAT traversal, they decided to rely on Steam's service for it. Which means they can't use it with versions released in other stores... (It's also a clear example how the lack of IPv6 is causing harm).
So I don't see this as a good thing at all. Proper network services should not be tied to stores and developers should be able to use them no matter where they release. I suppose those don't need to be free, but tying them to a specific store is simply wrong.
But it's the developer who decides to only use Steam tools (and in your example, it sounds like a lame excuse). I don't think that anyone can say that "NAT transversal" is a mandatory feature for your game as it's a very low-level requirement. I mean, you can easily implement your multiplayer client-server processes that can work with or without NAT transversal (of course, in the latter the users will have to deal with network configurations...)
Last edited by x_wing on 14 March 2019 at 9:51 pm UTC
Quoting: ShmerlSure, developers decide, but if they do want NAT traversal, they can't use Steam one without being tied to Steam. At least now.
But they are not tied to Steam in order to provide multiplayer. This is optional and, as I said, you can have multiplayer support without NAT traversal in all the versions of your game without any extra work (the extra work is actually creating the abstraction layer in order to support Steam networking API).
Quoting: Xaero_VincentDoes Steam Link Anywhere work with the Linux client or only Android and Steam Link hardware?
Can you use it to stream Windows games to a Linux box over the Internet?
It is already possible to do over your own house, so probably will be possible to do this with Steam Link Anywhere too
Quoting: x_wingBut they are not tied to Steam in order to provide multiplayer. This is optional and, as I said, you can have multiplayer support without NAT traversal in all the versions of your game without any extra work (the extra work is actually creating the abstraction layer in order to support Steam networking API).
You can have multiplayer without backend altogether, just run one instance as a server. I suppose most don't like that due to matchmaking logic and scalability issues.
Last edited by Shmerl on 14 March 2019 at 10:45 pm UTC
Quoting: subQuoting: Whitewolfe80
EPIC store does not support Linux.
The other day on Twitter someone asked them about Proton on the Epic store, they said they couldn't because of the tech they used. But then went on to say they were hiring Linux people... I guess that doesn't necessarily mean they will be working on a client but its something.
Quoting: bingusThe other day on Twitter someone asked them about Proton on the Epic store, they said they couldn't because of the tech they used.
That doesn't make much sense. If something is missing in Wine, they can add support, it's open source and CodeWeavers are open to contributions. And no one stops them from making their own custom Wine variant like Valve did with Proton, if some stuff is too hard to upstream.
Last edited by Shmerl on 14 March 2019 at 10:49 pm UTC
Quoting: ShmerlYou can have multiplayer without backend altogether, just run one instance as a server. I suppose most don't like that due to matchmaking logic and scalability issues.
Still, not an impediment to support multiplayer outside of Steam. If they decide to only use Steam network API (or GoG network API or whatever proprietary library), it definitely isn't because of a feature such as NAT traversal. For me that's just a vague excuse.
Quoting: x_wingStill, not an impediment to support multiplayer outside of Steam. If they decide to only use Steam network API (or GoG network API or whatever proprietary library), it definitely isn't because of a feature such as NAT traversal. For me that's just a vague excuse.
That's what developer claimed in my case when I asked about it. It doesn't need to be NAT traversal specifically. Any feature that's tied to Steam store, in the service that can be general purpose can cause such kind of problem.
Last edited by Shmerl on 14 March 2019 at 11:05 pm UTC
Quoting: ShmerlThat's what developer claimed in my case when I asked about it. It doesn't need to be NAT traversal specifically. Any feature that's tied to Steam store, in the service that can be general purpose can cause such kind of problem.
Then the same goes for the GoG API. From my point of view, what they don't want to implement/support is a server infrastructure in order to create a server/clients lobby.
Last edited by Shmerl on 14 March 2019 at 11:27 pm UTC
Quoting: bingusHere it goes:Quoting: subQuoting: Whitewolfe80
EPIC store does not support Linux.
The other day on Twitter someone asked them about Proton on the Epic store, they said they couldn't because of the tech they used. But then went on to say they were hiring Linux people... I guess that doesn't necessarily mean they will be working on a client but its something.
https://www.forbes.com/sites/jasonevangelho/2019/03/14/epic-games-store-linux/#44d9bcd95b3b
See more from me