KeepWorlds

パルワールド専用サーバーの立て方:構築からワールド設定まで

パルワールドの専用サーバーをゼロから構築する手順です。マシンの選び方、SteamCMD の導入、開けるポート、PalWorldSettings.ini で最初に変えるべき項目、セーブのバックアップとアップデートまで。ホスティングに任せた場合との違いも整理します。

同じメンバーで長く『パルワールド』を遊ぶなら、専用サーバーが前提になります。誰かがゲームを起動し続ける必要はなく、ワールドは 24 時間動き続け、拠点とパルは全員がログアウトしていても稼働します。この記事では、マシンの選定からサーバーの導入、ポート開放、最初に変えるべき設定、セーブの守り方までを一通り扱い、最後に「自分で運用する」場合と「任せる」場合のコストを比べます。

まずマルチプレイの方式を選ぶ

『パルワールド』のマルチプレイには 3 つの経路があり、それぞれゲーム内の入口が別で、できることも違います。つまずく方の多くは招待コードの経路を選んでしまい、ホストが落ちるとワールドも止まることに後から気づきます。

方式ワールドを動かすのはホストが終了すると上限人数向いている遊び方
招待コード / フレンドのワールドに参加ホストのクライアントワールドが停止4 人一晩だけ一緒に遊ぶ
同じ PC でホストホストの PCワールドが停止32 人ほぼソロ向け
専用サーバー独立したマシンワールドは動き続ける32 人固定メンバーで長く遊ぶ

専用サーバーの入口はタイトル画面の マルチプレイに参加する(専用サーバー) です。括弧の中が重要で、招待コードの経路からは専用サーバーには接続できません。クライアントの入力欄は1 つだけなので、203.0.113.10:8211 のようにアドレスとポートを続けて入力します。

必要なマシンのスペック

パルワールドのサーバーは CPU よりメモリを要求します。ワールドが重くなる原因は同時接続人数ではなく、ワールドに溜まった拠点とパルの数です。3 週目から重くなった、という場合はほぼこれに当たります。

同時接続CPUメモリディスク
2〜4 人2 コア8 GB30 GB
4〜8 人4 コア16 GB40 GB
8〜16 人4〜8 コア24 GB 以上60 GB

目安として次の点を押さえてください。

  • メモリは人数ではなくワールドの規模で見積もります。 同じ 4 人でも、1 か月遊んだワールドは新規のワールドより数 GB 多く消費します。
  • ディスクはセーブの増加とバックアップの分を空けておきます。 セーブ自体は小さくても、履歴を何世代か残したくなります。
  • コア数よりシングルコア性能です。 サーバーのメインループはコア数を使い切らないため、クロックの高いマシンのほうが体感が良くなります。
  • OS は Ubuntu 22.04 でも Debian 12 でも構いません。以下は Linux での手順です。Windows でも手順は同じで、設定ファイルのパスが WindowsServer に変わります。

自分で構築する:SteamCMD から初回接続まで

SteamCMD と依存パッケージの導入

サーバーは 32 bit ライブラリを必要とするため、Debian 系ではまず i386 アーキテクチャを有効にします。

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y steamcmd lib32gcc-s1 xdg-user-dirs

root ではなく、専用の一般ユーザーで動かすことをおすすめします。

sudo useradd -m -s /bin/bash palserver
sudo -iu palserver

サーバー本体のダウンロード

専用サーバーの App ID は 2394010 です。ゲーム本体(1623730)とは別物なので注意してください。

steamcmd +force_install_dir ~/palworld \
         +login anonymous \
         +app_update 2394010 validate \
         +quit

匿名ログインで問題ありません。サーバー側で Steam アカウントは不要で、手持ちのゲームのライセンスも消費しません。ただし接続する側は全員、自分の Steam でパルワールドを所有している必要があります。

一度起動して設定ファイルを生成する

cd ~/palworld
./PalServer.sh

ログに Setting breakpad minidump AppID が出てから十数秒待ち、Ctrl+C で止めます。この初回起動の目的は、既定の設定ファイルを展開させることだけです。

ワールド設定を編集する

実際に反映されるのはこのファイルです。

~/palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

初回起動で生成されるものは中身が空なので、既定値をコピーしてから編集します。

cp ~/palworld/DefaultPalWorldSettings.ini \
   ~/palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

この形式には落とし穴があります。すべての項目が OptionSettings=(...) の括弧内、1 行にカンマ区切りで並びます。改行は入れられず、文字列の値はダブルクォートで囲みます。編集前に必ず控えを取ってください。

必ず設定する項目は次のとおりです。

項目内容
ServerName一覧に表示されるサーバー名
ServerPasswordサーバーパスワード。空のままだと誰でも入れます
AdminPassword管理用パスワード。必ず設定してください。未設定だと管理操作が誰にでも通ります
ServerPlayerMaxNum人数上限。マシンが支えられる範囲に収めます
PublicPort公開ポート。既定は 8211
RESTAPIEnabled管理用 API を有効にするか。既定は無効

最初に調整しておくと快適な項目です。

項目既定値調整の目安
DeathPenalty全ロスト固定メンバーなら所持品のみに。1 回の事故で 1 人抜けかねません
ExpRate1.0週 2 晩程度のペースなら 1.5〜2.0 が合います
PalCaptureRate1.0図鑑を早く埋めたい場合は上げます
DropItemMaxNum3000ドロップ上限を下げるとワールドの負荷が軽くなります
AutoSaveSpan30 分10〜15 分に縮めると、事故のときの巻き戻りが小さくなります
bIsMultiplayFalse専用サーバーでは False のまま。これは同一 PC でホストする場合の項目です

保存してサーバーを起動し直せば反映されます。

ポートを開ける

ここを飛ばすと「サーバーのログは正常なのに誰も接続できない」という状態になります。最も多いつまずきどころです。

ポートプロトコル用途必須
8211UDPゲーム通信必須
27015UDPSteam クエリ(サーバー一覧)任意
8212TCP公式 REST 管理 API任意

間違いの大半は次の 2 つです。

  • 8211 は UDP であって TCP ではありません。 TCP だけ開けるとポートスキャンでは「開いている」と表示されるのに、ゲームからは接続できません。
  • クラウド上のマシンでは、事業者のセキュリティグループと OS のファイアウォール(ufw / firewalld)の両方を開ける必要があります。

管理 API についてもう 1 点。公式は REST API をインターネットに直接公開しないよう明確に警告しています。 利用する場合はプライベートアドレスにバインドするか、ファイアウォールで接続元を限定してください。またパルワールドの RCON は公式に非推奨とされ、将来的に動作しなくなることが告知済みです。RCON の設定を勧める古い解説は読み飛ばして構いません。

自動起動にする

手動で起動したサーバーは端末を閉じると止まります。systemd のユニットを用意します。

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

[Service]
Type=simple
User=palserver
WorkingDirectory=/home/palserver/palworld
ExecStart=/home/palserver/palworld/PalServer.sh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

/etc/systemd/system/palworld.service として保存し、次を実行します。

sudo systemctl daemon-reload
sudo systemctl enable --now palworld
sudo journalctl -u palworld -f

セーブデータの場所とバックアップ

セーブのパスは次のとおりです。

~/palworld/Pal/Saved/SaveGames/0/<WorldID>/

<WorldID> は 16 進数のディレクトリ名で、ワールドごとに 1 つ作られます。バックアップはこのディレクトリを丸ごとコピーするだけです。

稼働中のセーブをそのままコピーしないでください。 書き込み途中のファイルを取得してしまうことがあり、それが分かるのは復元しようとした日です。正しい順序は、先にサーバー側で書き出させる(停止するか、管理 API で強制セーブを実行する)、それからコピーする、です。

実際に機能するバックアップの形はこうなります。

  • 1 日 1 回、7 世代を保持する
  • アップデートの前に手動でもう 1 世代
  • サーバーと同じディスクには置かない

セーブの喪失は、この種のサーバーで唯一取り返しがつかない障害です。日付の入ったディレクトリ名と、戻せる履歴。どんなチューニングよりも価値があります。

アップデート後に誰も入れなくなった

クライアントは自動で更新されますが、サーバーは更新されません。公式がパッチを配信した瞬間、全員が接続画面で止まります。サーバーのバージョンが古いことが「突然全員入れなくなる」原因の第 1 位です。

手順は次のとおりです。

sudo systemctl stop palworld
# 先にセーブをバックアップしてから更新します
sudo -iu palserver steamcmd +force_install_dir ~/palworld \
     +login anonymous +app_update 2394010 validate +quit
sudo systemctl start palworld

バックアップが先、更新が後です。順序を逆にしないでください。

よくある質問

サーバー一覧に出てこないが、アドレス直打ちなら入れる。 よくある状態です。コミュニティサーバーの一覧はもともと不安定なので、アドレスを共有して直接接続してもらえば問題ありません。

数人入るとカクつく。 まずメモリが埋まっていないかを確認し、次にワールドの拠点数を見てください。抜けたメンバーが残した拠点を片付けると、フレームレートははっきり戻ることが多いです。

設定を変えたのに反映されない。 ほとんどの場合、編集したファイルが違います(Pal/Saved/Config/ の下ではなく DefaultPalWorldSettings.ini を編集している)。あるいはエディタが長い OptionSettings=(...) の行を折り返しています。

キック / BAN をしたい。 管理 API を有効にし AdminPassword を設定したうえで、対象は表示名ではなく userId を指定します。名前は変更できるためです。

自分で運用するか、任せるか

自分で構築する場合のコストは初日ではなく、その後の毎週にかかります。

自分で運用ホスティング
最初に立ち上げるまで30 分〜2 時間数分
公式アップデート手動で停止・更新・再起動こちらで対応
毎日のバックアップ自分でスクリプトを書き、復元も自分で検証自動、復元も可能
深夜に落ちた自分で起きて対応自動再起動と通知
ワールド設定の変更ini を編集して再起動Web のフォーム。変更後は自動で再起動
メモリ増設 / マシン変更入れ直し管理画面から操作

判断の基準はひとつです。毎週 2 時間をこれに使う気があるかどうか。 あるなら自分で構築する道は十分に現実的で、上の手順で足ります。ないなら、その 2 時間こそがホスティングサービスの中身です。

KeepWorlds が引き受けるのは右側の列です。ゲームとプランを選んでお申し込みいただくと、専有マシン上にサーバーが立ち上がります。他の利用者と共有しません。バックアップ、アップデート、利用期間のお知らせはこちらで対応いたします。起動後はコンソールマイサーバーから接続アドレス、接続人数、稼働状況をご確認いただけます。アドレスはワンクリックでコピーでき、ページ上の手順に沿って接続してください。

実際に使ってみて合わなかった場合は返金ポリシーに沿ってご対応します。その他のご質問は、各ページのサポート窓口からお問い合わせください。

他の言語で読む

自分で運用しない方法もあります

ゲームとプランを選ぶだけで、専有マシン上にサーバーが立ち上がります。バックアップ、アップデート、期限のお知らせはこちらで対応いたします。

対応ゲームを見る