Palworld のサーバーを構築する
Published on 2024/01/24 , Last updated 2024/02/16Tags
概要
thijsvanloef/palworld-server-docker を使用して Palworld のサーバーを構築します。
前提条件
- Docker, Docker Compose が使用できる必要があります。
参考情報
サーバーの構築
Palworld のサーバーを構築します。
-
サーバーに必要なフォルダを作成します。
フォルダ名 備考 data Palworld データ用のフォルダ -
Docker Compose を参考に
docker-compose.yaml
を作成します。services
>palworld
>environment
でサーバーに参加できるプレイヤーの最大数、パスワードなどを設定することができます。詳細は Environment variables を参照してください。
version: "3.7" services: # https://github.com/thijsvanloef/palworld-server-docker palworld: image: thijsvanloef/palworld-server-docker:latest restart: unless-stopped container_name: palworld-server stop_grace_period: 30s ports: - 8211:8211/udp - 27015:27015/udp environment: # Environment variables https://github.com/thijsvanloef/palworld-server-docker?tab=readme-ov-file#environment-variables - PUID=1000 - PGID=1000 - PORT=8211 # Optional but recommended - PLAYERS=16 # Optional but recommended - MULTITHREADING=true - RCON_ENABLED=true - RCON_PORT=25575 - TZ=Asia/Tokyo - ADMIN_PASSWORD=adminPasswordHere - COMMUNITY=false # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD! # Enable the environment variables below if you have COMMUNITY=true # - SERVER_PASSWORD=worldofpals - SERVER_NAME=World of Pals # Editing Server Settings https://github.com/thijsvanloef/palworld-server-docker?tab=readme-ov-file#editing-server-settings - PLAYER_STOMACH_DECREASE_RATE=0.500000 # プレイヤーの空腹度の減少率 - PLAYER_STAMINA_DECREASE_RATE=0.500000 # プレイヤーのスタミナ減少率 - PAL_STAMINA_DECREASE_RATE=0.500000 # パルスタミナ減少率 - COLLECTION_OBJECT_RESPAWN_SPEED_RATE=0.500000 # 収集可能なオブジェクトの再生成間隔 - DEATH_PENALTY=None # デスペナルティ - BASE_CAMP_WORKER_MAXNUM=20 # ワーカーの最大数 - PAL_EGG_DEFAULT_HATCHING_TIME=1 # 巨大な卵を孵化させるのにかかる時間(h) volumes: - /Users/st-little/Documents/palworld/data:/palworld/
サーバーの起動/停止
-
コンテナを起動します。
docker-compose up -d
-
コンテナを停止します。
docker-compose down
-
コンテナを削除します。
docker-compose rm
サーバへ接続
クライアントからサーバーに接続する方法は 公式ドキュメント を参照してください。
サーバーの公開
Tunnel を構築して自宅サーバーを公開する方法 を参考にしてください。
次のように nginx を Palworld に読み替えてください。
Tunnel の構築
ファイアウォールの設定
Palworld 用のファイアウォールルールを作成します。
- 名前: palworld
- プロトコルとポート
- 8211/UDP
- 27015/UDP
Tunnel の設定
-
インスタンスの
ネットワーク タグ
にpalworld
を設定します。 -
インスタンスのポートを解放します。
sudo ufw allow 8211/udp sudo ufw allow 27015/udp
-
rathole の設定ファイル server.toml を作成します。
# server.toml [server] bind_addr = "0.0.0.0:2333" [server.services.palworld-game] token = "palworld-game-token" type = "udp" bind_addr = "0.0.0.0:8211" [server.services.palworld-query] token = "palworld-query-token" type = "udp" bind_addr = "0.0.0.0:27015"
-
rathole の docker-compose.yaml を作成します。
version: "3.7" services: # https://github.com/rapiz1/rathole tunnel: image: rapiz1/rathole restart: unless-stopped command: ["--server", "/app/server.toml"] tty: true ports: # rathole - 2333:2333 # Palworld Game - 8211:8211/udp # Palworld Query - 27015:27015/udp volumes: - /home/st-little/server.toml:/app/server.toml
自宅サーバーの公開
-
rathole の設定ファイル client.toml を作成します。
# client.toml [client] remote_addr = "myserver:2333" [client.services.palworld-game] token = "palworld-game-token" type = "udp" local_addr = "palworld:8211" [client.services.palworld-query] token = "palworld-query-token" type = "udp" local_addr = "palworld:27015"
-
自宅サーバーと Tunnel の docker-compose.yaml を作成します。
# docker-compose.yaml > services > tunnel tunnel: depends_on: - palworld image: rapiz1/rathole restart: unless-stopped command: ["--client", "/app/client.toml"] tty: true volumes: - /palworld/client.toml:/app/client.toml