A
A
Antikiller942019-10-03 13:34:43
Game development
Antikiller94, 2019-10-03 13:34:43

What technology does Steam use to create servers for players?

For example, a player does not have a static IP, and in general he accesses the Internet through a router, the ports in his router are not forwarded. How does Steam allow him to create a server in the game so that it is visible to other Steam users on the Internet? It feels like Steam is using something like a mesh VPN.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
D
dollar, 2019-10-03
@dollar

Each game has the right to choose some separate Steam features for creating servers, or do without them.
Thus, this is not one technology, but a complex of technologies (or one complex one, as you like).

S
Saboteur, 2019-10-03
@saboteur_kiev

Steam can simply forward players to your connection.
You are connecting to Steam from a gray address. NAT is used - that is, on a router that has a white IP, a port opens outward through which packets are broadcast to your machine.
This address / port is known to Steam, he throws players to it.
The specific implementation depends on the specific game.

E
Evgeny Shatunov, 2019-10-07
@MarkusD

The Steamworks API offers a special network abstraction layer called Steam Networking .
Within this layer, the connection is established between specific users by their Steam IDs. The type of connection between users depends on the specific network settings. When connecting in an open network or in the presence of asymmetric NAT, the connection between user hosts will be established directly. If symmetric NAT is present, the connection will be established through a special Relay server. Steam takes care of all the network type detection, connection type selection and support during the game session.
The technique of determining the connection and establishing the connection itself is widely known and generally accepted. This is NAT Punchtrough. It is pointless to describe the technology in the answer, because. there are a lot of documents on the net by this name [ 1 ][ 2 ][ 3 ][ 4 ].
To determine the type of network, Steam has a set of regional STUN servers, as well as a set of Relay servers that act as intermediaries when connecting in the presence of symmetrical NAT .
Around the last year, Valve started spinning off Steam Networking as a standalone open source product . The product will obviously be deprived of support for Steam servers, but its open source already contains enough information about organizing a network of this level.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question