[ListenサーバーとDedicatedサーバー]
どちらのサーバーをゲームで使用するかに関して、
ローカルマルチプレイ:主にListenサーバー、
ネットワークマルチプレイ:主にDedicatedサーバーを使用、で合っていますか?
(通信数やサーバー維持コストに依って変わることはあると思いますが)
[Replication]
1つ目の動画(8:50~)で、Server⇒Clientの間にラグがでないようにするには、
クライアントに明確に命令を出す必要がある旨の説明がありましたが(Replicationで同期処理しない場合が該当です)、
具体的にはどのような処理をするのでしょうか?
(Switch Has Authority = AuthorityとRemoteで同じ処理を書くのでしょうか?)
[ListenサーバーとDedicatedサーバー]
・ListenサーバーとDedicatedサーバーはネットワークマルチプレイで使います。
Listenサーバーはクライアントとサーバーが一つのプログラムで一緒に動作します。
しかしDedicatedサーバーはサーバーの通信処理だけ行うサーバーなので処理速度がListenサーバーより早いです。
Listenサーバーを使う時はクライアントとサーバーの通信回数、通信量が少ない等、あんまりサーバーに負担しないゲームなら簡単にマルチプレイが出来ます。
サーバーの負担が多いゲームの場合はListenサーバーには足りない場合がありますのでその時はDedicatedサーバーを使います。
https://docs.unrealengine.com/ja/Gameplay/HowTo/Networking/TestMultiplayer/index.html
このドキュメントに関連内容が書いてます。
[Replication]
・RPCを使います。Multicastを使えばサーバーから全クライアントにメッセージを送ることが可能です。
Left 4 Dead や Vermintide 2 のような4人でパーティを組んで
オンラインで遊ぶゲームをイメージすると分かりやすいです。
・Listen Server … ホストとなるプレイヤー1人がPCでセッションを開始して
ゲームをプレイをしつつ、そのPC上で同時にセッションを処理する。
(途中で人が入ってきたり抜けたり出来て、気軽にセッションを立てて遊べる。
難点は、ホストプレイヤーの位置、ネット環境、PC性能が影響すること。
ホストプレイヤーがアメリカ人で東海岸在住だったり、PCがしょぼかったり、
ネットの状態が不安定だったりすると(日本側では)遅延とカクつきが酷い。
ホストプレイヤーが用事があってゲームを終わらせたり、
PCがクラッシュしたりするとセッションそのものが終了するので
他のパーティ全員に迷惑がかかる)
・Dedicated Server … セッションを扱うプログラムを走らせて
24時間放置する専用サーバとしてのPC。
例えば、個人で余っている Linux 機にそのゲームのDedicated Server Program を
インストールして起動して設定すれば、サーバとして機能する。
2022年、現在だとAmazon の AWSなどのクラウドで気軽に
Dedicated Server を構築できる。
マイナーなゲームでDedicated Server が日本の周辺 (香港、豪州) にない場合は
自分で日本の大阪や東京に 用意したりすると割りと人が集まります。