Pangyaを久しぶりにやろうと思ってアップデートしたら、ローディングで失敗してしまうようになったのです。なんだか「Projectg400j+.pakが壊れています」みたいな感じになっちゃってにっちもさっちもいかないというか、下手をするとOS巻き込んでハングアップしちゃうのだけど、どういうことなのだろう。
とりあえず、インストールフォルダ内の該当ファイルを削除したら再ダウンロードはしてくれるんですが、これまた何度落としても「壊れている」と出てしまう。300Mちょいのファイルなので、できれば何度も落としたくないんですが、一体これはどういうことだろう。まったく。 しょうがないので、アンインストールして、再インストールしても「壊れています」。どうしようもなく手詰まりしてしまったので、サポートメールを投げてみたのだけどナシのつぶて。ほんとにどうしようもありません。まいったなぁ。 情報を色々調べてみたところ、
・該当ファイルを削除する ・キャッシュを削除する ・再ダウンロード という手順らしいのだけど、これが上手くいかなかったら(というかいってないのだけど)「プロバイダにキャッシュが残ってしまってるかもですね」で済まされちゃっている感じ。みんな、なんてオオラカなんだ。そしてカンヨウなんだ。感動してしまいました。感動したけど、納得はできないんですけどね。 「じゃぁしょうがないか~。ははは~。」で済ませてなるものか。というか、済ませたらいつになったらゲームが再開できるかわからないっすよ。 で、まぁ、しょうがないので別PC(かつ別プロバイダ経由)でダウンロードしてみました。その別PCは、今度は別のファイル(projectg203j+.pak)が壊れていると表示されるわけですが、まぁ少なくともゲームをしたいPCで壊れていると宣言されている「Projectg400j+.pak」は大丈夫。 というわけで、「Projectg400j+.pak」をコピーして使ってみたところ、幸いと起動できるようになりました。よかったよかったよか…よくねぃよ。 要するに、別プロバイダ経由のインターネット接続が可能なPCが2台あれば解決できる(かもしれない)ことはわかったんだけど、これって普通ありえないじゃないですか。というか、そもそもこのPCが2台とも同じファイルが壊れていたらどうするんでぃすか?3台目のPCを使うのでぃすか? そんな運任せでいいのか! いいわけがありません。 そんなストレスフルなアップデートゲームなどしたいとは思わない。 --- で、頭にきたので徹底検証することにしました。 具体的には、壊れていると表示されちゃうProjectg400j+.pak(以下壊れファイル)と、普通にゲームができるProjectg400j+.pak(以下正常ファイル)を調査するってことです。いろんな面から調査してみましょう。 まずは、ファイルサイズ。 これは、壊れファイルも正常ファイルも同じサイズ。 要するにぱっと見た目では、特に変わらないってことですね。 では、バイナリ比較。 これはWindowsに標準でついているfcコマンドを使うことにしましょう。使い方は簡単、「ファイル名を指定して実行」で「cmd」と打ち込み、コンソールを表示させたら >fc /b hoge.xxx fuga.xxx という感じで使うだけ。 で、比較した結果、62byte程の違う場所があるようです。まぁ、結果には、アドレスと値も表示されているわけだけど、載せたところで意味不明なので割愛。もちろん、異なるバイトがあるってことは、CRC値も違います。(これは非常に重要) まぁ、念のためCRC値を割り出すツールを使ってみたら、実際にCRC値は違っていました。でもその値は書かないけれど。 さて、実は、CRC値が異なれば、もう「これが理由で使えない」という判断を下してしまっていいのです。なぜなら、CRC値というのは「ファイルにエラーがあるかどうかをチェックするための値」なのです。通信中(すなわちアップロードやダウンロード中)に、何らかの問題が発生していないかどうかを確かめるための数値が、これすなわちCRC値。大きなデータを頭からオシリまで検証する手間を省きます。この値がそもそも違っているのであれば、中味がどうであれ、「これは破損しています。」と判断してOKなのですから、正常ファイルと壊れファイルのCRCが異なるなら、もう「結論」たりえるということです。 けど、実際に通信エラーなの?という私の疑問は解消されない。 じゃぁ中味が違う可能性があるのか。 これは単にダウンロード最中に壊れてバイトの差異が出てしまった(CRCが取得できるんだからこれはありえない気がするけれど)のか、それともそもそも中味が違うのか。(頭に来ている今の私にとっては)重要な問題です。中味って何?と思うかもしれませんが、「pak」というからには、いくつかのファイルをまとめて圧縮してあるはずなので、展開すれば当然元のファイルがでてきます。 というわけで、展開してみました。 展開するツールについてですが、これは展開後、好きなように弄って戻せば(主として見た目部分の)ゲームが改造できちゃうちょっとイタダケナイツールですので、説明は割愛します。(念のため、質問やソフト下さい等も却下します。)色んなMMOでpakは使えたりしますが、私はそういうのはしない人なのであしからず。あくまでも、今回頭にきたからツールを探し出して使っているだけです。 展開したら、500M超のファイル数になりました。 これは、壊れファイルも正常ファイルも、全く同じ値。 しかも、両方とも問題なく展開ができました。ということは、壊れファイルもファイル構造としては問題がないということです。ダウンロードの途中で破損したら、そもそも展開ができない可能性があるってことですから。まぁ、低い確率ながらも、ファイル構造が壊れてても展開できちゃうことがあるんですけどね。あくまでも非常に低い可能性です。 じゃぁ、後は中味の比較です。 しかし、10000近くのファイルを手作業で確かめるのはちょっと…。 というわけで、フォルダ比較ができるツールを使うことにします。これはプログラマをしていて、結構使う(そしてとても便利な)ツールなので普通に紹介しますが、DFというツールです。 流石に数が多いので、比較結果の表示を待つこと数分。 違いが表示されました。 黄色(もしくは水色)部分が、違っているファイルです。 まぁやってることがアレなので、ファイル名等の詳細は語れませんが、結果としては、 ・壊れファイルに入っている、キューマ(キャディ)の画像データが1つ破損している。 ・正常ファイルに入っている、BGMデータが1つ破損している。 という結果になりました。 正常ファイルのBGMデータが破損している、というのは、再生してみたら途中で止まってしまうからです。壊れファイルのBGMは無事最後まで再生ができました。しかし、破損しているかしてないかは(ゲームを開始する上では)問題があるわけではなく、(そしてこのファイルが使われない限りはゲーム進行上も問題があるわけではなく、)要するにこの2つの違いが、PAK後のCRC値の違いを生み出し、結果として壊れファイルは「使えない」と判断されてしまう原因になるわけです。 長々と語りましたが、結論。 これは、ダウンロードの問題ではなく、ダウンロードされる元データの問題です。推論だけで述べると、いくつかあるアップデートサーバの1つに、壊れファイルが配置されている可能性があるんじゃないかな?いやかなりあてずっぽうなので、推論に関しては正解だとは言い切れません。 だけど、何度ダウンロードしても、元データがダメだからダメということだけは確実です。ましてや、プロバイダのキャッシュなんて意味わかんないものに罪をなすりつけるなんてとんでもない。 以上、調査結果でした。 こっちに夢中になってパンヤするの忘れてますけど、まぁキニシナイ。 とりあえずサポートはさっさと返事をよこしやがれ。 PR ∴ この記事にコメントする
● 無題
なんてことを!!
PangYaは偉大なのですよ! Lineageのようにパッケージソフトに路線に 走ったかと思えばパッケージCDからインストすると 次回のUPDATEが必ず失敗するという罠が ついてくるんですよ! って書いてあったwwww 一応GG入ってるからごにょごにょで もしょもしょしてもキックされるとおもふ Re:無題
それからさらに気が付いたんだけど、実はpakファイル、いちいち解凍してるのかしら…。ゲームがハングアップしたりするとpakが壊れる疑惑がでてきたよ。
Powered by 忍者ブログ
Design by まめの
Copyright © [ webrover.log ] All Rights Reserved. http://quammo.blog.shinobi.jp/ |
∴ カレンダー
∴ 月別アーカイブ
∴ カテゴリー
∴ 最新コメント
∴ 最新トラックバック
∴ アクセス解析
∴ 忍者アナライズ