๐Ÿ“‹Server Browser

Discovering Steam Game Servers in Steam client or in game.

Like what you're seeing?

Support us as a GitHub Sponsor and get instant access to all our assets, exclusive tools and assets, escalated support and issue tracking and our gratitude. These articles are made possible by our GitHub Sponsors ... become a sponsor today!

Introduction

Steam Game Server Browser is a feature of the Steam client and Steam API that gives you a matchmaking and discovery tool for logged-on Steam Game Servers. In order to use this feature you will need to initialize your server build as a Steam Game Server and Log On to the server with Set Advertise Game Server as true.

Heathen's Steamworks Complete for Unity trivializes all of this, the Steam Settings scriptable object contains all the configuration options so you can set them in the Unity inspector.

Our initialization process is smart and will initialize for Steam Game Server for any server build and will use Steam Client for any client build. We do this by checking the standard unity script define UNITY_SERVER

In Game Browser

The Game Server Browser Manager is a Unity component we designed to simplify the query of the Steam Game Server browser entries. Our browser manager works with the Matchmaking.Client API to query Steam for lists of servers.

In general, servers are listed in the following groups and may appear in more than 1 group

  • Favourites Servers marked as favourite by the user who

  • Friends Servers friends are associated with

  • History Servers the user has connected to in the past

  • Internet Servers that are not on the local area network e.g. internet servers

  • LAN Servers that are on the local area network

  • Spectator Spectator servers

Once you have a list of servers you can set up your own UI to display them and you can use our Browser Manger, our API or the raw Steam API to interrogate them e.g. request a refresh on Ping, Refresh the server rules and refresh Player Details.

Raw API

The SteamMatchmakingServers API from Steam API is where you will find the Request<type>ServerList, PingServer, PlayerDetails and related methods; for example

SteamMatchmakingServer.RequestInternetServerList(...);

Heathen's API contains this in API.Matchmaking.Client along with all other matchmaking-related features suitable for use in a client build.

Last updated