« RTX1100のマルチホーミング機能を使用して自宅サーバを2つのWAN(URL)で公開してみるテスト | トップページ | windows10の大型アップデート後に割りと高確率で休止状態からの復帰が失敗するようになる件について »

2018年4月 7日 (土)

kancolleSniffer導入覚書

今更ながら艦これの日々のデータを記録しようと思い立ったので。

 

本当は現在所持している全艦娘の一覧がCSVで出力できるものが欲しかっただけなのだが。

いくつか使ってみて、これが艦娘一覧をCSV形式で取得できることが分かったので、ついでに今後のプレイ記録も残そうかと思い試験導入をしてみることに。

また外出先で別PCから艦これを操作することがあるので両方の記録を1つのKanccoleSnifferで取れないかもテストしてみた。

接続構成としては自宅サーバPCにkancolleSnifferを稼働させ、複数PCから自宅サーバのkancolleSniffer経由で艦これを動作させる形となる。

で、単純にWEBブラウザにプロキシ設定を入れてLAN上の自宅サーバのIPアドレス宛に接続に行っても動作しなかった。

ソースコードをみるとどうもlocalhostか127.0.0.1のループバックインタフェースでしか待ち受けしておらず、LANポートのIPアドレスでは接続できないことが分かった。
設定で待ち受けインタフェースを指定できれば簡単で良かったのだが、そもそもプロキシサーバ的な動作をさせることを想定されていないと思われるので仕方ないところである。

最初は自宅サーバにProxyソフト立ててlocalhostに投げれば行けるかと思ったがこれはダメだった。

試行錯誤の結果、最終的に以下のような方法でうまくいった。

1.クライアントPCのWEBブラウザのプロキシをIPアドレス=127.0.0.1 ポート:8089(ポート番号は自分の環境に合わせる)に設定

2.ポートフォワードの設定を実施
 管理者権限のDOSプロンプトで以下のコマンドを実行
 ・自宅サーバPC側
 netsh interface portproxy add v4tov4 listenport=8089 listenaddress=(自宅サーバPCのLAN IPアドレス) connectport=8089 connectaddress=127.0.0.1

 ・クライアントPC側
 netsh interface portproxy add v4tov4 listenport=8089 listenaddress=127.0.0.1 connectport=8089 connectaddress=(自宅サーバPCのLAN IPアドレス)

上記設定を行うことで自宅サーバPC上で稼働するKancolleSniffer経由でクライアントPCの艦これが正常に操作できることを確認できた。
また、クライアントPCのWEBブラウザからhttp://127.0.0.1:8089へアクセスしてKancolleSnifferの蓄積情報を閲覧できることも確認できた。

自宅外でクライアントPCからアクセスする場合はポートフォワード設定を自宅サーバPCのLAN IPアドレスから自宅サーバの公開URLに変更して設定してやると、インターネット経由での接続も可能であった。
しかしセキュリティの観点からこれは行わずVPN接続経由でアクセスする方法を使うこととした。

上記設定での動作を説明すると、

1.WEBブラウザ上で艦これを開始

2.WEBブラウザはすべての通信パケットを127.0.0.1:8089へ投げる

3.ポートフォワード設定により127.0.0.1:8089が受け取った通信パケットを自宅サーバPCのLAN IPアドレス(または公開URL)のTCPポート8089に転送する。

4.ポートフォワード設定により自宅サーバPCのLAN IPアドレスのTCPポート8089で受け取った通信パケットを127.0.0.1:8089へ転送する

5.KancolleSnifferが通信パケットを受け取り艦これサーバへ転送する

という流れになる。
すごく簡単に言うと、”自分のPCのlocalhostが自宅サーバのlocalhostと直結された”ということである。

ワンクッション置く形となるので多少レスポンスが低下する可能性があるが暫くはこの形式で遊んでみることとする。

最後に、艦これをしないときはWEBブラウザのプロキシ設定を元に戻しておいた方がよいです。

2018/09/05追記:

今日まで上記設定で運用してきたが、今更ながらもっと簡単な解決方法に気が付いた。
ローカルPCでKancollesnifferを起動し、設定-報告書の出力先をネットワークドライブ上に作成した報告書用フォルダに指定すればよかった。

私の場合は自宅サーバ用の常時起動PC上に報告書用のネットワーク共有フォルダを作成し、Kancollesnifferから報告書出力先に設定したらちゃんと情報が追加更新されていた。

外出先から遠隔でアクセスする場合は自宅LANまでVPN接続すれば問題なく稼働する事も確認できた。
これでネットワーク越しにKancollesnifferへ接続する関係で発生していた遅延が無くなる為、レスポンスが本来の状況に戻るので遊びやすくなった。

気が付いてみれば簡単なことだったが、最初に難しく考えすぎたと言う事か・・・

2022/05/06追記:
艦これ立ち上げ時に遠征から帰投した艦隊があると母港画面で勝手に帰投報告されてしまい、デイリーミッションの3回遠征が受託できずに無駄になっていたのが結構前から気になっていた。
又、色々小技を使って各PCでの艦これプレイデータを共有できるようにしていたが、結局メールサーバ用PCが24時間稼働しているのでそのPCから艦これにアクセスさせておき、サーバPCへリモートアクセスして艦これをプレイすればよいのでは?との結論に至った。

それで試しにメールサーバPC上で艦これをプレイし問題なさそうか確認したがCPU負荷的には30%前後までしか使用されていないので特に問題はなさそう。
ただサーバPCで恒久的にプレイする予定ではなくその内メールデータの自動バックアップ用に起動している別PCか新規PC上で稼働させる予定。

|

« RTX1100のマルチホーミング機能を使用して自宅サーバを2つのWAN(URL)で公開してみるテスト | トップページ | windows10の大型アップデート後に割りと高確率で休止状態からの復帰が失敗するようになる件について »

ゲーム」カテゴリの記事

パソコン・インターネット」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

趣味」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: kancolleSniffer導入覚書:

« RTX1100のマルチホーミング機能を使用して自宅サーバを2つのWAN(URL)で公開してみるテスト | トップページ | windows10の大型アップデート後に割りと高確率で休止状態からの復帰が失敗するようになる件について »