question

Jørgen Havsberg Seland avatar image
Jørgen Havsberg Seland asked

In what ways can a Steam dedicated server access PlayFab APIs?

In our games, we have official and player-run dedicated servers.

For official servers, whose hardware we control, accessing PlayFab APIs can be done via a secret.

For unofficial servers, we do not know if there is any way of accessing PlayFab APIs, as secrets are not a viable option when players control the hardware.

Are there any existing, recommended approaches for this use-case?

apisAuthentication
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

·
Citrus Yan avatar image
Citrus Yan answered

Do you mean that for unofficial servers, players can potentially see the secret because they can control the hardware and see underlying communications? Can you share more details about the unofficial servers, like how players control them? what kind of tasks do they perform?

6 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.

Jørgen Havsberg Seland avatar image Jørgen Havsberg Seland commented ·

Unofficial servers are UE4 dedicated servers.

The players run them with SteamCmd, in the same way as Ark does.

This means they can potentially see the secret because they control the hardware.

0 Likes 0 ·
Citrus Yan avatar image Citrus Yan Jørgen Havsberg Seland commented ·

If that's the case, you may need to consider only using Client APIs for unofficial servers, and, for other features that entail server/admin APIs, you may need a custom server controlled by you to handle this.

0 Likes 0 ·
Jørgen Havsberg Seland avatar image Jørgen Havsberg Seland Citrus Yan commented ·

Can steam server credentials be used to authenticate with PlayFab in the same way as steam user credentials can? AFAIK, steam servers use an anonymous authentication scheme where they are not tied to a specific steam user.

0 Likes 0 ·
Show more comments
Jørgen Havsberg Seland avatar image Jørgen Havsberg Seland commented ·

I appear to have used ambiguous wording when asking my question.

We do not require access to the PlayFab Server API, the PlayFab Client API is sufficient.

The question is that of how to authenticate the Steam dedicated server running on a player's hardware with *any* PlayFab API.

We have one inelegant solution that will work:
  1. In our game, we can allow the player to link a username+password combination to their PlayFab account.
  2. The player sets up a Steam dedicated server locally.
  3. The player enters their username+password combination into the dedicated server's configuration files.
  4. The dedicated server uses this information to authenticate with PlayFab as the player and gains access to the client APIs (which are sufficient for what we want to accomplish).

I am sure this will work. Is there any other, Steam-specific way of authenticating with PlayFab, some kind of "steam server SSO" option?

0 Likes 0 ·
franklinchen avatar image franklinchen Jørgen Havsberg Seland commented ·

If the username and password you mentioned above is PlayFab's login credential, I think this is the only way to authenticate with PlayFab on Client side. But I want to ask how you "link a username+password combination to their PlayFab account"? Have you added random salt and encrypted them?

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.