艦これ(PC):E-5クリア…カナダから…

E-5クリアしました!いや、もう、どうなることかと思いましたよ、ええ。




キャプチャの設定を更新して保存しなかったので、またずれました。原因はブラウザのサイドバーの枠部分の有り無しだと容易に推測されるのですが、やっちゃったものはしょうがない。

タイトルの通り、現在カナダ出張中でして…。それもイベントが終わるより先、2週間の予定でして。一方イベントはと言うと、E-4クリア後で資源が厳しいので、すぐに始められず…。燃料・弾薬16kの状態から始めてなんとか出発前に終えられるかな?7時間経過で3.5割ほど残って、無理でしたー!ズザーって状態。
出発すると、日中出社して、夕方フライト、カナダ到着は日本時間の深夜から朝。そして、ホテル到着で死にかけている状態で始めたとしても24時間以上放置された状態になる。そうでなくても、海外IPは弾かれるから、何か手段を講じないとプレーすることさえ出来ず…。1週間以上残してE-4までクリアしておきながら、まさかの武蔵入手出来ず…という事態はだけは避けたい!というわけで、色々と、(微妙なことも含めて)準備したわけです、はい。


攻略に関しては、色々上がってますので、今更私がという感じではありますが。基本正攻法です。消費資材は燃料、弾が8k程度、鋼が3k程度でしょうか?回復分、遠征分は別腹で消費してますが。
クリア時点の艦隊は以下の通り。上ルートを通る戦闘回数が少なめな金剛2隻編成です。

雷巡には副砲の15.5を2つと甲標的重巡は20.3を2つ、三式弾、電索。戦艦は46、41、三式弾、電索。
途中は、E-4同様に駆逐を使っていた時もありました。あと、キラキラを徹底していた時もありました。でも途中で変更しました。理由としてはキラキラが無くても、被弾率がそれほど高くないのでなんとかなる、むしろ回復速度が速い分短時間でがっつり回す方がいい、という結論に。
陣形は、1戦目が単横、2戦目が複縦、3戦目が単縦。理由は、初戦はカットインが怖いので回避重視で。2戦目は単横だと、2,3番目の敵戦艦が落とせず、昼に持ち込まれると厳しいので、防御と攻撃力を兼ねた複縦でしっかり落としつつ守る形。3戦目は全てをなげうってとにかく攻撃。
ボス到達率も高めなので、毎度決戦支援は出す形で。途中までは駆逐2、軽空母2、空母2で。最後は駆逐2、軽空母2、戦艦2で。

対空積めとか、色々言われてますが…正直割と適当にやっちゃいました。まあ、なんだかんだで、道中の支援はボスゲージ削りが目的で、火力意識していなかったのですが、それでも多くの場合、ボス艦隊を全滅させられてましたので。最後はよりにもよって、3戦目の初っぱなでハイパー北上様が大破なされたので、艦隊援護がなければやばかったですが。


あ、あと、クリアしたときに拾いました。拾ったときに、思いました。今回はきっと何かが違う!と。

5-1です。まあ、うちではダブりなんですけどね…。潜母モデルと潜水艦モデルを作ろうかな。


以下、本筋とはずれますが…海外出張中にどーしてもプレーしたいよ、という場合に参考になるかも。

ゲージ回復対策

はい、戦闘開始前のボスカットイン時点での放置による対処です。しかし、これ、多分、その後の戦闘をきちんとこなさないと、自然回復停止の効果が得られないんじゃないかと推測…。
そこで、日本にあるPCでカットインまでプレー→カナダからリモートデスクトップ接続で該当マシンに入る→戦闘終了までプレー、という流れが必要っぽい。
24時間以上放置するので、通信エラーで切られる可能性が若干不安なのですが、結論から言うと、きちんと接続できました。まあ、時差の関係で、日本の午前中のすいている時間帯に入れたので、猫の心配は無かったわけですが。
ただ、このリモートデスクトップ、太平洋を横断する回線を使用するのでRTTが大きく、さらに、艦これの場合画面表示が比較的リッチで戦闘中の差分が激しいので、普通に表示していると、すごく時間がかかりました。一応、画面を表示させず、時間経過に任せれば、戦闘は進むので戦闘終了後に結果だけ見るようにすれば、なんとか…という感じですか。まあ、でも、オーディオも飛ばしてない以上、戦闘中に何が起きていたか分からないのは若干辛い感じ。後述するプロクシサーバの使用が出来ない場合の最終手段としてリモートデスクトップを考えていただけに、ちょっと辛いところですね。

IP対策

いわゆるプロキシサーバを使用する形で対処しました。串という奴です。
日本国内にあるマシンを中継地点とすることで、艦これが動作しているサーバから見たIPアドレスを、その中継マシンのように見せるというものです。公開プロキシサーバや、有料のVPNを兼ねたレンタルプロキシなどの選択肢も無いわけではないのですが…艦これのデータは恐ろしいほど平文で送られていることもあって、自宅サーバを立てることに…。その自宅マシンが、前回の出張直後にお亡くなりになってたんですけどね…。
仕方ないのでPCを購入したのが先週の祝日の月曜日、届いたのが先日の土曜日。出張準備を土曜日にして、サーバ構築を日曜日に…。イベントこなしつつ、プロキシサーバを立ち上げました。
これが、功を奏す形で…HTTPSでの認証がプロキシを通らなかったせいで*1、一瞬プレーできないかと思ったのですが、逆に、自宅のマシンが既に当該IPで認証をかけていたので、普通にURL参照するだけで、カナダ側に持ってきたマシンからのプレーができました。…艦これって、認証にHTTPS使った後、IPアドレスでしか認証してないのかよ…と若干引きましたけど。
まあ、なので、よく解ってませんが、多分、前述した公開プロキシやレンタルプロキシ使ってたらちょっと不味かったかも?あるいは、今回はブラウザだけにプロキシ設定しましたが、その設定を見直すか、マシン自体の設定を見直せばなんとかなったかも知れませんね。

具体的に何をしたか

まず、リモートデスクトップを外部からアクセスできるようにするには、色々と手順が必要です。
外部のマシンから自宅にあるリモートデスクトップ対象のマシンにアクセスできる必要がありますが、そこえ問題になるのがゲートウェイというか、NAPT装置というか、まあ、そういう装置です。フレッツとかの場合、NTTから貸し出された光ファイバが刺さっている機器がその役割を担います。
家庭内のIPアドレス体系は192.168.0.xxみたいなプライベートIPアドレスで構築されていることが普通ですが、これが、グローバルIPアドレスを参照してインターネット上のサーバとアクセスできるのはゲートウェイの部分がNAPTとしての機能を持っていて変換しているから、ということになります。
そこで、ゲートウェイに対して、静的IPマスカレードを設定します。まあ、細かい話はおいときますが、外部から来る特定のポート番号の通信は、自宅内の特定のマシンに対して送り届けるという、静的な通信関係を設定するというものです。これは、自宅でPS3のネット対戦をやる場合など、ネトゲなんかでは割とよくある話なので、説明されているサイトも多いですし、出来るようになっておくと便利ですよ。基本的に、この辺をきちんと理解したいなら、IPとTCPUDPのヘッダ構造なんかについて勉強して下さい。
これで、自宅に割り振られているグローバルIPアドレスがある場合*2は、そのグローバルIPアドレス(と特定のポート番号)を指定すれば、自宅内のマシンに通信することが出来るようになるのです。しかし、ここで問題となるのがグローバルIPアドレスってどうやって調べるの?という問題。固定的にグローバルIPアドレスを割り振るサービスも世の中に、無いわけではないのですが、多くの場合はDHCP(というよりPPPoEの方か?)を利用した貸し出しを行っています。そのため、ゲートウェイ装置が再起動するなどした場合に、再度取得したIPアドレスが、全くの別物になっていたりするのです。…よくある、2chでIDを変えたい場合に、ゲートウェイを再起動するのはこの辺が理由ですね。
そこで、出てくるのがダイナミックDNSです。これは、いわゆるドメインネームとIPアドレスの変換を行うDNSサーバに、自分の自宅のグローバルIPアドレスを登録して貰うというサービスです。もちろん、自宅のIPアドレスは定期的に変更される可能性がありますので、それを動的に変更できる、というのがダイナミックの部分の意味です。そうすると、自分が登録したドメイン名を引けば、IPアドレスが返ってくるのでそれで通信が出来るというものです。ちなみに、この変換は多くの場合は自動で行われていますので、IPアドレスの代わりにドメイン名を入力しても通信できる…というか、インターネットブラウザの系統は基本ドメイン名を入れていますので、むしろ、多くの人にとっては実はIPを直接指定しても通信できるんですよ?というべきかも知れません。
次に問題となるのは、この自宅のIPアドレスが変わったときに「俺何番ッス、よろしく」、と伝えに行くかという部分です。これは、ダイナミックDNSの提供側が用意している形式でHTTPのアクセスを行うなどすれば、更新が可能になっていますので、そういったメッセージを送るマシンを自宅に用意すれば良いわけです。が、実は結構ハードルが有ったり無かったり…。Linuxを使用する場合には、スクリプトを書けばいいのですが、windowsの場合ちょっと面倒くさい…。少なくとも、おいらはプログラマーが本職じゃないですし、Linux系で特定のパケットを出すプログラムを作る程度が精一杯。勉強すりゃできるでしょうけど、時間が無い現状ではつらい、ということでツールを使うことに。
大昔に同じようなことをやろうとして使ったのがDiCEというプログラムなのですが…最終更新以降大分時間が経っている…ことに恐れを抱きながらインストールしてみたら…インストールの段階ではまりました。16ビットプログラムで互換性がうんたらかんたらで引っかかりました。新しいサーバは64ビットマシンのWindows7ですし、XPの互換モードで動かしてもちょっと無理臭い反応が…。
というわけで、偉大なグーグル先生に教えて頂きまして、個人で作成されたプログラムを公開してくださっている方のところから借りてきて、サービス立ち上げました。途中、書き込み権限とかの問題でちょっとつまづきましたが、ちゃんと動いているみたいで一安心です。
リモートデスクトップの方は、通常のポート番号を空けておくのはちょっと怖いので適当にIPアドレスを変更。もちろんNAPTもこれに応じて静的IPマスカレードを設定しています。このポート番号の変更はwindowsレジストリの変更が必要なのでregeditから。やり方は…ググって下さい。同時に、Windowsのファイヤウォールに当該ポート番号を登録しておくことを忘れずに。あるいは、ファイヤウォール自体を止めてしまっても良いですけど…まあ、サーバとして公開する以上は一応残すべきかなぁ、と。まあ、NAPT自体がその役割を半分担ってくれますので、構わない部分もありますけど…。
これで、外部からリモートデスクトップでアクセスする準備は完了です。
続けて、プロクシサーバの立ち上げ。これは、先のリモートデスクトップの話と共通する部分があって、やはり、外部からのアクセスが必要なので静的IPマスカレードの設定が必要です。その上で、プロクシサーバとして公開するポート番号を設定し、ファイヤウォールも空ける必要が有りますね。
プロクシサーバの方はWindowsでも動作するものが公開されているSquidを使用。正直、設定関連が相当怪しいというか、色々できすぎて、デフォルトのコンフィグファイル長すぎ、という状況なので、一応動いたという程度ですが。
ちなみに、基本的にはローカルのIPアドレスからこのサーバにアクセスして使用することを想定した設定がされているのですが、今回の場合、当然カナダから繋がないといけないわけで…全IP許可、という恐ろしい設定に。認証系も用意できるようですけど…ごめんなさい、時間が足りませんでした…。公開こそしていませんがポートスキャンでばれて、悪用されるとウチの自宅IPを装って、やりたい放題になるので、注意が必要。一応、使ってない間は、そもそも、サービス自体を停止させることで対処することに。そのためにも、先のリモートデスクトップを可能にしておいた方が、何かと融通が利いて安心という。あと、ログは全部取ってますので、怒られたらそのログ見せてごめんなさい、するしか。


とまあ、そんな感じのことをやってました。この時間を無くして艦これに素直に注ぎ込んでいれば、攻略出来たかも知れませんが。

*1:これが微妙によく解らなかったのですが、お住まいの地域からは〜メッセージが出たのでそういうことじゃないかと推測してます。パケットキャプチャすれば分かるんですけど…

*2:一部のIPアドレス保有数が少ないケーブルテレビなどでは、1対1対応でグローバルIPアドレスを振らずに、顧客の手の届かないところでNAPTをしている場合があり、その場合はどーしょーもないのです…