突然のデータ消滅を防ぐ

Last-modified: 2010-12-08 (水) 01:02:49
 

はじめに

このページでは、アカウント登録をしていないデータが突然消えてしまう現象の対策を考えてみたいと思います。
なお下記の正常な消滅については対象外です。

  • ゲーム内でHPが0になった
  • Delete をクリックした
  • RotMG.sol を紛失してしまった (事実上のデータ消滅)

後述の対策をした方がいいプレーヤーは下記の通り

  • 以前遊んでから、しばらくプレイしていない
  • RotMG.sol のタイムスタンプが古い

※それと、RotMG.sol だけを差し替えて複数アカウントを切り替えている方もいらっしゃるようですが、そういったケースもここでは対象外とさせていただきます。*1
※あくまで素人の推測です。間違いがあるかもしれません。

「データが突然消えてしまう」とは?

そのまんまです。ゲームへ入ろうとすると…あれ、データが消えている!! ってことです。テストサーバーでたまに起きているようです。
原因は様々でしょうが共通点があります。それはサーバー側とクライアント側のやりとりがうまくいかなかったということです。
やりとりがうまくいかなかったときに

  1. ゲームへ入れない
  2. 「あれ? 何で?」と、アレコレ弄ったり試したりする
  3. すると何かの弾みで下記のことが起こり
  • エラーでリセット
  • 不正防止の何かが作動

データが消滅してしまうと推測されます。

どういう時に「やりとりがうまくいかない」のか

まず、RotMG のプレイに関わる、クライアント側にあるモノは下記の通りです。

  1. ブラウザ等のキャッシュ (要するに .swf です。ゲーム本体。)
  2. Adobe Flash Player 自体の設定 (の RotMG に関わる領域) 参考
  3. Local Shared Object (の RotMG に関わる領域) 参考

1 や 2 がオカシクなった場合も大変ですが、データが消滅するようなことはないと思います。ここで問題なのは 3 がオカシクなったときです。
Local Shared Object には、おなじみの RotMG.sol などがあります。で、他に AssembleeGameClientOptions.sol というファイルもあると思います。そこにはカメラアングル等の設定が保存されているのですが、しばらく RotMG をプレイしていなかったりすると、現在では使われなくなった古い設定等も残っていたりするわけです。それが、ネックとなりやりとりがうまくいかないようなんです。
(自分は AssembleeGameClientOptions.sol が悪いならと、削除したり弄ったりしてみました。すると…見事にデータ消滅\(^o^)/)
厳密に言えば、「うまく入れない」のが悪いわけではなく「何とか入ろうと足掻いた」点が問題なわけですが、しかし、そんなことはどうでもいいのです。最初からうまく入れればいいわけですから。

対策

お待たせしました。本題です。

  1. まず、普通にアクセスします。
  2. 読み込み終了後に Play をクリックし、自分のアカウントデータが表示される画面へ移ります。
  3. この時点でアカウントデータが正常に表示されなかった場合は、残念ですが救いようがありません。そして、ここでもう一度 Play をクリックしてはダメです。ロビーへアクセスしようとして何らかの問題が生じる可能性があります。この画面は、あくまでアカウントが生きているか確認するために開いたわけです。確認できたらトップへ戻りましょう。
  4. 次に、アカウント登録を参考に登録をして下さい。(認証を忘れずに!!)
  5. 登録が済んだら一旦ブラウザを終了させます。登録は確実に行なって下さい。
  6. そして、ローカルに保存されたデータや設定をクリアするを参考にファイル等を削除して下さい。不安な方にはバックアップをお勧めします。さらに、慎重を期す方は、キャッシュのクリアやAdobe Flash Player の設定(RotMGの領域のみ)をクリアするも試してみてください。
  7. さて、これで準備は完了です。サイトへアクセスし、メールアドレスとパスワードを入力してアカウントを呼び出してください。あとは Play をクリックするだけです。

コメント

  • ちと分かり難いかな? それと、前置きが長くなりすぎた… 要望が多いようなら画像も準備します。 -- jap? 2010-12-08 (水) 01:02:49

*1 おのずと AssembleeGameClientOptions.sol が共有される形になり、どうなっているのか確認できないため