Terraria TShock 自動バックアップ設定の完全ガイド 2026年1月最新版

※本記事は2026年1月時点の情報に基づいて更新しています(料金やキャンペーン、アップデート状況は変動します)。

Terrariaサーバーの運営において、プレイヤーの建築物や進行状況を守るために最も重要な作業の一つがバックアップです。特にTShockサーバーでは、プレイヤーデータやワールドデータの損失は致命的な問題となります。本記事では、自動バックアップシステムの構築方法から、おすすめのサーバー選択まで詳しく解説いたします。

なお、Terrariaの大型アップデート(1.4.5系)が配信された場合、TShock側の対応状況によっては手順や注意点が増える可能性があります。アップデート直後は互換性(Terraria側のバージョンとTShock側の対応版)を必ず確認してください。

目次

TShockサーバーにおけるバックアップの重要性

TShock(Terraria Server Host)は、Terrariaの専用サーバー運用を強化するためのサーバーソフトウェア/管理基盤で、権限管理やコマンド、プラグインなどの拡張性を提供します。しかし、サーバーが停止したり、データが破損したりした際に、適切なバックアップがなければ数百時間の作業が水の泡になってしまいます。

バックアップが必要なデータ

  • ワールドファイル(.wld)
  • プレイヤーファイル(.plr)
  • TShockの設定ファイル(config.json など)
  • データベースファイル(tshock.sqlite など)
  • プラグインファイル(ServerPlugins など)

自動バックアップシステムの構築

自動バックアップは大きく分けて、(1) TShockの標準バックアップ機能を活用する方法、(2) OS側のcronでスクリプトを定期実行する方法、の2系統があります。まずはTShock標準機能+世代管理を整え、必要に応じてスクリプトを追加する構成が堅牢です。

TShock標準のバックアップ設定(config.json)

TShockにはバックアップ関連の設定項目が用意されています。たとえば、バックアップ間隔(分)や保存期間(日)などを設定できます。まずはここを正しく設定して、自動で世代が回る状態を作るのが最優先です。

{
  // 例:バックアップ関連(実際のキー名・意味はTShockのドキュメントに従ってください)
  // BackupInterval: バックアップ間隔(分)
  // BackupKeepFor: バックアップ保持日数
  // BackupFolder: バックアップ保存先
  // BackupFileName: バックアップ名の形式
  "BackupInterval": 360,
  "BackupKeepFor": 30,
  "BackupFolder": "tshock/backups",
  "BackupFileName": "{world}_{time}"
}

ポイントは、「頻度」「保存期間」「保存先」を明確化することです。標準バックアップだけでも、軽量サーバーであれば十分な堅牢性を確保できます。

cronを使用したスケジュール設定

Linuxサーバーでは、cronを使用して定期的なバックアップ処理(圧縮、クラウド転送、ログ整理など)を実行できます。以下のコマンドでcronの設定を行います。

crontab -e

基本的なcron設定例です。

# 毎日午前3時にバックアップ処理(圧縮や転送)を実行
0 3 * * * /home/terraria/backup_script.sh

# 6時間ごとにバックアップ処理を実行
0 */6 * * * /home/terraria/backup_script.sh

# 毎週日曜日の午前2時にフルバックアップ処理を実行
0 2 * * 0 /home/terraria/full_backup_script.sh

バックアップスクリプトの作成(例:停止を伴う確実バックアップ)

以下は「確実性重視」で、サーバー停止を伴ってファイル一式を固める例です。プレイヤーの少ない深夜帯など、メンテ枠で実行してください。常時稼働を重視する場合は、後述の「停止しない運用(標準バックアップ+転送)」を推奨します。

#!/bin/bash
set -eu

# パスは環境に合わせて修正
TSHOCK_PATH="/home/terraria/tshock"
BACKUP_PATH="/home/terraria/backups"
DATE=$(date +%Y%m%d_%H%M%S)

mkdir -p "$BACKUP_PATH/$DATE"

# 停止方法は運用に合わせて変更(systemd / screen / tmux 等)
# 例:pkillで強制停止は環境によっては推奨されません。可能ならサービス停止に置き換えてください。
pkill -f TShock || true
pkill -f TerrariaServer || true

# 取得したい対象をコピー(構成に合わせて取捨選択)
cp -r "$TSHOCK_PATH/ServerPlugins" "$BACKUP_PATH/$DATE/" 2>/dev/null || true
cp -r "$TSHOCK_PATH/tshock" "$BACKUP_PATH/$DATE/" 2>/dev/null || true
cp "$TSHOCK_PATH"/*.wld "$BACKUP_PATH/$DATE/" 2>/dev/null || true
cp "$TSHOCK_PATH"/*.plr "$BACKUP_PATH/$DATE/" 2>/dev/null || true

# 圧縮
cd "$BACKUP_PATH"
tar -czf "backup_$DATE.tar.gz" "$DATE/"
rm -rf "$DATE/"

# 起動方法はTShockの実行ファイル名/構成に合わせて修正
# 例(LinuxでTShock.Serverを直接起動する構成の一例)
cd "$TSHOCK_PATH"
./TShock.Server -config config.json &

# 古いバックアップの削除(30日以上)
find "$BACKUP_PATH" -name "backup_*.tar.gz" -mtime +30 -delete

echo "バックアップ完了: backup_$DATE.tar.gz"

停止しない運用(推奨):標準バックアップ+転送スクリプト

常時稼働を重視する場合は、TShock標準バックアップで生成されるバックアップ(例:tshock/backups配下)を、cronで定期的に圧縮・転送する運用が現実的です。サーバー停止を避けたい場合は、まずこちらを採用してください。

クラウドストレージへの自動アップロード

バックアップは「サーバー内に置くだけ」だと、サーバー障害時に一緒に失われるリスクがあります。最低でも1系統はオフサイト(クラウド)へ退避してください。

rcloneを使用したAmazon S3連携

rcloneは様々なクラウドストレージサービスと連携できるツールです。以下はS3連携の一例です。

# rcloneのインストール(公式の案内に従ってください)
curl https://rclone.org/install.sh | sudo bash

# 設定
rclone config

# 設定例(対話形式)
n) New remote
name> s3backup
Storage> s3
provider> AWS
access_key_id> YOUR_ACCESS_KEY
secret_access_key> YOUR_SECRET_KEY
region> ap-northeast-1

バックアップ(最新ファイル)をS3にアップロードするスクリプト例です。日付固定だと「生成したファイル名」とズレやすいので、最新のバックアップを拾う形にしています。

#!/bin/bash
set -eu

BACKUP_PATH="/home/terraria/backups"
S3_BUCKET="terraria-backups"

LATEST=$(ls -t "$BACKUP_PATH"/backup_*.tar.gz 2>/dev/null | head -n 1 || true)
if [ -z "${LATEST}" ]; then
  echo "アップロード対象が見つかりません"
  exit 1
fi

rclone copy "$LATEST" "s3backup:$S3_BUCKET/"

if [ $? -eq 0 ]; then
  echo "S3アップロード成功: $(basename "$LATEST")"
else
  echo "S3アップロード失敗"
  exit 1
fi

その他のクラウドストレージ連携

サービスrclone設定名特徴推奨用途
Amazon S3s3高い可用性と耐久性大容量バックアップ
Google Drivedrive無料枠があり導入しやすい小規模サーバー
Dropboxdropbox共有が簡単チーム運営
OneDriveonedriveMicrosoft環境と相性が良いOffice環境

バックアップの復元手順

緊急時の復元作業

データ損失が発生した場合の復元手順を確認しておきましょう。

  1. TShockサーバーの停止
  2. 破損したファイルの確認
  3. 最新のバックアップファイルの取得
  4. ファイルの展開と配置
  5. 権限の設定
  6. サーバーの再起動
# 復元手順例
# 1. サーバー停止(停止方法は運用に合わせて)
pkill -f TShock || true
pkill -f TerrariaServer || true

# 2. バックアップファイルの展開
cd /home/terraria/backups
tar -xzf backup_20260101_030000.tar.gz

# 3. ファイルの復元(展開されたディレクトリ名はバックアップに合わせて)
cp -r backup_20260101_030000/* /home/terraria/tshock/

# 4. 権限の設定
chown -R terraria:terraria /home/terraria/tshock/
chmod +x /home/terraria/tshock/TShock.Server 2>/dev/null || true

# 5. サーバー再起動(実行ファイル名・引数は環境に合わせて)
cd /home/terraria/tshock
./TShock.Server -config config.json &

TShockサーバーに最適なレンタルサーバー比較

Terrariaサーバーを安定して運用するには、適切なサーバー環境の選択が重要です。以下に、TShockサーバー運用で候補になりやすいレンタルサーバーを比較します(価格は契約期間やキャンペーンで変動します)。

ConoHa for GAME(Terrariaテンプレート)

ConoHa for GAMEにはTerrariaのゲームテンプレートが用意されており、マルチプレイ用サーバー構築を簡略化できます。TShockは運用方針により「後から導入(手動導入)」になるケースがあるため、テンプレート適用後にTShockを導入する流れを想定してください。

ConoHa for GAME

公式サイト:ConoHa for GAME(公式)

さくらのVPS

さくらのVPSは自由度が高く、TShockを自分で構築・運用したい方に向きます。料金・仕様は公式の「料金・仕様一覧」を基準に確認してください。

さくらのVPS

公式サイト:さくらのVPS(公式)

Xserver VPS(または XServer VPS for Game)

Xserver VPSは料金表やキャンペーンが明確に公開されており、長期契約で月額が下がる体系です。ゲーム向けの「XServer VPS for Game」も運用候補になります。最新の料金は公式の料金表・キャンペーン情報を確認してください。

Xserver VPS

公式サイト:Xserver VPS(公式)

関連する日本の解説YouTube(埋め込み)

以下は、今回の内容(Terrariaサーバー構築/cron/rclone)に関連する日本語解説動画です。

目次