【アイテムロスト対策】 |
Kinya | 13/04/14 18:54 |
何か被害が結構出てる様なので知らない人向けに。
対策とアイテムロストがどうやって起こるか等。
【アイテムロストへの対策方法】
・ペットを含む他キャラクターとロストしたくないアイテムをやりとりした際に、両者ともリログ(ch移動やログアウト、ペットの召喚解除)を行う。
・ロストしたくないアイテムを入手した場合もすぐにリログ。
-----------以下アイテムロストの仕組み-------------
【前提知識】
アイテムロストの仕組みを理解するには、キャラクターがログアウトする時にサーバー上にキャラクター情報(インベントリの内容や現在のレベル等)を保存している、という事を理解しておく必要があります。
ペットもキャラクター同様に個別にキャラクター情報を持っており、召喚解除(=ログアウト)の度にキャラクター情報がサーバー上に保存されています。
キャラクター情報の保存自体はサーバー側がやるので、クライアントが不具合で突然落ちたりしたとしてもサーバーが正常に動いていればログアウトとみなして自動的に保存してくれます。
逆にサーバーが不具合等で突然ダウンしてしまった場合には、クライアントが正常であってもキャラクター情報は保存されず、最後にログアウトしてからサーバーが落ちるまでの間のプレイ状況が保存されません。
したがって、その後ログインすると最後に正常に保存されたキャラクター情報を読み込むので、サーバーがダウンした場合には少なからず巻き戻りが生じます。
(※サーバーがダウンしたからといって必ず巻き戻りが起こるわけではありません、あくまで「保存前にサーバーがダウンした場合」)
【ロストの原因】
しかし、単なる巻き戻りだけでは「最後にログアウトした時から持っている装備」は消失しません。
1か月前に入手した装備のロストの場合、前述が原因なら1か月以上前の状態に戻ってる事になりますしね。
そこで考えらえるのが「他キャラクターとのアイテムのやりとり」を原因とするロストです。
前提知識の通りキャラクター情報はログアウト時に保存される為、それぞれのキャラクター情報が保存される時刻は通常異なります(メンテ等の一斉ログアウトを除く。
これが原因でサーバーのダウン時には特定の人だけに巻き戻りが生じてしまい、ロストに繋がると考えられます。
【ロストの流れ】
では実際にロストの流れを見てみましょう。
まず、キャラクターA、キャラクターB、アイテムCを仮定します。
キャラクターAがアイテムCを持っているとし、それをA(C)の様に省略して記述します(Bが持っていたらB(C)。
最初に、12時にAとBがログインしたとします。
12:00 A(C)、B
次に13時にAからBにCを渡し、その後Aはログアウトしたとします。
13:00 A、B(C)
そして更にその後1時間、B(C)はそのままログアウトせずにプレイして14:00にサーバーが突然ダウンしたとします。
するとサーバーが再起動したとき、AとBは次の状態になっています。
A→13:00のログアウトした時の状態
B→12:00のログインした時と同じ状態(12:00以前の最終ログアウトの状態)
それぞれの時間の時のCの状況を見るとわかりますが、どちらもアイテムCを持っていません。
したがって「アイテムCがロストした」という状況になります。
このログアウト時刻の差を埋める事が対策の鍵となっています。
Kinya | >サーバーダウンのたびに、大多数のプレイヤーが被害をうけます。 サーバーダウンにも色々タイプがあって、ビジーなだけならその後のサーバーの頑張り次第じゃ保存処理まで進められる。 だから今までの「接続は切れないけどキャラクターが動かなくなって落ちる」ってタイプだと、サーバー自体はまだ生きているからダウンまでにどうにか保存処理まで行けてたって感じだね。 本文の方も今までの現象からの推察だけど、結局のところ「ログアウトで保存される」は間違いないのだから対策として有効なのには変わりないよ。 13/04/14 21:36 |
Coleridge | サーバダウンによる巻き戻り現象で結構な人数の被害が出ることから考えて、自動保存がかかるタイミングは1日1回くらいだと考えてる。 ま、理屈はどうあれプレイヤー側でできる現行対策はKinyaさんのでFAじゃないかな。 13/04/14 21:36 |
Kinya | 昔の0時のラグタイムなんかはそれっぽそうだよね。 13/04/14 21:40 |
狐鱗 | 改めて他のスレ見てみてびっくり。 本当にこれ、ログアウトでしか保存してなさそうな感じなんですね。 プログラマーの神経を疑ってしまう。 13/04/14 21:56 |
グール | ログアウトでしか保存しないならアイテムを動かす前に戻るだけなのでロストしないですね。 一部反映、一部反映しないという処理になっているからロストする。 13/04/14 23:23 |
一匹鼠 | 一昔前はどこか長いダンジョン行く前はチャンネル移動しておくってのが流行ってたような 13/04/14 21:55 |
くろくっろ | ちょっと質問です…! 一回ペットから装備を取り出し→装備してどんな感じだったか様子を見る→すぐにペットに装備を戻す これでもログアウトなどした方がいい…のでしょうかー? 13/04/14 22:57 |
グール | 質問とは逆になりますがインベ整理のためにキャラ→ペット→キャラ→ペットを返すとしたアイテムがロストしました。 13/04/14 23:19 |
Kinya | キャラ→ペット→召喚解除→キャラ→ペット→召喚解除 だったりしない? 13/04/14 23:26 |
グール | 一時的な置き場としてペットを呼び出したのでそれはないです。 地面に捨てて整理したほうがましだったかも。 13/04/14 23:31 |
Kinya | それは別にリログしなくてもいいんじゃないかな。 どれぐらいの頻度でリログをやるべきかはリスクとの天秤だよ。 頻繁にすればロストのリスクを減らせるけど面倒、しなければ楽だけどリスクアップ。 13/04/14 23:21 |
くろくっろ | なるほどー…ありがとうございました! しっかり気をつけてやっていこうと思います…! 13/04/14 23:46 |
もけっきょ_tar | なんにせよ、アイテムロストの危険性がどういう時に起きうるのかっていう公式見解は聞きたいものですよね。 みんなで対策を練るとしても、あくまで雲を手でつかむような、なにか根本に迫れないような状況で、対症療法にしかなってませんからね。 これも不具合と同列に考えていいほど重要な問題な気がします。 ちなみに、私はアイテムをペットから移した直後、またはマウスで持った直後、などの時に不具合で落ちたことは幾度となくありますが、今までロストに出会ったことはありません。 一応情報として。 13/04/14 23:43 |
狐鱗 | クライアントが落ちるだけなら、ロストは起きないんです。 クライアントの応答がなくなってしばらくすると、ログアウトしたとみなしてサーバーが処理しくれるので。 13/04/14 23:53 |
もけっきょ_tar | 実はついこの間の点検に引っかかって強制的に落とされたんですが、直前に拾ったはずのヒーターシールドがインベになかったんですよね。 拾い忘れかとも思いましたが、もしかしてこれのことなのかな……。 13/04/15 00:21 |
リバーシュ | 保存は完全にサーバーのお仕事のはずです。 個々の回線不良やPCフリーズ、クライアントフリーズでもロストはまずないです。 一時的に断線した場合30秒ほど「キャラクターデータ保護のため」接続出来ません。この時保存しているんだと思います。 また、インベントリの位置が違えば保存時に書き換えられます。 持っているアイテムが消えるとしたら、おそらく持ち替えなどでしょう。 せめて、課金物購入などの度に更新するか「保存に失敗したら保存せず、正常時まで完璧に復元巻き戻り」なら愛用のメイン武器消失なんてことにはならないと思います。 13/04/15 01:20 |
minithbmaru | 先日の点検落ちでロストした経験から 装備の移動について 自キャラ→ペット→ペット解除のものは保存されていた ペット→自キャラ→その後しばらく活動後・移動装備ロスト その他アイテムについて 活動中に獲得したアイテムロスト 活動中の農場の石・草巻き戻り発生 以上のことからペットは解除のタイミングでセーブ キャラは短時間ではセーブされていない状態ではないかと考えます ペット解除の前まで巻き戻る危険があるので安全だとは思いませんが 運営が事態を把握した上で手動セーブボタンくらい 追加してくれないと自衛はなかなか難しいと考えています 巻き戻りのおかげで装備やアイテムが増殖しないように わざと時差を設けてる気もしますが 巻き戻ってメイン装備が増えて喜んだ人もいるのかな うわさですら聞いたことないけど 運営が事態に対して一切だんまりでは状況の把握すら困難でしょうね 13/04/15 04:34 |
Coleridge | > 手動セーブボタン 多くの人が何度もセーブする事でサーバ負荷が増大する。 最悪これが原因、もしくはアタックに利用されてサーバが落ちたら本末転倒。 > アイテム増殖 アイテム個々に唯一無二のIDが設定されてて重複しないし、キャラ間・銀行間の移動があればID情報も移動する。 例えばペットからアイテムを出してキャラのインベに移すと、ペットとアイテムの紐付けが破棄されてキャラとアイテムが紐付けされる。 ペットをしまうとペットとアイテムの紐付け破棄がサーバに保存される。キャラとアイテムの紐付けはまだ保存されてない。 ここでサーバが落ちると保存されてないキャラとアイテムの紐付けも無かったことになるから、ペットにも紐付けがない、キャラにも紐付けがない、紐付けのないアイテムは居場所がない=ロストとなる。 この仕組みだと保存時にアイテムIDとその紐付けは必ず1つになるので、ロストすることはあっても増えることは無いね。 > 運営が事態に対して一切だんまり を追及するって事は、つまりゲーム内部の仕組みを公開しろって事になるんだけど。 状況の把握っても今どこどこのサーバが落ちてますくらいしか現実的には言えないでしょ。 ロストに対しての見解ってことなら「そういうこともあるし仕方ないし補償もしないよ」って規約で言ってるよ。 13/04/15 06:46 |
サイクレイン | > 多くの人が何度もセーブする事でサーバ負荷が増大する > 最悪これが原因、もしくはアタックに利用されてサーバが落ちたら本末転倒 とは言いますが、ロスト対策のために 皆がリログを繰り返すようになったら セーブ以上に負荷が増大することもありえますよ。 実際、皆がch移動でリログを繰り返すイベント、 たとえば水風船やトランプマンで落ちてますから。 リログはセーブ以上の処理負荷になるだろうと思われるので セーブで済むならセーブだけで済ませたほうがいいでしょ。 13/04/15 12:20 |
Coleridge | ボタン押すのは1秒未満。 リログにかかる時間は20秒?30秒?重ければ1分? さてどっちをより頻繁に行うだろうかっていうお話。 リログによるデータ保護という対策は今に始まったことでもないけれど、ドラゴンタイムのch移動のような過重ログインが起こったことは一度もないと思うよ。 面倒なリログをするのはメイン装備・高額装備の時に限る、そもそも面倒だしやらないって人も少なくないはず。 あなたの意見は一理あるけれどあまり現実的ではないと思う。 それにセーブボタンの悪用という危険性は残ったままだしね。 13/04/15 19:03 |
Kinya | セーブボタン自体にクールタイム設ければ十分な話だしね。 それに負荷自体は召喚即解除推奨のペットをボンボン出している開発が気にするはずもないだろうし、実装自体は問題無いとは思う。 (イベントの時の超負荷はあくまで一斉移動が原因なので) ただ今の開発(C4)に任せる事自体が危険だから、現状維持の方が無難だと思う。 「UIを改悪する→元に戻せ!という声多数→元のUIに似た状態にする(どやぁ」 って馬鹿な事してる開発だからね、あそこが動くと碌な状態にならない。 13/04/15 19:24 |
Coleridge | > セーブボタン自体にクールタイム設ければ十分な話だしね。 CTあるならリログでいいと思う。 実は次に反論があったら書こうと思ってた事をKinyaさんが後半で書いてて驚いたよ。 そうなんだよね、何よりも今の開発にシステムの根幹に関わる部分をあまり弄らせたくないっていうのが本音なんだ。 UIの意味不明な変更時のグダりっぷりを見ても何かやらかしはしないか非常に不安。 ただでさえ不安定なクライアントやサーバがもっと酷くならないか不安。 利便性の追求もいいけれどそれはMODのような外部呼び出しからの機能充実にすべきであって、システムなんて単純な方がいいに決まってる。 13/04/15 20:34 |
めておすぴあ | リログするとFLメッセとかギルチャとか初チャとか途切れてしまうし、セーブ目的にリログするっていうのはやっぱりスマートじゃないと思うの。 そもそもアイテム情報が保存される状況、保存されない状況が混在しているシステム設計で、鯖がとまった(バックグラウンドではいろいろ処理する余地あり)らすぐにオートで再起動かけるようにしただけのようなここ最近の挙動。 保存ルールをぜんぶ見直して直してくれ・・・っていうとかなり危険な匂いがするから、リログ時と同等の処理をCT設けてやってくれるボタン、が実装も比較的楽で、余計なミスをする余地も少なくて、いいとおもう。 13/04/16 01:46 |
minithbmaru | セーブボタンて言ってごめんなさい! 余分な機能を追加するともれなく不具合がついてくることを すっかり忘れていました・・追加されないほうがいいですね アイテム増殖についてはColeridgeさんの説が正しければ アイテムが勝手に増えることはなさそうなので 不可抗力によっておきる不具合利用によるアカウント停止の危険が なさそうなのでちょっと安心しました! だんまりについてはー Coleridgeさんがおっしゃるゲーム内部の情報を 公開していただいても多分さっぱりわからないのでできればー ・現状の不具合で点検になって落ちること ・落ちた場合に小規模な巻き戻りが発生してること ・巻き戻った場合にロストの危険があること ・ロストの可能性のある場合の場合の自衛策 (リログやログアウトでデータ保存が可能であればその旨) などを公式のお知らせで注意喚起していただける程度の 大変簡単な発信だけでといいと思います。 最終兵器の規約で保障しない攻撃を出さなくても告知しておけば 自己責任でがんばれですむように感じただけですよー わたしは調合キットと抜いた草だけだったので状況報告だけ なのですがショップやMOMでの購入アイテムであれば アイテムロストでも残念極まりないでしょうねー 以前多発していた接続障害だとお知らせに出ていたので そのうち根本的に直してくれる期待感や 運営してる側でも認識していることがわかって ひとつの安心材料でしたが、現在の点検で落ちるのは 公式発表が一切ないので気がついていないのかもって 不安に感じるのは致し方ない気がしますねー 13/04/16 05:12 |
件名 | 名前 | 日付 | 閲覧数 | ||
2005/03/23 | |||||
2005/03/04 | |||||
2005/01/17 | |||||
+4 | 露天売買部長 | 2013/11/11 | 4757 | ||
+9 | 嵐山せつな | 2013/11/10 | 7122 | ||
+13 | 黒羽雪穂 | 2013/11/10 | 4435 | ||
+5 | 優裡 | 2013/11/09 | 7051 | ||
+1 | naonao12 | 2013/11/08 | 3281 | ||
+1 | ジャイトント | 2013/11/08 | 2968 | ||
Finya | 2013/11/08 | 4352 | |||
+4 | wwmmwwmmwwam | 2013/09/19 | 6420 | ||
+5 | CPyu | 2013/05/06 | 5829 | ||
アイテムロスト祭りでやる気が出ないプレイヤをやる気にするスレ +6 |
めておすぴあ | 2013/04/17 | 7478 | ||
+9 | Lostfestival | 2013/04/16 | 5540 | ||
+25 | Kinya | 2013/04/14 | 11599 | ||
+8 | 黒騎零 | 2013/04/14 | 4824 | ||
+4 | Nahid | 2013/04/13 | 4801 | ||
+1 | 青トラメ | 2013/03/10 | 5750 | ||
+3 | ルミエラ | 2013/02/05 | 5307 | ||
+6 | 甘味ぷりん | 2012/12/27 | 4802 |
そんな仕様なら、サーバーダウンのたびに、大多数のプレイヤーが被害をうけます。
うろ覚えだけど、ファイルを開いてデータを書き込んだ後、ファイルを閉じることで、更新が完了する。
でも、頻繁に読み書きを行う場合、データを書き込んでもファイルを閉じずに、しばらく開いた状態にしておくことがある。
だから、取引など行った直後にサーバーダウンが起きると、正常にファイルの更新が行われず、アイテムロスとがおきるんだったかと。 13/04/14 20:58