セーブデータが壊れていた場合に復元を試みるプラグイン

はいどーもこんばんはニートです。
本日は「セーブデータが壊れていた場合に復元を試みるプラグイン」を作ったので公開しました。
https://forum.tkool.jp/index.php?threads/【プラグイン】セーブデータが壊れていた場合に復元を試みる.928/
ほんと久しぶりのツクールMVプラグインですね。
JavaScirptの書き方めっちゃ忘れてました。

どんなプラグインやねん

ツクールMVってデータが壊れていると「ブービー!」とかなってデータ読み込めませんよね。
そうなったとき、バックアップ用のファイルを読み込みます。
ちゅーわけで保存時にバックアップ用のファイルも生成します。
このバックアップファイルも読み込めない場合は例の「ブービー!」音が鳴ります。

どんなときにバックアップ用のファイルを読み込むか

・データが壊れていた場合
これはそのままで、データが壊れていてJSONファイルからObjectへの変換に失敗したときです。

・データ改造されていた場合
このプラグインはハッシュ値を生成し、セーブデータに保存します。
データを読み込むときには保存したハッシュ値と、読み込もうとしているセーブデータから得られるハッシュ値を比較します。
このときハッシュ値が一致しなければバックアップ用のファイルを読み込みます。

例えば保存しているセーブデータを改造し、お金をMAXにした場合はハッシュ値が一致しないのでバックアップファイルが読み込まれることになります。
ただ保存しているハッシュ値も一緒に改造されると全く無意味です。
ちゅーわけで、改造対策に対してはおまけくらいに思ってもらった方がいいと思います。

終わりに

最近勉強した暗号化(復号化)とハッシュ値についてなんやら作りたかったので、ツクールMV向けのプラグインを作ってみました(Unity向けのセーブデータ保存機能も個人的に作って、そっちはもう少し堅牢なシステムになってますが非公開です)。
Node.jsを使うと簡単に暗号化もできるっぽいですね。
いやあいいことです。

ほなまた。

フォローする