アイコン

りにあの自由時間

...

< 一覧へ
【Minecraft Java版】1クリックでワールドのバックアップを取れるようにする
X(旧Twitter)Facebookはてなブックマーク

Minecraftをプレイ中に、1クリックでワールドのバックアップを取れるようにする。※Minecraft Java版、Windows限定

注意

事前に必ず、手動で既存ワールドのバックアップを取おう。やらかしてワールドデータ消えても自己責任。

やること

PowerShellスクリプトで、指定したワールドをzip圧縮して指定場所に保存するプログラムを作る。zip圧縮には7-zipのCLI機能を使ってみる。あと、いつのデータか分かりやすいようにタイムスタンプも付ける。

準備

7-zipはここからインストール。

7-zipをスクリプトから叩くには、パスを通しておく必要がある。7-zipのexeファイル自体にCLIの機能があるため、実行ファイルの場所を突き止めて直接パスに指定してあげればOK。

大体は C:\Program Files\7-Zip\7z.exeがあると思うので、「システム環境変数の編集」からPathC:\Program Files\7-Zipを追加しておけばいいと思う。

バックアップを取るスクリプト

PowerShellスクリプトの拡張子は.ps1なので注意。Windowsのユーザー名、ワールドのフォルダ名、コピー先のパスは適宜書き換えて。

私の場合は、D:\games\minecraft\backups\以下に各ワールドのバックアップを保存してる。

backup.ps1
# ワールドデータのパス
$source = "C:\Users\【Windowsのユーザー名】\AppData\Roaming\.minecraft\saves\【ワールドデータのフォルダ名】\*"

# タイムスタンプ
$timestamp = (Get-Date -Format "yyyyMMdd_HHmmss")

# コピー先のパス(適宜書き換える)
$dist = "D:\games\minecraft\backups\【ワールドデータのフォルダ名】\【ワールドデータのフォルダ名】_" + $timestamp + ".zip"

# 圧縮
7z a -r $dist $source
echo "Back up: " $dist

バックアップを取るときは、ファイルをダブルクリックすればいいだけ。こんな感じにウィンドウが起動して、勝手にバックアップを取ってくれる。

逆に復元するときは、保存されたzipファイルから手動で復元してる。こっちはそんなに頻繁にしないので自動化はしてない。

配布ワールドのデータを初期化するスクリプト

配布ワールドのRTAを1クリックで再走するスクリプトもおまけで置いておく。

reset.ps1
# 配布ワールドのzipファイルがあるパス(適宜書き換える)
$source = "D:\games\minecraft\worlds\【配布ワールドのファイル名】.zip"

# ワールドデータのパス
$dist = "C:\Users\【Windowsのユーザー名】\AppData\Roaming\.minecraft\saves\【ワールドデータのフォルダ名】"

Remove-Item -Recurse -Force $dist
mkdir $dist
7z x -y $source -o$dist

最後に

TUSBはいいぞ。このスクリプトもTUSBのために作った。

6年前にこの動画を見てハマった記憶。

そういえば、最近新バージョン(v13)のα版が公開されてるらしい。めっちゃ色々変わっててびっくりした。超楽しみにしてます。

Rinia/りにあ
Rinia/りにあ
X(旧Twitter)メールYouTubeGitHub

某社でUnityエンジニアをしてます。限界開発鯖RineaR所属。

幼少期から周りを巻き込んで企画をすることが好きで、現在はゲーム作り以外にもWeb開発・コミュニティ活動・デザイン等を趣味でやってます。

共有お願いします!
X(旧Twitter)Facebookはてなブックマーク