オーソリテーティブサーバー よくある質問

オーソリテーティブサーバー とは?

オーソリテーティブサーバーとは、クライアントがインストラクションや情報をサーバーに送信するための設定です。サーバーはこれを認証し、プロキシ、またはクライアント、あるいはその両方をそれに応じて更新します。例えば、クライアントが1000m/sで動こうとしているがそのサーバーで最大で10m/sでしか動けないことが分かっている場合、クライアントは一瞬、遠くに移動したように見える場合がありますが、すぐにサーバーにより正しい位置に戻されることとなります。これはクライアントに優先して行われます。サーバーに正しい位置に戻されないよう、ハッキングを行ったクライアントが用いられる場合であっても、サーバーの位置はこれを反映しません。ハッキングされたクライアントは同期の外に出され、この方法で用いることが無意味となります。サーバーの権威性は設定により異なります。設定を行わなければ発生しません。

このモデルは、クライアントがほかのプレイヤーとプレイする対戦ゲームにピッタリです。協力型ストーリーモードや「大人数」モードなどである必要はありません。

メリット

  1. クライアント側でハッキングを行うことが、事実上不可能なほどに困難になります。
  2. 誰が権威性を持っているか、全てのクライアントで使用されるワールドの'状態'が1つ存在することなどが明らかになります。

Back To Top

デメリット

  1. 入力の遅延を避けるには、クライアント側の予測 が必要となる。これは場合によっては、または特定のゲームの機構によっては、実装が難しい場合がある。
  2. サーバー上での計算が増加します(アウトプットを得て、それをクライアントに確認するため全てのデータを処理する必要が発生します)。これにより、サーバーのハードウェアが高価なものになる可能性があります。 オーソリテーティブサーバーを使用すると、flyhacks、noclip、invulnerabilityなどの全員に影響がでる最悪なハッキングを回避できます。 ページの最後にあるリストにあるゲームでチートを探してみると、FPSには「aimhacks」、MOBAには「script」、そして上記の両方で「ESP」が見つかるでしょう。 通常であればMOBAはクライアントに見えないデータ(戦場の霧はハッキングできません)は送信しませんが、いつもは明らかでないものについても提示できるあらゆる種類の警告と情報があります。

アンチチートを使用して、チートのハードルを上げることはできますが、それでもチートされる可能性はあります。 暗号化が信頼性の高いものであってもチートの可能性はあります。できることといえば、されやすいチートの種類を絞りこむことです。サーバーサイドのゲームプレイに関連付けることで行います。

対戦型マルチプレイゲームでなければ非オーソリテーティブにすることもできます。 各クライアントは自分のプレイヤーをインスタンス化し、他のプレイヤーに表示されるmecanim、体力、武器・能力の使用などの値を複製します。Boltのヒットボックス・物理、割り当てコントロールなどを気にする必要はありません。

オーソリテーティブなゲームの構築は単純ではありません。構築にあたって留意しておくべき点を以下にまとめました。

  1. Photon Boltは、完全にオーソリテーティブなシューティングゲームのサンプルを搭載しています。(アドバンストチュートリアル). これにはクライアントサイドの予測とラグ補正も含まれています。;
  2. クライアントがBoltの設定を使用してエンティティをインスタンス化できないことを確認します;
  3. プレイヤーを除く、在庫やスコア、NPC、ゲーム内にプレイヤーが作成したオブジェクトなどゲームプレイに関係するものはすべてサーバーサイドにします。
  4. クライアントが所有するものはありません。コマンドは入力以外の命令を行いません。ゲームプレイに影響するイベントはクライアントから送信されません。

サーバーオーソリテーティブについての詳細は、以下を参照してください。

Back To Top

サーバーオーソリテーティブを使用しているゲームの例

部分的にオーソリテーティブであるか、全くそうでないかのゲームが大半を占めています。 以下に挙げるのはこの技術を使用しているゲームの簡単なリストです:

  ゲーム
完全にオーソリテーティブ
  • Counter Strike
  • Overwatch
  • World of Tanks
  • ARK
  • League of Legends
  • Dota 2
ほぼ非オーソリテーティブ
  • Rust
  • The Division
  • The Forest
決定性ネットワーキング
  • Starcraft 2
  • Heroes of the Storm
  • Halo Reach (Coop)

PS: 決定性はPhoton Boltではサポートしていません。Photon Quantumを使用します。

Back To Top

専用サーバー

Photon Boltは、ゲームサーバーをホスティングするのに様々なモデルをサポートしています(以下参照)。そして、1つを選択するひつようはありません。

  メリット デメリット
ホストするオフィシャルサーバー
  • ホスティング移行は必要なし
  • 一貫性のあるプレイヤーの使い心地
  • インスタンスやデータベースなどの完全な忠実性
  • クライアントのIDアドレスは他のクライアントに非公開
  • お金がかかる
  • 設定と管理に時間がかかる
プレイヤーがホスティングする専用サーバー
  • オフィシャルサーバーと同様のメリット
  • サーバー料金はかからない
  • プレイヤーによるサーバーのカスタム可能
  • Owners of servers can be abusive to your players
  • サーバーサイドの柔軟性に欠ける。MMOが実行できない、など。
  • サーバーが消滅すると、プレイヤーは記録をすべて失う
P2P (リッスンサーバー)
  • PhotonCloud統合やSteam統合が容易。どちらも接続とマッチメイキングが保証されている
  • 専用サーバーをホスティングよりも安価
  • 多くのプレイヤーが同時にプレイする場合、非常に低いレイテンシでプレイ可能
  • ホスティング移行をしないと、ゲームが終了しメニューに戻る
  • ホストのインターネット接続不良またはハードウェア不良の場合、問題がある
  • ホストとしてふるまうプレイヤーはサーバーであるため、サーバー権限をバイパスしてズルできる
  • ホストのプレイヤーに全クライアントのIPが公開される

リレーサーバーを使用する場合、BoltにはPhoton Cloudサポートがついており、BoltをPhotonのサービスと統合します。このサービスは、マッチメイキングとロードバランシングを行います。Gamelift、Playfabやほかのサービスも使用できます。

このモデルを適用しているゲームの例:

  ゲーム
オフィシャル専用サーバー
  • World of Warcraft
  • World of Tanks
  • Rocket League
  • Dota 2
  • League of Legends
  • Aftercharge
  • Overwatch
  • PUBG
プレイヤーがホスティングする専用サーバー
  • CSGO
  • Rust
  • ARK
  • DayZ
  • Conan Exiles
  • Minecraft (also P2P mode)
P2P (リッスンサーバー)
  • Halo Reach (host migration)
  • Destiny (hybrid P2P and server client with “constant” host migration”)
  • For Honor (host migration)
  • Ghost Recon Wildlands
  • Dark Souls Franchise
  • Call of Duty Franchise
  • The Forest
  • Zombie Vikings
  • Knight Squad

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