オンラインゲームを楽しむ上で安定的な接続は必須なことなのですが、突如としてエラーが出ることもあります。
筆者はロストアークやPSO2:NGSなどのMMORPGをプレイしているのですが、定期的に「サーバーに接続できません。ゲームを終了します。」といった文言が出てしまう現象に陥りました。
今回の記事は、XIGNCODE3に多いW0x9(若しくはG0x9)というエラーや、定期的にゲームから切断されてしまう時の対処法について備忘録代わりに記載していきたいと思います。
このエラーが起こる原因
オンラインゲーム運営に問い合わせを送ってみたりしたのですが、返事を要約すれば「おま環」状態でした。(あなたのプレイ環境に何らかの問題がありますという意味)
仕方ないので自力で色々と調べて、行き着いた原因はルーターにありました。
ルーター自体のファームウェアも最新のものに更新してもダメだったので、他の事象を考えてみることに。そして次に注目したのはNAPT設定というものでした。昨今のルーターにはNAPT設定というものがございます。
NAPTとは、1つのグローバルIPアドレスを複数の端末で共有するためのネットワークアドレス変換技術の1つ。TCP/UDPのポート番号も含めて変換することで、複数の端末を同時接続させることができる。LinuxにおけるNAPTの実装をIPマスカレードと呼ぶ。
ある端末をWANまたはインターネットに接続させる場合、端末側にはグローバルIPアドレスを割り当てる必要がある。しかし、端末ではなくLANなど複数の端末で構成されているネットワークをWANに接続させる場合、端末ごとにグローバルIPアドレスを割り当てることはできず、順番で割り当てていては円滑なインターネット接続を端末側に提供できなくなる。
そこで、WANの出入り口に設置されるルータにグローバルIPアドレス1つを割り当て、LAN内の端末にはプライベートIPアドレスを割り当てる。そして、端末がインターネットへの接続要求を行えば、ルータはその端末のプライベートIPアドレスをグローバルIPアドレスへ変換し、接続を行う。これを各端末に対して透過的に実施することで、複数の端末を同時にインターネットへ接続できるようにする。
引用元:@IT
上記のことを踏まえた上で、このNAPT設定のTCP・UDPタイマーを調整することで、エラー改善を試みようという結論に至りました。
改善方法(NAPT設定)
では改善方法なのですが、まずはルーターの設定画面にログインし、NAPT設定がある場所を開きましょう。
設定画面は大抵説明書にアドレスやログインパスなどが記載されていると思いますので、各々のルーター説明書を参照して下さい。
ログインし、NAPT設定までたどり着きましたら、TCP・UDPタイマーという項目があると思います。(NEC系なら、詳細項目表示→その他の項目にある場合が多いです)
まずはTCP・UDPタイマーの数値をメモやスクリーンショットをするなりして、念の為に初期値を覚えておきましょう。
多分それぞれの初期値をみてピンと来た方も多いと思うのですが、大体エラー落ちする時間・タイミングがTCPタイマー側にあるかと思います。
筆者が使っているルーターは、NEC Aterm WG2600HS2なのですが、初期値はTCP/3600秒、UDP/300秒となっていました。大体1時間おきくらいにエラーが出ていたので、TCP側の数値をみて合点がいきましたね。
この数値を増やすことで、エラーを回避しようというもの。
筆者は、5時間くらいは途切れない様にしておけばいいか…と思ったので、単純に両方を5倍の数値で設定することにしました。(あくまで参考までに)
結果的にどうなったか?
数値変更をして設定を確定後、丸一日様子をみることにしました。結果的には5時間以上経過してもゲームが途切れることはありませんでした!
正しい数値設定かどうかは分からないのですが、当面はこれで大丈夫そうです。
追記:設定から1年以上が経過しました。現状、特に問題はありませんし、切断されることがないので、自分の環境ではこの設定があっていたのだと思いました。
まとめ
★個人的には、NECのルーターがオススメ。
コメント