server | v5 switch to v4  

Photon Steam認証

目次

サーバーのコンフィグレーション

  • "deploy\NameServer\bin\NameServer.xml.config"を開きます。
  • CustomAuthが有効になっていることを確認します。Enabledはtrueである必要があります。
  • 必要に応じて、AllowAnonymousをtrueまたはfalseに設定します。 falseに設定することをお勧めします。
  • AuthenticationTypeをSteam認証プロバイダータイプのコードである「1」に設定します。
  • 任意の名前を選択します。この例では「Steam」を使用しましたが、変更できます。
  • 「AuthUrl」は必須なので空のままにしますが、認証エンドポイントは内部にあるため必要ありません。
  • その他のSteam固有の必須設定のリストとその説明を以下に示します。
  <CustomAuth Enabled="true" AllowAnonymous="false">
    <AuthProviders>
      <AuthProvider Name="Steam"
                    AuthenticationType="1"
                    AuthUrl=""
                    apiKeySecret="Val1"
                    appid="Val2"
                    verifyOwnership="true"
                    verifyVacBan="true"
                    verifyPubBan="true" />
    </AuthProviders>
  </CustomAuth>
  • apiKeySecret: SteamパブリッシャーWeb APIのキーです。Steam User Keyと混同しないよう留意してください。取得の方法はこちらを参照してください。
  • appid: SteamゲームのID。Steam Directの処理後(旧 Steam Greenlight)にこのIDを取得できます。
  • verifyOwnership:trueまたはfalseの値となります:認証の際に所有権の検証を有効化するかを設定します。 これによって、ユーザーが本当にそのゲームを所有しているか(ゲームを購入し、ライブラリにそのゲームを所有しているか)を検証できます。 有効化されている場合には、この手順はユーザーのセッションチケットを認証後に実行されます。 これを有効化すると、認証が遅延する可能性があります。このため、本当に必要な場合のみ有効化してください。
  • verifyVacBan: trueまたはfalseの値となります: 認証の際にValveのAnti-Cheat (VAC)を使用し、ユーザーが禁止されたか確認を設定できます。 詳細はこちらを参照してください。 これを有効化すると、認証が遅延する可能性があります。このため、本当に必要な場合のみ有効化してください。
  • verifyPubBan: trueまたはfalseの値となります:認証の際にPublisher Banを使用し、ユーザーが禁止されたか確認を設定できます。 詳細はこちらを参照してください。 これを有効化すると、認証が遅延する可能性があります。このため、本当に必要な場合のみ有効化してください。

トップに戻る

クライアントコード(Unity)

クライアントは、セッションチケットを取得するためにValveのSteamworks APIを使用する必要があります。 このチケットは、そのクライアントが有効なSteamユーザーであることの証明です。

トップに戻る

Steamworks.NET

Steamworks.NETは一般的かつ無償のオープンソースSteamworks APIラッパーです。 Steamworks.NETのUnityバージョンをインポートするには、 このページに記載された手順に従ってください。

トップに戻る

チケットを取得

Steamworks APIを使用し、以下のコードでセッションチケットを取得してください。その後、そのチケットを16進暗号化UTF-8文字列に変換します:

トップに戻る

チケットを送信

クライアントはユーザーのセッションチケット(16進暗号化UTF-8文字列に変換後)をクエリ文字列キー「チケット」の値として送信する必要があります。

トップに戻る

チケットをキャンセル

認証完了後に、チケットをキャンセルまたは無効化することを推奨します。

トップに戻る

Facepunch.Steamworks

Facepunch.Steamworksは、もう1つの代替的な無償かつオープンソースのSteamworks API実装です。 Facepunch.Steamworksをインポートするには、このページに記載された手順に従ってください。

トップに戻る

チケットを取得

以下のコードでセッションチケットを取得してください。その後、そのチケットを16進暗号化UTF-8文字列に変換します:

// authTicket should be saved so you can use it to cancel the ticket as soon as you are done with it
public string GetSteamAuthTicket(out AuthTicket authTicket)
{
    authTicket = SteamUser.GetAuthSessionTicket();
    StringBuilder ticketString = new StringBuilder();
    for (int i = 0; i < authTicket.Data.Length; i++)
    {
        ticketString.AppendFormat("{0:x2}", authTicket.Data[i]);
    }
    return ticketString.ToString();
}

トップに戻る

チケットを送信

クライアントはユーザーのセッションチケット(16進暗号化UTF-8文字列に変換後)をクエリ文字列キー「チケット」の値として送信する必要があります。

トップに戻る

チケットをキャンセル

認証完了後に、チケットをキャンセルまたは無効化することを推奨します。


ドキュメントのトップへ戻る