question

Ranulf Busby avatar image
Ranulf Busby asked

Is it possible to launch multiple Steam dedicated servers via Playfab?

The project is currently setup and working using a standard linode server, using SteamCMD for the server to run using Steam. Is this possible, on a scalable level, to do the same with Playfab? If so whats the process for launching the servers with Steam?

Basically we need clients to be able to startup a Playfab Steam server (not local), with custom settings, which can then be listed on a server browser.

Custom Game Servers
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
Sarah Zhang avatar image
Sarah Zhang answered

PlayFab Multiplayer Server(MPS) operates the server as the container application, so as this document SteamCMD said, you may need to install the SteamCMD using the docker command. To customize the docker file, you would need to package the server executable and assets as the Linux container. Besides, to use our service, you have to integrate the PlayFab Game Server SDK(GSDK) into your game server executable. The GSDK connects your game server to a local agent installed on the VM. This agent facilitates key server interactions with the PlayFab control infrastructure. We provide the features such as assigning servers, closing servers, etc. via GSDK. If you integrate the GSDK with your server successfully, you can launch a standing by server by calling the PlayFab Multiplayer API RequestMultiplayerServer. To run the SteamCMD program when the server start running, you can add the SteamCMD running command in the if(ReadyForPlayers()){}. For this situation, the running of SteamCMD should be nested in the main server executable. You can check our document -- Using PlayFab Multiplayer Servers to host multiplayer games - PlayFab | Microsoft Docs to learn about how PlayFab Multiplayer Servers hosting works.

We are not so familiar with SteamCMD, please correct me if there is any mistake. And could you please clarify what is the server browser? Is it a feature provided by steam? Do you need to develop it on your own?

2 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Ranulf Busby avatar image Ranulf Busby commented ·

First off, thank you for the response. So I'm relatively unexperienced with scalable servers. Currently we are able to host and join to a single dedicated Unreal Engine server with Steam. SteamCMD is not needed for this to work.

Via use of Unreal Engine Steam plugins, the server creates a 'Steam session' when it boots up, using Steams online subsystem. Clients are then able to search for matching Steam sessions, which we can then list results in a browser and join a selected game.

What we would achieve is the same setup, but scalable (we dont want have to have x dedicated servers constantly running). So when someone wants to start a game it will spin up a server, which in turn creates a Steam session, and then join that session using Steam(prefereably with the option to send custom settings to the Steam server on launch. In addition players can also use the browser which will list any open Steam sessions (which have been launched) to join.

I hope this makes sense, any pointers into how to achieve this will be greatly appreciated.

Thanks.

0 Likes 0 ·
Sarah Zhang avatar image Sarah Zhang Ranulf Busby commented ·

It sounds your requirements can be implemented with UE Steam plugin, you can try to add both the UE steam plugin and GSDK for your server to host a steam server on PlayFab Multiplayer Server Service. Please feel free to ask the new question in the forum if you meet any detailed technical problems within your development.

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.