ペルリ的な何かなブログ

Simutransとかいろいろ自由気ままに書き散らす

#NetSimutrans の回線同士の相性についてのメモ

未検証な内容が多いので先に断っておきます。何一つ検証していないので信頼性に乏しいです。

 

NetSimutransではたびたび切断されたりします。

その関係について今までの経験則から語っていきます。

 

☆ログイン時の挙動について

まず、始めに各クライアントからの接続要求(ゲームに参加する)が来たときの挙動から。

①接続要求→②ゲームをセーブ→③セーブデータ転送→④ロード

こういう流れになっています。

特に③まではすべてのクライアントにセーブデータが転送されるまでサーバー側で待つ仕様みたいで、回線速度の遅いクライアントがいるとよけいに時間がかかりますが、余りに遅すぎるとタイムアウトも発生します。

また、④のロードはクライアントすべてのロードを待つわけではなく、サーバーのロードが終わったらそのままスタートとなります。そして、各クライアントは転送が終わるとほかのクライアントのダウンロード完了を待たずにロードを始める感じなので回線速度とマシン性能がそこそこならばだいたいサーバーよりも早くロードが終わって、サーバーのロード完了を待つ形となります。

ここでサーバーのロードよりも遅いクライアントはサーバーに置いて行かれるので、早回しして追いつく仕様です。このときに同期が取れなくなる場合がありました。

 

仮説ですが、ロード直後に線路等敷設の処理が多いとそれだけで同期が取れなくなる可能性が考えられます。検証する気がないのでそんな気がする程度ですが。

 

☆回線の相性について

ほかのネットゲーム等同様に回線同士の相性があります。

単純にサーバーとクライアントの相性もありますが、クライアント同士の相性もあるような気がします。

自分がサーバーを開いていたときの経験ですが、ある人(以下Aさん)と別の人(以下Bさん)が参加していたときの話です。

AさんがログインしていてBさんがログインするとAさんが切断され、Aさんがログインし直すとBさんが切断され…を繰り返していることがありました。

その後、BさんがログインしなくなるとAさんの接続が安定してきました。

実証はしていないので何とも言えませんが、クライアント同士でも相性がある気がします。

 

中途半端かもしれませんがそんなお話でした。