不安定なオンラインゲームのpingの改善

13日の金曜日がまともに遊べなくなってしまった。
10月26日のアップデート前は2~4回に1回は回線切断が起きずに最後まで遊べた。
今は何回マッチしても2~3分で切れる。

そこでpingの改善方法を調べて実行したのだけど、全て無駄だった。
まあ備忘録として残しておきます。

基本的にどの設定も、有効化にはPCの再起動が必要。
1つ1つを設定後にいちいち再起動するのは手間がかかりすぎるので、全部やってから再起動するのを推奨します。

pingのテスト

pingのテストは以下のサイトにアクセスして測定。

http://beta.speedtest.net/
speedtest
アップロードが0なのが怪しいけど、現状では理由不明。

ちなみに、F13 oficial APは54.169.216.181にアクセスしている。
このIPアドレスはシンガポールのAmazon AWS。
なので、国内サーバーに比べてpingが遅くなるのはしょうがない。

QoS(Quality of Service)パケットスケジューラ

回線安定性と引き替えに通信帯域を最適化する機能。
この設定が有効だと、速度が上がるのと引替えに安定性が低下。

右下のインターネット接続アイコンをクリック。
ネットワークとインターネットの設定をクリック。
アダプターのオプションを変更する。
接続に使っているアダプターを右クリック→プロパティを開く。
QoSパケットスケジューラのチェックを外してOKをクリック。

SNP(Scalable Networking Pack)

通常ならCPUが行っているネットワークの処理をネットワークカードが処理する仕組みらしい。
この機能はWin7で実装され、その時期は未完成な機能だったらしく、有効になっていると却って不具合が起きていたらしい。

予期せぬ挙動が!? 新機能 Scalable Networking Pack をご存知ですか?

コマンドプロンプトを管理者として実行して

netsh int tcp show global

を入力するとTCPの設定値がリスト表示される。

その中から以下の3項目を確認。

Receive-Side Scaling状態 受信制御をマルチコアで分担する機能。停止するとシングルコアで処理
Chimney オフロード状態 ネットワーク制御をCPUからネットワークカードが行う
NetDMA 状態 ネットワークカードがメモリを直接管理する

「enabled」や「automatic」なら有効になっているので以下のコマンドで停止させる。

  • TCP Chimney Offload の無効化
    netsh int tcp set global chimney=disabled
  • Receive-Side Scaling(RSS)の無効化
    netsh int tcp set global rss=disabled
  • Network Direct Memory Access(NetDMA)の無効化
    netsh int tcp set global netdma=disabled

Energy Efficient Ethernetを停止

コントロールパネル→ハードウェアとサウンド→デバイスマネージャを開く。
ネットワークアダプターのインターネット接続用のアダプタを右クリック→プロパティを開く。
詳細設定の「省電力型イーサネット(EEE)」を無効にする。

この設定を切り替えると、いったんネットワーク接続が切れるので注意。

各種オフロードを停止

オフロードとはネットワーク処理を分担する機能。
ノートPCなど性能が低いコンピュータではオフロードが却って負荷が増大する事がある。

ネットワークとインターネットの設定→アダプターを右クリック→プロパティ→構成を開く→詳細設定タブに切り替えて、一覧から以下のプロパティを無効にする。

オフロードと付く物は全て。
ジャンボフレーム。
受信側スケーリング。

ping応答機能を有効にする

手持ちのブロードバンドルーターのping応答機能はデフォルトで無効だった。
ping応答機能はオンラインゲームでは必須。
pingに応答できないと接続してないという判定になってサーバーから落ちるらしい。

二重ルーター状態を解除

モデムがルーティングを行っているLANの場合、中継しているルーターもルーティングを行っていると二重ルーターとなってしまい、接続安定性を阻害する。

二重ルーティングを防ぐにはルーターをブリッジ接続にする。
ブリッジ接続にする方法はそれぞれのルーターで操作法が異なるので、手持ちのルーターの説明書を読んでください。

ちなみに私の手持ちのマイクロリサーチ社のルーターは、LAN(4)端子にWAN側ケーブルを繋ぐと自動的にブリッジ接続となります。

RWIN値の最適化

RWINとはRecieve window sizeの略で、パケットの受信確認をするパケットのサイズのこと。
この値を「highlyrestricted」(データ受信サイズを自動で拡大)にする。

コマンドプロンプトで以下のコマンドを実行。

netsh int tcp show global

受信ウィンドウ自動チューニングレベルが「highlyrestricted」ならそのまま。

highlyrestrictedにするには以下のコマンドを実行する。

netsh interface tcp set global autotuninglevel=highlyrestricted

MTUの最適化

MTUとはパケットの最大サイズのこと。
最適なサイズはプロバイダによる。
通常は1500。

アドオン輻輳制御プロバイダー

ネットワークの経路を選択するアルゴリズムの事。

このモードをCTCPにすると複数のアルゴリズムを自動的に使い分けるらしい。

Win10だとデフォルトでCTCPが有効なので、変える必要は無い。

アルゴリズムは「パケットロスで判断する方式」「RTTで判断する遅延方式」があり、CTCPはこの両者を使い分ける。

コマンドプロンプトを管理者権限で起動し、以下のコマンドを入力。

netsh int tcp set supplemental custom congestionprovider=ctcp

netsh int tcp show global
で設定が変わったか、確認する。

にほんブログ村 ゲームブログ ゲーム攻略・裏技へ
にほんブログ村

この記事の短縮URL
上部へスクロール