【正式リリース対応】Linux(Ubuntu)で建てるパルワールドマルチサーバー!自動アップデート&バックアップ付

PalWorld

パルワールド(Palworld)の正式リリースを迎え、友達といつでも遊べる「常時稼働の専用サーバー(マルチサーバー)」を建てたいと考えている方も多いのではないでしょうか?

この記事では、Linux(Ubuntu)環境を使って、サーバーの構築から、24時間放置でも安心な「自動アップデート」「自動バックアップ」「自動起動(サービス化)」の設定までを、初心者向けにどこよりも分かりやすく解説します!

コマンドのコピペだけで初心者でも簡単にプロ並みの自動運用サーバーが作れますので、ぜひ最後まで挑戦してみてください。

そしてサーバー構築作業はSSH接続して作業をする前提で記事を書いています。もしまだSSH接続環境ができていない方はこちらのブログの冒頭で解説しています。

  1. サーバー構築の全体像と前提条件
    1. 全体ロードマップ
    2. 動作環境(推奨スペック)
  2. ステップ1:事前準備(システムの更新とユーザー作成)
    1. 1-1. システムのアップデート
    2. 1-2. 必要な依存パッケージのインストール
    3. 1-3. 32bit環境の有効化とライブラリ追加
    4. 1-4. 専用ユーザー「steam」の作成
  3. ステップ2:SteamCMDのインストール
    1. 2-1. リポジトリの追加とインストール
    2. 2-2. ユーザー環境へのリンク作成
  4. ステップ3:パルワールド・サーバーのインストール
    1. 3-1. ユーザーの切り替え
    2. 3-2. サーバーデータのダウンロード
    3. 3-3. 動作確認のための初期起動
  5. ステップ4:サーバーの自動起動設定(systemdサービス化)
    1. 4-1. サービスファイルの作成
    2. 4-2. サービスの有効化と起動
    3. 4-3. 起動状態の確認
  6. ステップ5:自動バックアップスクリプトの作成
    1. 5-1. バックアップ用フォルダの作成
    2. 5-2. バックアップスクリプトの作成
    3. 5-3. 実行権限の付与とテスト
  7. ステップ6:自動アップデートスクリプトの作成
    1. 6-1. アップデートスクリプトの作成
    2. 6-2. 実行権限の付与
  8. ステップ7:Cron(クーロン)による定期自動運用の設定
    1. 7-1. スクリプト全体の統括とサービスの安全な連携
      1. 設定の解説:
  9. ステップ8:ポート開放(ファイアウォール設定)
    1. 8-1. Ubuntu内のファイアウォール(UFW)を設定
    2. 8-2. ルーターのポート開放(重要)
  10. サーバーへの接続方法
  11. まとめ

サーバー構築の全体像と前提条件

まずは、今回構築するサーバーの全体的な流れを確認しておきましょう。

全体ロードマップ

  1. 事前準備(システムアップデートと必須パッケージの導入)
  2. SteamCMD(Steamのコマンドラインツール)のインストール
  3. パルワールド・サーバーデータのダウンロード
  4. サーバーの自動起動設定(systemdサービス化)
  5. 自動バックアップスクリプトの作成と自動化
  6. 自動アップデートスクリプトの作成と自動化
  7. ポート開放と接続確認

動作環境(推奨スペック)

パルワールドのサーバーは、ゲームの進行度や同時接続人数によってメモリ(RAM)を多く消費します。

  • OS: Ubuntu 22.04 LTS / 24.04 LTS 以上
  • CPU: 4コア以上(推奨)
  • メモリ: 16GB以上(快適に遊ぶなら32GB推奨)
  • ストレージ: SSD 50GB以上の空き容量

ステップ1:事前準備(システムの更新とユーザー作成)

セキュリティと安全な運用のために、まずはUbuntuシステムを最新の状態にし、サーバーを動かすための「専用ユーザー」を作成します。root(管理者)アカウントのままゲームサーバーを動かすのはセキュリティ上危険なため、必ず以下の手順を踏みましょう。

1-1. システムのアップデート

まずはUbuntuのパッケージリストを更新し、既存のプログラムを最新にします。ターミナルで以下のコマンドを1行ずつ実行してください。

sudo apt update && sudo apt upgrade -y

※ パスワードを求められたら、Ubuntuの管理者パスワードを入力してください。

1-2. 必要な依存パッケージのインストール

SteamCMDやサーバーの運用に必要なツール(glibcなどのライブラリや、バックアップで使うtarなど)をまとめてインストールします。

sudo apt install software-properties-common lsb-release wget curl jq ufw micro -y

※ここでは初心者でも扱いやすいテキストエディタ micro も一緒にインストールしています(nanoやviの代わりに使えます)。

1-3. 32bit環境の有効化とライブラリ追加

SteamCMDは32bitのライブラリを必要とするため、以下のコマンドを実行します。

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc-s1 lib32stdc++6 libatomic1 -y

1-4. 専用ユーザー「steam」の作成

パルワールド専用の実行ユーザー steam を作成します。

sudo adduser --disabled-password --gecos "" steam

ステップ2:SteamCMDのインストール

次に、Steamのゲームサーバーをダウンロードするための公式ツール「SteamCMD」をインストールします。

2-1. リポジトリの追加とインストール

Ubuntu公式のSteamCMDパッケージを利用するため、ライセンス同意を含む形でインストールを行います。

sudo apt-add-repository multiverse
sudo apt update
sudo apt install steamcmd -y

※インストールの途中で、Steamの利用規約(切替画面)が表示されます。キーボードの Tab キーを押して 了解 または OK を選択し、Enter を押して進めてください。

2-2. ユーザー環境へのリンク作成

先ほど作成した steam ユーザーが steamcmd コマンドを直接呼び出せるように、シンボリックリンク(ショートカット)を作成します。

sudo ln -s /usr/games/steamcmd /home/steam/steamcmd

ステップ3:パルワールド・サーバーのインストール

準備が整ったので、いよいよパルワールドのサーバーデータをダウンロードします。ここからは、先ほど作成した steam ユーザーに切り替えて作業を行います。

3-1. ユーザーの切り替え

sudo su - steam

※プロンプトの表示が steam@〜 に変わったことを確認してください。

3-2. サーバーデータのダウンロード

SteamCMDを使って、パルワールド専用サーバー(AppID: 2394010)をダウンロードします。

./steamcmd +force_install_dir ./PalServer +login anonymous +app_update 2394010 validate +quit

ダウンロードには数分〜数十分かかります。画面に Success! App '2394010' fully installed. と表示されれば成功です。

3-3. 動作確認のための初期起動

一度、手動でサーバーが起動するかテストします。パルワールドのサーバーディレクトリに移動して、起動スクリプトを実行してみましょう。

cd /home/steam/PalServer
./PalServer.sh

いくつかのログが表示され、エラーで強制終了しなければ起動は成功です。確認できたら、キーボードの Ctrl + C を同時に押して、一度サーバーを停止させてください。

ステップ4:サーバーの自動起動設定(systemdサービス化)

サーバーが突然の停電やメンテナンスで再起動した際、自動でパルワールドサーバーが立ち上がるように設定(サービス化)します。

これを行うために、一度 steam ユーザーから抜けて root(通常の管理者ユーザー)に戻ります。

exit

※プロンプトが元のユーザーに戻ったことを確認してください。

4-1. サービスファイルの作成

Ubuntuのシステム管理ツール(systemd)にパルワールドを登録します。エディタを使って設定ファイルを作成します。

sudo micro /etc/systemd/system/palserver.service

開いた編集画面に、以下の内容をそのまま貼り付けてください。

[Unit]
Description=Palworld Dedicated Server
After=network.target

[Service]
Type=simple
User=steam
Group=steam
WorkingDirectory=/home/steam/PalServer
ExecStart=/home/steam/PalServer/PalServer.sh -port=8211 -players=32 -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target

貼り付けが終わったら、Ctrl + S で保存し、Ctrl + Q でエディタを閉じます。

4-2. サービスの有効化と起動

作成した設定ファイルをシステムに認識させ、自動起動を有効にします。

# 設定の再読み込み
sudo systemctl daemon-reload

# 自動起動の有効化
sudo systemctl enable palserver.service

# サーバーの起動
sudo systemctl start palserver.service

4-3. 起動状態の確認

サーバーが正常にバックグラウンドで動いているか確認します。

sudo systemctl status palserver.service

画面に緑色の文字で active (running) と表示されていれば、バックグラウンドでの常時稼働に成功しています!

ステップ5:自動バックアップスクリプトの作成

ゲームのデータ(セーブデータ)が破損したり、トラブルが起きたときのために、毎日自動でバックアップを取る仕組みを作ります。

もう一度 steam ユーザーに切り替えて作業を行います。

sudo su - steam

5-1. バックアップ用フォルダの作成

mkdir -p /home/steam/backups
mkdir -p /home/steam/scripts

5-2. バックアップスクリプトの作成

スクリプトファイルを新規作成します。

micro /home/steam/scripts/backup.sh

以下のコードをコピーして貼り付けます。

#!/bin/bash

# 設定
BACKUP_DIR="/home/steam/backups"
SAVE_DIR="/home/steam/PalServer/Pal/Saved"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_PATH="$BACKUP_DIR/palserver_backup_$TIMESTAMP.tar.gz"

# 30日以上前のバックアップを削除(ディスク容量の節約)
find $BACKUP_DIR -type f -name "*.tar.gz" -mtime +30 -delete

# バックアップ処理
if [ -d "$SAVE_DIR" ]; then
    tar -czf "$BACKUP_PATH" -C "$SAVE_DIR" .
    echo "[$(date)] バックアップが正常に完了しました: $BACKUP_PATH"
else
    echo "[$(date)] エラー: セーブデータフォルダが見つかりません。"
fi

Ctrl + S で保存し、Ctrl + Q で閉じます。

5-3. 実行権限の付与とテスト

スクリプトをプログラムとして実行できるように権限を与え、実際に動かしてみます。

chmod +x /home/steam/scripts/backup.sh
/home/steam/scripts/backup.sh

/home/steam/backups の中に .tar.gz 形式のファイルができていれば成功です。

ステップ6:自動アップデートスクリプトの作成

パルワールドは頻繁にアップデートが行われます。サーバーとプレイヤーのゲームバージョンが異なると接続できなくなるため、毎日自動で最新版に更新するスクリプトを導入します。

6-1. アップデートスクリプトの作成

micro /home/steam/scripts/update.sh

以下のコードを貼り付けます。このスクリプトは、安全のために一度パルワールドのサービスを停止させ、アップデート後に再度引き上げる処理を行います。

#!/bin/bash

echo "[$(date)] パルワールドサーバーのアップデートチェックを開始します..."

# SteamCMDを実行してアップデート
/usr/games/steamcmd +force_install_dir /home/steam/PalServer +login anonymous +app_update 2394010 validate +quit

echo "[$(date)] アップデート処理が完了しました。"

Ctrl + S で保存し、Ctrl + Q で閉じます。

6-2. 実行権限の付与

chmod +x /home/steam/scripts/update.sh

ステップ7:Cron(クーロン)による定期自動運用の設定

ステップ5と6で作ったスクリプトを、Ubuntuの定期実行機能「Cron」を使って自動化します。

7-1. スクリプト全体の統括とサービスの安全な連携

アップデートを行うには、一度サーバーを安全に止める必要があります。これらを一元管理するため、一度 exit して root 側の Cron、または steam ユーザー側の設定を調整します。今回は一番シンプルな steam ユーザーのタスクスケジューラに登録します。

※ただし、サービスの停止・起動には sudo 権限が必要なため、一度 exit して通常の管理者ユーザーに戻ります。

exit

通常の管理者ユーザーで、システム全体のタスク(/etc/crontab など)または sudo crontab -e を利用して、夜間のメンテナンススケジュールを組みます。

sudo crontab -e

※初回起動時はエディタの選択を求められることがあります。使い慣れたもの、または 1 (nano) を選択してください。

ファイルの最下部に以下の内容を追記します。

# 毎日午前4:00に自動バックアップを実行
0 4 * * * /home/steam/scripts/backup.sh >> /home/steam/backups/backup.log 2>&1

# 毎日午前4:30にサーバーを安全に停止、アップデート、再起動
30 4 * * * systemctl stop palserver.service && /home/steam/scripts/update.sh >> /home/steam/backups/update.log 2>&1 && systemctl start palserver.service

設定の解説:

  • 午前4:00: 誰も遊んでいない時間帯を狙って自動でバックアップを取得。
  • 午前4:30: サーバーを一度停止させ、SteamCMDで最新版にアップデート。完了後、自動的にサーバーを再起動します。

これにより、完全ノンストップ・メンテナンスフリーのサーバーが完成します!

PalWorldは12時~13時くらいにアップデートが配信されるケースが多いので13時にスクリプトが動作するようにしておくのもオススメです

ステップ8:ポート開放(ファイアウォール設定)

最後に、外部にいる友達があなたのサーバーに接続できるように、ポートを開放します。パルワールドの既定ポートは 8211 (UDP) です。

8-1. Ubuntu内のファイアウォール(UFW)を設定

Ubuntu自体がポートをブロックしないように許可を出します。

sudo ufw allow 8211/udp
sudo ufw reload

8-2. ルーターのポート開放(重要)

ご自宅の回線でサーバーを公開する場合、ご家庭のルーターの管理画面を開き、以下の通りポートマッピング(ポートフォワーディング)を設定してください。

  • LAN内宛先IP: サーバーを構築したUbuntuのローカルIPアドレス
  • ポート番号: 8211
  • プロトコル: UDP

※レンタルサーバー(ConoHa VPSやXserver VPSなど)をご利用の場合は、各サービスの管理画面(コントロールパネル)にある「パケットフィルター」や「セキュリティグループ」の設定から UDP 8211 を許可してください。

サーバーへの接続方法

すべての準備が整いました!実際にパルワールドを起動して接続してみましょう。

  1. パルワールドを起動し、「マルチプレイに参加する(専用サーバー)」 を選択します。
  2. 画面最下部にあるIPアドレス入力欄に、構築したサーバーの情報を入力します。
    • 入力形式:[サーバーのグローバルIPアドレス]:8211
    • 例:123.45.67.89:8211
  3. 「接続」 ボタンを押すと、あなただけの専用サーバーへログインできます!

注意として、自宅などの同じネットワーク内から接続する場合はグローバルIPではなくローカルIPを入力して接続します。

まとめ

お疲れ様でした!これでLinux/Ubuntu環境におけるパルワールド専用サーバーの構築、および自動運用環境のセッティングはすべて完了です。
サーバーのゲーム設定等については設定しやすいツールを作りましたので下記ブログから活用していただければと思います。

【パルワールド】専用サーバー設定ファイル編集ツール Win/Linux対応

今回の設定により、

  • 万が一のサーバーダウン時も15秒後に自動復旧
  • 毎日午前4時にセーブデータを自動バックアップ(30日分保持)
  • 毎日午前4時半に最新パッチを自動適用して再起動

という、大手の公式サーバー並みの安定した環境が手に入りました。これで正式リリース後も、バージョンズレやデータ消失の心配をすることなく、仲間たちと心ゆくまでパルワールドの世界を冒険できます。

もし設定の途中でエラーが出たり、うまく接続できない場合は、コメント欄で気軽に質問してくださいね!

コメント

タイトルとURLをコピーしました