はじめに
対象読者(Windows・Mac)/除外:Linux
Linuxでも可能ですが、今回はWindows・Macにフォーカスをあてて記述します。
前提条件
・DockerDesktopがインストールされている
→未インストール場合はこの記事を先に(https://qiita.com/zembutsu/items/a98f6f25ef47c04893b3)
・CPU≥4コア・RAM≥16GB・ストレージ≥8GB
望ましい
・VsCodeがインストールされている
全体の流れ
1.任意の場所にサーバー用ディレクトリ作成
2.docker-compose.ymlの定義
3.サーバー構築
4.ポートの開放
5.接続
6.ワールド設定と変更
1.任意の場所にパルワールド用のディレクトリ作成
場所は任意ですが今回はhomeディレクトリに作成します
# Windowsの人
cd %USERPROFILE%
mkdir palworld-server
# Macの人
cd ~
mkdir palworld-server
データ用ディレクトリの作成
# 共通
cd palworld-server
mkdir palworld
2.docker-compose.ymlの定義
VsCodeで開く
code .
ファイルを開いて以下を貼り付け
version: "3.8"
services:
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:
PUID: 1000
PGID: 1000
PORT: 8211
PLAYERS: 3
SERVER_PASSWORD: "※※※サーバーのパスワード設定※※※"
MULTITHREADING: true
RCON_ENABLED: true
RCON_PORT: 25575
TZ: "Asia/Tokyo"
ADMIN_PASSWORD: "※※※管理者パスワード設定※※※"
COMMUNITY: false
SERVER_NAME: "※※※好きなサーバー名設定※※※"
SERVER_DESCRIPTION: "サーバーの説明"
volumes:
- ./palworld:/palworld/
※がついている値は自分で設定してください
パスワードは強力なものをお勧めします
3.サーバー構築
起動 & 構築
docker compose up -d
停止(厳密には削除だがバインドしてるのでok)
docker compose down
4.ポートの開放
サーバー用PCのプライベートipを確認
# Windowsの人
ipconfig
# Macの人
ipconfig getifaddr en0
ルーター設定でポート変換
※設定手順は自分の使用しているルーターに依存します
今回はBUFFALOを例に出します。
以下の設定画面に遷移します、BUFFALO設定などで検索するとこのリンクが出てきます。
1.http://192.168.11.1/
2.ログインします、ルーター機器本体の裏にログイン用パスワードが記載されています
3.詳細設定→LAN→DHCPリソース
4.サーバーPCのプライベートIPアドレスを手動割り当てにして固定する
5.詳細設定→セキュリティ→ポート変換
6.画像のように設定
その1
LAN側のIPアドレスというのはプライベートipの事です
5.接続
接続は主に2パターンあります
内部ネットワーク内から接続
噛み砕くと、同じWiFiを使用している機器から接続する場合
サーバー用PCのプライベートip:8211
を入力
外部ネットワークから接続
噛み砕くと、お友達がオンラインで参加したい場合
パブリックip:8211
を入力
パブリックipはここで確認できます
https://www.cman.jp/network/support/go_access.cgi
※固定するようなプランに入っていない限りパブリックipは変動するので、DDNSの設定をお勧めします。この設定をしない場合毎回自分のパブリックIPアドレスを調べて友達に教える手間が増えます。
※セキュリティ対策としてファイアウォールの設定も別途お勧めします。
6.ワールド設定と変更
1.起動中なら停止
docker compose down
2.docker-compose.yml
のenvironment
に環境変数を追加します。
3.再構築
docker compose up -d
ここではよく使う値だけ紹介します。詳しくは記事の最後に添付しているgithubから
変数名 | 説明 |
---|---|
DIFFICULTY | ゲーム全体の難易度(0=Easy, 1=Normal, 2=Hard) |
EXP_RATE | 経験値取得倍率(例: 2.0 で経験値2倍) |
DAYTIME_SPEEDRATE | 昼間の時間経過速度倍率(例: 1.0 が標準速度) |
NIGHTTIME_SPEEDRATE | 夜間の時間経過速度倍率 |
PAL_CAPTURE_RATE | 捕獲成功率倍率(例: 0.5 なら半分の成功率) |
PAL_SPAWN_NUM_RATE | フィールド上のパル出現数倍率 |
ENABLE_FAST_TRAVEL | ファストトラベル解禁 (true /false ) |
IS_START_LOCATION_SELECT_BY_MAP | マップ上で開始地点を選択可能にする (true /false ) |
IS_MULTIPLAY | マルチプレイモードを有効化 (true /false ) |
IS_PVP | PvP(プレイヤー同士の戦闘)を有効化 (true /false ) |
使用しているDockerImage
github
以上
気が向いたら既存ワールドのデータ移行方法も追記します