エルソード ラグ改善他まとめ 2020 7.14 version 1

2020/01/20 11:37 by kyouino
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
エルソード ラグ改善まとめ 2020 1.20
@[TOC](改善工程)
# はじめにお読みください
**本件は100%改善可能ではありません**、暫定対応となります。
個人環境から、ゲームサーバ環境まで様々な要因が考えられるため
これをやったからと改善があるとは断言できないことを了承の上お願いします。

また本件はレジストリ操作を含む作業のため、**十分に確認**の上お願いします。
**バックアップ**など必要に応じて作業してください。

 
 

# XIGNCODE3のみを再インストール
本ゲームガードは、ゲーム本体をアンインストールすれば自動的に消える仕様ですが
稀にこちらだけが残るというバグが公式より案内があります。
この状態でゲームを続けていった場合不具合を増長しかねないため、
一新することで改善を試みるものである。

1. スタートバーを右クリックして、ファイル名を指定して実行
1. regeditと入力
1. HKEY_LOCAL_MACHINE
system
controlset001
Services
とフォルダマークをクリックして辿ってください。

1. **Xhunter1 をフォルダごと削除**
Servicesの中の一番下のほうにいるはずです。
1. エルソードクライアントが格納されているKOGフォルダより
**xigncodeフォルダを削除**
(移管前クライアントからの継続者は名前が違う可能性あり)
1. **PCを再起動**
1. エルソード公式より、エルソードを立ち上げる
この時、KEのイラストと共にXIGNCODEのランチャーも小さく出るが
そのものが入っていないときは、このランチャーがやや時間かかる
1. 通常通り起動成功すればOK


メモ
筆者はこれだけで、改善されたが元々ゲームガードエラーが
応答ちゃんより多く出る環境のため、元から不具合があった可能性は否めない。


# 優先度の変更(手動)
アプリケーションを実行するにあたって使われるメモリに優先度をつけることにより
よりパフォーマンスを上げるために行われる。
本件の場合はエルソードそのものを優先度を上げ、XIGNCODEの優先度を下げることにより、ゲームへのパフォーマンスを上げつつ、ゲームガードによる影響度を下げてラグ改善を試みる。

1. エルソードを起動した状態でタスクマネージャーを開く
1. 詳細タブ
1. **xxd-0.xem**を右クリック→優先度の調整→低
1. **x2.exe**を右クリック→優先度の調整→高

このままエルソードをプレイすれば反映されています。
またこの設定は保持されず、エルソードを落とすとリセットされます。
そのため、これで改善があって恒常化したい場合は次の工程をお願いします。

様子見したい人は、エルソードを通常のままでゲームガードを下げてもいいかも。

# 優先度の変更(自動)
windows標準のタスクマネージャーの拡張機能であるPrioを使います。

https://www.prnwatch.com/prio/
上記からダウンロードし、インストールしてください。
無償アプリケーションで料金はかかりませんが英語アナウンスのため
インストール作業は全て英語になります。nextボタン連打でよいです。
(OSの場所がCじゃないとかの場合はファイルパスが違う可能性はあります)

1. 手動変更と同様にエルソードを立ち上げ、タスクマネージャーの詳細タブ
1. **xxd-0.xem**を右クリック→Set CPU priorty
 新しい項目が出てるので、そちらを低にする。
1. sava priorityにチェック(レ点が出てればOK)
1. **x2.exe**を右クリック→Set CPU priorty
同様に、新しい項目名が出てるので高にする。
1. sava priorityにチェック(レ点が出てればOK)
# ネットワークチューニングの紹介

こちらの作業は、古いOS(XP)時代にオンゲを少しでも快適にしたいという人達が
行った作業の一部になります。現行環境でこれを行ったとしてもよくなったかどうかは
不明瞭すぎて調査しきれていません。筆者は面倒なのでいの一番に設定してエルソ入れてますが、応答の頻度は非常に少なく、上記のラグ改善も大幅に改善されておりその背景にはこういうことしてますよという紹介になります。
一応当時の古い資料では、これらの設定はPCへの負荷が強まるという報告が多く
実行する際は必ずおかしな様子がないか確認をしてください。
①**autotuninglevel**を上げる
②**TcpAckFrequency**(以下TAF)を設定する
この二つを紹介しておきます。
# autotuninglevelの設定変更

なんぞや、と思われると思いますがざっくりふんわり説明すると
ネットの通信量はPC本体に影響がないように自動的にOSで調整しています。
このレベルを引き上げることにより、たくさんの情報を受信できるようにします。
要はスピードテストしたときに出る数字はデフォルトよりレベル上げたほうが出るようになります(回線契約状況によります)

1. スタートメニュー→すべてのアプリ→Windowsのシステムツールより
 コマンドプロンプトを**管理者権限**で実行
1. netsh interface tcp show global
すると、現在の状況が表示されます。
**受信ウインドウ自動チューニングレベル**がnomalになってるかとおもいます。

1. netsh interface tcp set global autotuninglevel=(設定値)
設定値はいくつかありますが、筆者は
highlyrestricted(既定値より受信ウインドウを若干拡大)
を使っています。要はちょっとだけ、受信量増やせるよ!という意味合いです。

**netsh interface tcp set global autotuninglevel=highlyrestricted**

と入力すればいいです。
再度2をやって、値が変わっていたらOKです。**PC再起動**して通常通りどうぞ。


参考URL
https://kotonova.com/1443

設定値はほかにもありますので、上記を参照ください。



# TcpAckFrequency(以下TAF)を設定する
こちらもなんぞや、と思われますが
ネトゲだったらサーバからデータをもらったのを「もらったよー!」とn回ごとに報告するんですね。

初期設定ではnが「2」になっています。
つまり、サーバからデータを2個もらうまで「2個めまだかなー」と200ミリ秒待ってるんです。この待ち時間の間、通信処理は止まってます。
TAF設定を変更することで、このnを「1(=毎回)」に変更できます。
そうすると毎回「もらったよー!」とすぐ報告するので「2個めまだかな」がなくなるわけですね。

メリットはポーションの反映やキーを押したときの反応速度などがよくなります。
デメリットは、絶え間なく通信を行うため通信機器・PC本体への負荷が強まります。


参考動画
https://nico.ms/sm5297908

こちらはレジストリの値を新設するので間違いのないようにお願いします。

1. コマンドプロンプト起動→ipconfig
 表示される**Ipv4アドレス**(192ほにゃららみたいなの)を控えておく

1. ファイル名を指定して実行→regedit
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
Tcpip
Parameters
Interfaces
とフォルダマークを開いてたどってください。

1. Interfacesの中にあるLANアダプターを特定
Interfacesをクリックして選択し、検索窓(Ctrl+F)から
1の工程で出したIPアドレスを入力し、データのみをチェック
 **DhcpIPAddress
 IPAddress**
どちらかが出てくると思います。この二つのうちどちらかが格納されている
**英数字の羅列の名前のフォルダがLANアダプターのレジストリ**になります。
Interfacesの中にそいつがいることを確認してください。


 1. 特定したフォルダ名っぽいのを右クリック→新規(N)→DWORD(32ビット)値(D)
  
 1. 右側に「新しい値 #1」ができるので、名前を「**TcpAckFrequency**」に変更

 1.名前を変更した値をダブルクリックで編集窓を開き
 **値のデータを1 16進数にチェック**

以上となります。**PC再起動**して通常通り使用してください。




# 最後に
こちらは、あくまで自分の環境設定をまとめたものであります。
個々のPC性能や通信精度、鯖状況で必ずしも改善が出来るわけではありません。

また筆者はこのまとめに関して個別の質疑応答は受け付けておりません。
同様に、何かPCトラブルが発生したとしても、対応は一切できません。

誤字や分かりにくい説明部分があればごめんなさい。
      

改善工程はじめにお読みくださいXIGNCODE3のみを再インストール優先度の変更(手動)優先度の変更(自動)ネットワークチューニングの紹介autotuninglevelの設定変更TcpAckFrequency(以下TAF)を設定する最後に

はじめにお読みください

本件は100%改善可能ではありません、暫定対応となります。
個人環境から、ゲームサーバ環境まで様々な要因が考えられるため
これをやったからと改善があるとは断言できないことを了承の上お願いします。

また本件はレジストリ操作を含む作業のため、十分に確認の上お願いします。
バックアップなど必要に応じて作業してください。

XIGNCODE3のみを再インストール

本ゲームガードは、ゲーム本体をアンインストールすれば自動的に消える仕様ですが
稀にこちらだけが残るというバグが公式より案内があります。
この状態でゲームを続けていった場合不具合を増長しかねないため、
一新することで改善を試みるものである。

  1. スタートバーを右クリックして、ファイル名を指定して実行

  2. regeditと入力

  3. HKEY_LOCAL_MACHINE
    system
    controlset001
    Services
    とフォルダマークをクリックして辿ってください。

  4. Xhunter1 をフォルダごと削除
    Servicesの中の一番下のほうにいるはずです。

  5. エルソードクライアントが格納されているKOGフォルダより
    xigncodeフォルダを削除
    (移管前クライアントからの継続者は名前が違う可能性あり)

  6. PCを再起動

  7. エルソード公式より、エルソードを立ち上げる
    この時、KEのイラストと共にXIGNCODEのランチャーも小さく出るが
    そのものが入っていないときは、このランチャーがやや時間かかる

  8. 通常通り起動成功すればOK

メモ
筆者はこれだけで、改善されたが元々ゲームガードエラーが
応答ちゃんより多く出る環境のため、元から不具合があった可能性は否めない。

優先度の変更(手動)

アプリケーションを実行するにあたって使われるメモリに優先度をつけることにより
よりパフォーマンスを上げるために行われる。
本件の場合はエルソードそのものを優先度を上げ、XIGNCODEの優先度を下げることにより、ゲームへのパフォーマンスを上げつつ、ゲームガードによる影響度を下げてラグ改善を試みる。

  1. エルソードを起動した状態でタスクマネージャーを開く
  2. 詳細タブ
  3. xxd-0.xemを右クリック→優先度の調整→低
  4. x2.exeを右クリック→優先度の調整→高

このままエルソードをプレイすれば反映されています。
またこの設定は保持されず、エルソードを落とすとリセットされます。
そのため、これで改善があって恒常化したい場合は次の工程をお願いします。

様子見したい人は、エルソードを通常のままでゲームガードを下げてもいいかも。

優先度の変更(自動)

windows標準のタスクマネージャーの拡張機能であるPrioを使います。

https://www.prnwatch.com/prio/
上記からダウンロードし、インストールしてください。
無償アプリケーションで料金はかかりませんが英語アナウンスのため
インストール作業は全て英語になります。nextボタン連打でよいです。
(OSの場所がCじゃないとかの場合はファイルパスが違う可能性はあります)

  1. 手動変更と同様にエルソードを立ち上げ、タスクマネージャーの詳細タブ
  2. xxd-0.xemを右クリック→Set CPU priorty
     新しい項目が出てるので、そちらを低にする。
  3. sava priorityにチェック(レ点が出てればOK)
  4. x2.exeを右クリック→Set CPU priorty
    同様に、新しい項目名が出てるので高にする。
  5. sava priorityにチェック(レ点が出てればOK)

ネットワークチューニングの紹介

こちらの作業は、古いOS(XP)時代にオンゲを少しでも快適にしたいという人達が
行った作業の一部になります。現行環境でこれを行ったとしてもよくなったかどうかは
不明瞭すぎて調査しきれていません。筆者は面倒なのでいの一番に設定してエルソ入れてますが、応答の頻度は非常に少なく、上記のラグ改善も大幅に改善されておりその背景にはこういうことしてますよという紹介になります。
一応当時の古い資料では、これらの設定はPCへの負荷が強まるという報告が多く
実行する際は必ずおかしな様子がないか確認をしてください。
autotuninglevelを上げる
TcpAckFrequency(以下TAF)を設定する
この二つを紹介しておきます。

autotuninglevelの設定変更

なんぞや、と思われると思いますがざっくりふんわり説明すると
ネットの通信量はPC本体に影響がないように自動的にOSで調整しています。
このレベルを引き上げることにより、たくさんの情報を受信できるようにします。
要はスピードテストしたときに出る数字はデフォルトよりレベル上げたほうが出るようになります(回線契約状況によります)

  1. スタートメニュー→すべてのアプリ→Windowsのシステムツールより
     コマンドプロンプトを管理者権限で実行

  2. netsh interface tcp show global
    すると、現在の状況が表示されます。
    受信ウインドウ自動チューニングレベルがnomalになってるかとおもいます。

  3. netsh interface tcp set global autotuninglevel=(設定値)
    設定値はいくつかありますが、筆者は
    highlyrestricted(既定値より受信ウインドウを若干拡大)
    を使っています。要はちょっとだけ、受信量増やせるよ!という意味合いです。

netsh interface tcp set global autotuninglevel=highlyrestricted

と入力すればいいです。
再度2をやって、値が変わっていたらOKです。PC再起動して通常通りどうぞ。

参考URL
https://kotonova.com/1443

設定値はほかにもありますので、上記を参照ください。

TcpAckFrequency(以下TAF)を設定する

こちらもなんぞや、と思われますが
ネトゲだったらサーバからデータをもらったのを「もらったよー!」とn回ごとに報告するんですね。

初期設定ではnが「2」になっています。
つまり、サーバからデータを2個もらうまで「2個めまだかなー」と200ミリ秒待ってるんです。この待ち時間の間、通信処理は止まってます。
TAF設定を変更することで、このnを「1(=毎回)」に変更できます。
そうすると毎回「もらったよー!」とすぐ報告するので「2個めまだかな」がなくなるわけですね。

メリットはポーションの反映やキーを押したときの反応速度などがよくなります。
デメリットは、絶え間なく通信を行うため通信機器・PC本体への負荷が強まります。

参考動画
https://nico.ms/sm5297908

こちらはレジストリの値を新設するので間違いのないようにお願いします。

  1. コマンドプロンプト起動→ipconfig
    表示されるIpv4アドレス(192ほにゃららみたいなの)を控えておく

  2. ファイル名を指定して実行→regedit
    HKEY_LOCAL_MACHINE
    SYSTEM
    CurrentControlSet
    Services
    Tcpip
    Parameters
    Interfaces
    とフォルダマークを開いてたどってください。

  3. Interfacesの中にあるLANアダプターを特定
    Interfacesをクリックして選択し、検索窓(Ctrl+F)から
    1の工程で出したIPアドレスを入力し、データのみをチェック
     DhcpIPAddress
     IPAddress

    どちらかが出てくると思います。この二つのうちどちらかが格納されている
    英数字の羅列の名前のフォルダがLANアダプターのレジストリになります。
    Interfacesの中にそいつがいることを確認してください。

  4. 特定したフォルダ名っぽいのを右クリック→新規(N)→DWORD(32ビット)値(D)

  5. 右側に「新しい値 #1」ができるので、名前を「TcpAckFrequency」に変更

1.名前を変更した値をダブルクリックで編集窓を開き
 値のデータを1 16進数にチェック

以上となります。PC再起動して通常通り使用してください。

最後に

こちらは、あくまで自分の環境設定をまとめたものであります。
個々のPC性能や通信精度、鯖状況で必ずしも改善が出来るわけではありません。

また筆者はこのまとめに関して個別の質疑応答は受け付けておりません。
同様に、何かPCトラブルが発生したとしても、対応は一切できません。

誤字や分かりにくい説明部分があればごめんなさい。