目次
Palworld専用サーバーのセーブデータを、壊さずにバックアップして戻す手順です。
結論を先に言うと——
- 戻す単位は
Level.sav単体ではなく、Pal/Saved全体を1世代として扱う- サーバーを止めてから作業する。動作中の上書きは禁止
- サーバーの中に置いたバックアップは保険になりません。WinSCPで手元のPCへ落とします
まず知っておくこと
サーバーが動いている最中に、セーブデータを上書きしてはいけません。 ゲーム内で /Save を実行し、サーバーを停止してから作業します。
ワールドは Pal/Saved/SaveGames/ 以下の、ワールドIDごとのフォルダにあります。Level.sav、LevelMeta.sav、Players/、LocalData.sav などは同じ時点の組として扱ってください。
Players だけ、あるいは Level.sav だけを別の時点のデータと混ぜると、キャラクターやワールドの不整合につながります。
バックアップを作る
tar のパスを毎回入力しないよう、補助コマンドを一度だけ作ります。
mkdir -p ~/palworld/bin ~/palworld/backups
tee ~/palworld/bin/palworld-save > /dev/null <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
SERVER_DIR="$HOME/palworld/server"
BACKUP_DIR="$HOME/palworld/backups"
STAMP="$(date +%F-%H%M%S)"
case "${1:-}" in
backup)
if systemctl is-active --quiet palworld; then
echo "Palworldを停止してから実行してください"; exit 1
fi
tar -C "$SERVER_DIR" -czf "$BACKUP_DIR/palworld-full-$STAMP.tar.gz" Pal/Saved
echo "作成完了: $BACKUP_DIR/palworld-full-$STAMP.tar.gz"
;;
list)
find "$BACKUP_DIR" -maxdepth 1 -type f -name 'palworld-full-*.tar.gz' \
-printf '%f\\n' | sort -r
;;
restore)
ARCHIVE="${2:-}"
[ -n "$ARCHIVE" ] || { echo "使い方: palworld-save restore <一覧に出たファイル名>"; exit 2; }
case "$ARCHIVE" in *"/"*|*".."*) echo "一覧に出たファイル名だけを指定してください"; exit 2;; esac
[ -f "$BACKUP_DIR/$ARCHIVE" ] || { echo "見つかりません: $BACKUP_DIR/$ARCHIVE"; exit 2; }
if systemctl is-active --quiet palworld; then
echo "Palworldを停止してから実行してください"; exit 1
fi
mv "$SERVER_DIR/Pal/Saved" "$SERVER_DIR/Pal/Saved.before-restore-$STAMP"
tar -xzf "$BACKUP_DIR/$ARCHIVE" -C "$SERVER_DIR"
echo "復元完了。退避先: $SERVER_DIR/Pal/Saved.before-restore-$STAMP"
;;
*)
echo "使い方: palworld-save {backup|list|restore <ファイル名>}"
exit 2
;;
esac
EOF
chmod 700 ~/palworld/bin/palworld-save
以後、バックアップは次の3行だけです。
# ゲーム内で /Save を実行してから
sudo systemctl stop palworld
~/palworld/bin/palworld-save backup
sudo systemctl start palworld
手元のPCへ落とす(WinSCP)
ここが一番大事です。サーバーの中に置いたままのバックアップは、保険になりません。
インスタンスを消してしまったとき、ディスクが壊れたとき、操作を誤ったとき——サーバーごと消えれば、その中のバックアップも一緒に消えます。別の場所に置いて初めてバックアップです。
コマンドに慣れていなくても、WinSCP(無料・Windows向け)を使えばドラッグ&ドロップで落とせます。
接続の設定と、鍵の .ppk 変換でつまずいたときの対処は、こちらにまとめました。
→ WinSCPでゲームサーバーのファイルを扱う|SFTP接続と鍵の設定
注意: 使い慣れたFFFTPでは繋がりません。SFTP(SSH経由の転送)に対応していないためです。
落とすファイル
接続したら、右側(サーバー側)で次のフォルダを開きます。
/home/ubuntu/palworld/backups/
palworld-full-2026-08-01-093500.tar.gz のようなファイルが並んでいます。必要な日時のものを、左側(手元のPC)へドラッグするだけです。
大事な節目(大型アップデートの前、拠点が完成したときなど)で落としておくと安心です。毎回でなくてかまいません。
復元する
まず候補を一覧し、戻したい日時のファイル名を一つだけ選びます。
# 例: palworld-full-2026-08-01-093500.tar.gz が表示される
~/palworld/bin/palworld-save list
# ゲーム内で /Save を実行後に停止。<...> は一覧からコピーして置き換える
sudo systemctl stop palworld
~/palworld/bin/palworld-save restore palworld-full-<復元したい日時>.tar.gz
sudo systemctl start palworld
現在の Pal/Saved は Pal/Saved.before-restore-日時 として残ります。失敗しても消えていません。
手元のPCに落としたバックアップから戻す場合は、WinSCPで ~/palworld/backups/ へアップロードしてから、上の restore を実行します。
注意: 復元直後に新しいキャラクターの作成を求められたら、すぐ遊ばずに停止してください。退避した
Pal/Saved.before-restore-日時を残したまま、原因を確認します。
別のサーバーへワールドを移す
移行元・移行先がどちらも専用サーバーなら、Pal/Saved フォルダ全体を持ち込むのが安全です。置き場所は次のとおりです。
~/palworld/server/Pal/Saved/
WinSCPでフォルダごと転送できます。作業前に、移行先の現行 Pal/Saved も日時付きで退避してください。
移行先で一度サーバーを起動すると、新しいワールドIDが作られることがあります。コピーしたワールドIDと Pal/Saved/Config/LinuxServer/GameUserSettings.ini の DedicatedServerName が一致しないと、空のワールドや新キャラクター画面になります。
注意: シングルプレイや協力プレイのセーブを専用サーバーへ移す操作は別物です。ホストのプレイヤーデータ変換が必要になる場合があるため、この手順で上書きしないでください。
よくある誤解
backup/world は日常の復元用ではない
Pal/Saved/SaveGames/<ワールドID>/backup/world/2026... と日時フォルダが大量に並ぶのは、bIsUseBackupSaveData=True によるゲーム内の自動バックアップです。
これは主に Level.sav などワールド側の世代管理です。日常的に使う復元先ではありません。
普段は palworld-full-*.tar.gz を選び、Pal/Saved 全体を1世代として戻します。ゲーム内の自動バックアップは、外部バックアップを取る前に壊れた場合の保険と考えてください。
場所は次で確認できます。
find ~/palworld/server/Pal/Saved/SaveGames \
-type d \( -iname backup -o -iname backups \) -print
「地図だけ巻き戻った」ように見える理由
地図の踏破状況やファストトラベルの解放は、Level.sav だけでなく、プレイヤーごとの保存データや LocalData.sav に分かれて保持されることがあります。
そのためワールド側とプレイヤー側を別の時点から戻すと、「拠点は新しいのに地図だけ古い」という状態になります。故障ではありません。
これを避けるために、Level.sav や Players を個別に戻さず、完全アーカイブで丸ごと同じ世代にそろえます。なお、クライアント側にだけ残る表示情報がある場合、サーバーの復元だけでは完全に一致しないこともあります。
まとめ
- バックアップも復元も、必ずサーバーを停止してから行う
- WinSCPで手元のPCへ落とす。サーバーの中だけでは保険にならない
- ワールドとプレイヤーデータは同じ時点の組で戻す。混ぜると不整合が出る
日々の運用(パスワード設定・更新・負荷の確認)は → Palworld専用サーバーの運用