※本記事は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 S3 | s3 | 高い可用性と耐久性 | 大容量バックアップ |
| Google Drive | drive | 無料枠があり導入しやすい | 小規模サーバー |
| Dropbox | dropbox | 共有が簡単 | チーム運営 |
| OneDrive | onedrive | Microsoft環境と相性が良い | Office環境 |
バックアップの復元手順
緊急時の復元作業
データ損失が発生した場合の復元手順を確認しておきましょう。
- TShockサーバーの停止
- 破損したファイルの確認
- 最新のバックアップファイルの取得
- ファイルの展開と配置
- 権限の設定
- サーバーの再起動
# 復元手順例
# 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(公式)
さくらのVPS
さくらのVPSは自由度が高く、TShockを自分で構築・運用したい方に向きます。料金・仕様は公式の「料金・仕様一覧」を基準に確認してください。
公式サイト:さくらのVPS(公式)
Xserver VPS(または XServer VPS for Game)
Xserver VPSは料金表やキャンペーンが明確に公開されており、長期契約で月額が下がる体系です。ゲーム向けの「XServer VPS for Game」も運用候補になります。最新の料金は公式の料金表・キャンペーン情報を確認してください。
公式サイト:Xserver VPS(公式)
関連する日本の解説YouTube(埋め込み)
以下は、今回の内容(Terrariaサーバー構築/cron/rclone)に関連する日本語解説動画です。
バックアップ運用のベストプラクティス
3-2-1ルールの適用
データバックアップの基本原則である3-2-1ルールをTShockサーバーに適用します。
- 3つのコピー:オリジナル + 2つのバックアップ
- 2つの異なるメディア:ローカルディスク + クラウドストレージ
- 1つのオフサイト:遠隔地(クラウド)でのバックアップ
バックアップの世代管理
| バックアップ種類 | 頻度 | 保存期間 | 保存場所 |
|---|---|---|---|
| デイリーバックアップ | 毎日 | 7日間 | ローカル |
| ウィークリーバックアップ | 毎週 | 4週間 | クラウド |
| マンスリーバックアップ | 毎月 | 12ヶ月 | クラウド |
| アーカイブバックアップ | 年1回 | 永続 | 複数クラウド |
トラブルシューティング
よくある問題と解決方法
Q: バックアップスクリプトが実行されない
A: 以下の点を確認してください。
- スクリプトファイルの実行権限(chmod +x)
- cronの設定が正しいか(crontab -l で確認)
- スクリプト内のパスが正しいか
- ログファイルでエラーを確認
Q: バックアップファイルが大きすぎる
A: 以下の最適化を検討してください。
- 不要なログファイルの削除
- 圧縮率の調整(ただしCPU負荷に注意)
- 世代管理で古いバックアップを自動削除
- バックアップ対象(ログ等)の見直し
Q: サーバー停止中にプレイヤーが接続できない
A: 以下の対策を検討してください。
- バックアップ時間を深夜に設定
- プレイヤーへの事前通知
- 停止を伴うバックアップ頻度を下げ、標準バックアップ+転送に寄せる
- バックアップ時間の短縮(対象の絞り込み/転送の分離)
Q: クラウドストレージの容量が不足する
A: 以下の管理策を実施してください。
- 世代管理による自動削除
- 不要なファイルの除外
- 保存期間の最適化(週次・月次の設計)
- 複数のクラウドサービスの使い分け
まとめ
TShockサーバーの自動バックアップは、プレイヤーの貴重なデータを守るために欠かせない仕組みです。まずはTShock標準のバックアップ設定(config.json)を正しく構成し、cronで圧縮・転送・世代管理を補強することで、堅牢なバックアップ体制を構築できます。
サーバー選びでは、テンプレートで導入しやすいサービスを入口にしつつ、運用が安定してきたら自由度の高いVPS運用(構成管理、監視、ストレージ設計)へ移行するのも有効です。最終的には「復元テストを回しているか」が品質を決めるため、定期的に復元手順の確認も行ってください。
※バックアップシステムを構築した後は、定期的に復元テストを実施し、実際にデータが正常に復元できることを確認してください。

