Quote:
Originally Posted by Heliocon
Nice catch - didnt realise they seperated in this way. One thing I love about Valve is that they are so completely dedicated to PC games (except for l4d/p2 which is multi) with the source engine and all their free tools.
|
thnx hel but here is something your not going to like, it sounds great till you get to the bottom..it almost contradicts what was written above.
https://partner.steamgames.com/documentation/api
Quote:
Matchmaking allows users to find existing games via server listings, or to start new games with a group through a lobby. See Peer-to-Peer Matchmaking for more information on using lobby-based matchmaking.
There are both game server and game client components to matchmaking. A game server (which can be a dedicated server or any client that will accept connections to other users) can publish information about itself to a Steam server (called the Master Server). There are a set of details it can share - server name, player count, map/scenario name, IP address. This is detailed in the ISteamMasterServerUpdater interface. The game client then uses the ISteamMatchmakingServers interface to get the raw lists of these game servers and their details. It first requests a base list from the master server via one on the SteamMatchmakingServers()->Request*() functions for the source it wants.
There are a few different sets of servers that can be retrieved:
* Internet server list - game servers hosted on and accessible via the public Internet
* LAN server list - game servers found on the local class C network via UDP broadcast
* Friends server list - game servers where your friends are currently playing
* Favorites server list - game servers that the current user has explicitly marked as a favorite
* History server list - game servers that the current user has played on recently
* Spectator server list - game servers marked in a special 'spectate' mode, which means they are actually a proxy that allows the user to observe a different multi-player game via a relay.
The result is a (potentially huge) list of game servers. The game client receives a callback when the list is received. The initial result is a flat list of IP addresses to query, returned approximately in order of how close the game server is to the requesting client.
The client can then request more information on each of those servers, getting both more detailed server information and ping time to that game server. It can take a while to query the information from servers (typically 50-100 servers per second can be queried), so most games choose to start displaying the information as it arrives.
The Steam client's built-in server browser will display basic information about the game server and give the option the user to join, but the information it can show is fairly limited and should be considered a secondary means of joining games, with your own in-game server browser being the primary.
|