オーソリテーティブサーバー よくある質問
オーソリテーティブサーバー とは?
オーソリテーティブサーバーとは、クライアントがインストラクションや情報をサーバーに送信するための設定です。サーバーはこれを認証し、プロキシ、またはクライアント、あるいはその両方をそれに応じて更新します。例えば、クライアントが1000m/sで動こうとしているがそのサーバーで最大で10m/sでしか動けないことが分かっている場合、クライアントは一瞬、遠くに移動したように見える場合がありますが、すぐにサーバーにより正しい位置に戻されることとなります。これはクライアントに優先して行われます。サーバーに正しい位置に戻されないよう、ハッキングを行ったクライアントが用いられる場合であっても、サーバーの位置はこれを反映しません。ハッキングされたクライアントは同期の外に出され、この方法で用いることが無意味となります。サーバーのオーソリティビティーは設定により異なります。設定を行わなければ発生しません。
このモデルは、クライアントがほかのプレイヤーとプレイする対戦ゲームにピッタリです。協力型ストーリーモードや「大人数」モードなどである必要はありません。
メリット
- クライアント側でハッキングを行うことが、事実上不可能なほどに困難になります。
- 誰が権威性を持っているか、全てのクライアントで使用されるワールドの'状態'が1つ存在することなどが明らかになります。
デメリット
- 入力の遅延を避けるには、クライアント側の予測 が必要となる。これは場合によっては、または特定のゲームの機構によっては、実装が難しい場合がある。
- サーバー上での計算が増加します(アウトプットを得て、それをクライアントに確認するため全てのデータを処理する必要が発生します)。これにより、サーバーのハードウェアが高価なものになる可能性があります。
オーソリテーティブサーバーを使用すると、flyhacks、noclip、invulnerabilityなどの全員に影響がでる最悪なハッキングを回避できます。
ページの最後にあるリストにあるゲームでチートを探してみると、FPSには「aimhacks」、MOBAには「script」、そして上記の両方で「ESP」が見つかるでしょう。
通常であればMOBAはクライアントに見えないデータ(戦場の霧はハッキングできません)は送信しませんが、いつもは明らかでないものについても提示できるあらゆる種類の警告と情報があります。
アンチチートを使用して、チートのハードルを上げることはできますが、それでもチートされる可能性はあります。
暗号化が信頼性の高いものであってもチートの可能性はあります。できることといえば、されやすいチートの種類を絞りこむことです。サーバーサイドのゲームプレイに関連付けることで行います。
対戦型マルチプレイゲームでなければ非オーソリテーティブにすることもできます。
各クライアントは自分のプレイヤーをインスタンス化し、他のプレイヤーに表示されるmecanim、体力、武器・能力の使用などの値を複製します。Boltのヒットボックス・物理、割り当てコントロールなどを気にする必要はありません。
オーソリテーティブなゲームの構築は単純ではありません。構築にあたって留意しておくべき点を以下にまとめました。
- Photon Boltは、完全にオーソリテーティブなシューティングゲームのサンプルを搭載しています。(アドバンストチュートリアル). これにはクライアントサイドの予測とラグ補正も含まれています。;
- クライアントがBoltの設定を使用してエンティティをインスタンス化できないことを確認します;
- プレイヤーを除く、在庫やスコア、NPC、ゲーム内にプレイヤーが作成したオブジェクトなどゲームプレイに関係するものはすべてサーバーサイドにします。
- クライアントが所有するものはありません。コマンドは入力以外の命令を行いません。ゲームプレイに影響するイベントはクライアントから送信されません。
サーバーオーソリテーティブについての詳細は、以下を参照してください。
サーバーオーソリテーティブを使用しているゲームの例
部分的にオーソリテーティブであるか、全くそうでないかのゲームが大半を占めています。
以下に挙げるのはこの技術を使用しているゲームの簡単なリストです:
ゲーム | |
---|---|
完全にオーソリテーティブ |
|
ほぼ非オーソリテーティブ |
|
決定性ネットワーキング |
|
PS: 決定性はPhoton Boltではサポートしていません。Photon Quantumを使用します。
専用サーバー
Photon Boltは、ゲームサーバーをホスティングするのに様々なモデルをサポートしています(以下参照)。そして、1つを選択するひつようはありません。
メリット | デメリット | |
---|---|---|
ホストするオフィシャルサーバー |
|
|
プレイヤーがホスティングする専用サーバー |
|
|
P2P (リッスンサーバー) |
|
|
リレーサーバーを使用する場合、BoltにはPhoton Cloudサポートがついており、BoltをPhotonのサービスと統合します。このサービスは、マッチメイキングとロードバランシングを行います。Gamelift、Playfabやほかのサービスも使用できます。
このモデルを適用しているゲームの例:
ゲーム | |
---|---|
オフィシャル専用サーバー |
|
プレイヤーがホスティングする専用サーバー |
|
P2P (リッスンサーバー) |
|