WindowsでSteamCMDを使用したPalWorldのサーバ構築
一般の方ではちょっとわかりにくいSteamCMDを使用したサーバ構築の説明です
ただし、サーバを公開する関係上、自分のWAN側のIPアドレスは分かるようにしてください
一番最後に各社のポート開放方法へのリンクと自分のIPとポートを確認出来るサイトを載せてありますので参考にしてください
アクセスする人数が多い場合、PCに6コア以上のCPU,16GB以上のメモリ、SSD、ネット回線は1G以上の光回線をお勧めします
①.SteamCMDの導入
まず初めにSteamCMDをPCにインストールします
下記リンクよりダウンロードしてください
https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
ダウンロードできたらファイルをインストールしたい所へ解凍します
ここでは例として”D:\steamcmd”フォルダにします
②.SteamCMDの実行
”D:\steamcmd\steamcmd.exe”をダブルクリックして実行します
ここは各自解凍した先に入ってる”steamcmd.exe”を実行してください
インストールが開始されますので暫く待ちます
”Loading Steam API…OK”が表示され、”steam>”になりましたらインストール完了です
③.PalServerのインストール
その状態で”steam>”の後に以下のコマンドを打ち、PalServerをインストールします
以下の2個のコマンドを順に実行してください
login anonymous
app_update 2394010 validate
コマンドを順に打ち込み
すべてダンロードされ、また”steam>”の状態になりましたら起動用のリンクをデスクトップに作ります
デスクトップ上の何もない所で”右クリック>新規作成>ショートカット”を選び
項目の場所に入力します
今回の例だと以下のようになります
それぞれSteamCMDをインストールした先のフォルダにあります
”D:\steamcmd\steamapps\common\PalServer\PalServer.exe”
入力が済みましたら次へを押し、デスクトップ上にリンクを作成します
④.PalServerの実行
デスクトップにリンクが作れたら一度そのリンクをダブルクリックして実行します
以下の警告が出ますが許可を押し、Windowsから通信可能にします
すると以下のような画面になればとりあえず起動確認できましたので右上の”X”を押し、一旦ウインドウを閉じます
⑤.”PalWorldSettings.ini”のコピー
一度PalServerを実行すると、”DefaultPalWorldSettings.ini”が作成されます
今回の設定だと以下のフォルダにあるので
”D:\steamcmd\steamapps\common\PalServer\”
エクスプローラーでアクセスし
そこに”DefaultPalWorldSettings.ini”があるので
それを”PalWorldSettings.ini”に名前を変更します
次に名前変更した”PalWorldSettings.ini”を以下のフォルダに上書きコピーします
”D:\steamcmd\steamapps\common\PalServer\Pal\Saved\Config\WindowsServer”
⑥.”PalWorldSettings.ini”の設定
まずPalServerの設定を今後も変更しやすくするために、デスクトップへのリンクを張ります
デスクトップ上で新規作成>ショートカットを選び、今回の例だと
D:\steamcmd\steamapps\common\PalServer\Pal\Saved\Config\WindowsServer
を指定します
次へを押しデスクトップ上にリンクを作成します
次にフォルダを開き、”PalWorldSettings.ini”ファイルの上で
右クリック>編集
を選びます
”PalWorldSettings.ini”を開いたら編集します
各数値や設定を変えるのですがその際、むやみにエンターを入れて改行しないようにそのままで編集してください
☆解析した結果、標準値での内容☆
◎ 難易度=なし - 専用サーバーには無関係。
◎ DayTimeSpeedRate=1.000000 - 日中の持続時間を変更します。
◎ NightTimeSpeedRate=1.000000 - 夜の持続時間を変更します。
◎ ExpRate=1.000000 - 獲得する経験値を変更します。
◎ PalCaptureRate=1.000000 - パルを捕まえられる可能性。
◎ PalSpawnNumRate=1.000000 - パルがスポーンする頻度。
◎ PalDamageRate Attack=1.000000 - パルが与えるダメージの量。
◎ PalDamageRate Defense=1.000000 - パルが受けるダメージの量。
◎ PlayerDamageRate Attack=1.000000 - プレイヤーが与えるダメージの量。
◎ PlayerDamageRate Defense=1.000000 - プレイヤーが受けるダメージ量。
◎ PlayerStomachDecreaceRate=1.000000 - 空腹感が減少する速度。
◎ PlayerStaminaDecreaceRate=1.000000 - スタミナが減少する割合。
◎ PlayerAutoHPRegeneRate=1.000000 - 傷ついたときにHPが自動的に回復する速度。
◎ PlayerAutoHpRegeneRateInSleep=1.000000 - 睡眠中に回復するHPの量。
◎ PalStomachDecreaceRate=1.000000 - Palの空腹度が減少する割合。
◎ PalStaminaDecreaceRate=1.000000 - Palのスタミナが減少する割合。
◎ PalAutoHPRegeneRate=1.000000 - パルのHPがダメージを受けたときに自動的に回復する速度。
◎ PalAutoHpRegeneRateInSleep=1.000000 - 睡眠中におけるパルのHPの回復速度。
◎ BuildObjectDamageRate=1.000000 - オブジェクトへのダメージ。
◎ BuildObjectDeteriorationDamageRate=1.000000 - 構築されたオブジェクトが時間の経過とともに受けるダメージの量。
◎ CollectionDropRate=1.000000 - 木や岩などからアイテムが収集される速度。
◎ CollectionObjectHpRate=1.000000 - 破壊出来るワールドアイテムのHPの量。
◎ CollectionObjectRespawnSpeedRate=1.000000 - 木のようなオブジェクトが再生成される速度。
◎ EnemyDropItemRate=1.000000 - 敵のアイテムドロップ率。
◎ DeathPenalty=All - プレイヤーの死亡時にアイテムがドロップされるかを決定します。None,Item,ItemAndEquipment,All。
◎ bEnableAimAssistPad=True - PADでの照準アシストを有効または無効にできます。
◎ bEnableAimAssistKeyboard=False - キーマウでの照準アシストを有効または無効にできます。
◎ DropItemMaxNum=3000 - 一度にドロップできるアイテムの最大数。
◎ BaseCampMaxNum=128 - 一度に建設できる基地の最大数。
◎ BaseCampWorkerMaxNum=15 - キャンプに滞在できるワーカーPalの最大数。
◎ DropItemAliveMaxHours=1.000000 - ドロップされたアイテムが消えるまでの時間。
◎ bAutoResetGuildNoOnlinePlayers=False - True時にオンラインのプレイヤーがいない場合、ギルドは解散されます。
◎ bIsPvP=False - PvPの有効または無効にできます。
◎ bCanPickupOtherGuildDeathPenaltyDrop=False - 死亡時に他のギルドメンバーがアイテムを拾えるのかを有効または無効にできます
◎ bEnableFastTravel=True - ファストトラベルを有効または無効にできます。
◎ bIsStartLocationSelectByMap=True - ゲーム開始時の場所を選べるか有効または無効にできます。
◎ bEnableFriendlyFire=False - FFが有効または無効にできます。
◎ AutoResetGuildTimeNoOnlinePlayers=72.000000 - 非アクティブなギルドが解散されるまでの時間。
◎ GuildPlayerMaxNum=20 - ギルドプレイヤーの最大数。
◎ PalEggDefaultHatchingTime=72.000000 - パルの卵が孵化するまでにかかる時間。
◎ WorkSpeedRate=1.000000 - パルの作業速度。
◎ CoopPlayerMaxNum=4 - パーティー内のプレイヤーの最大数。
◎ ServerPlayerMaxNum=32 - サーバー上で許可される最大プレーヤー数 (上限は 32)。
◎ ServerName="" - サーバーの名前。
◎ ServerDescription="" - リストでサーバーを選択したときに表示される内容。
◎ AdminPassword="" - 管理者アクセスを許可するために使用されるパスワード。
◎ ServerPassword="" - 通常のプレイヤーが参加するために必要なパスワード。
☆以下まだ不明☆
◎ bIsMultiplay=False - マルチプレイの有効または無効?
◎ bEnableNonLoginPenalty=True - ログインしていない時間にペナルティ?
◎ bExistPlayerAfterLogout=False - ログアウト時にプレイヤーデータの削除?
◎ bEnableDefenseOtherGuildPlayer=False - 他のギルドプレイヤーから防御を行えるかどうか?
◎ bEnablePlayerToPlayerDamage=False - 追加のPvP設定?
◎ bEnableInvaderEnemy=True - 拠点襲撃?
◎ bActiveUNKO=False - うんこするかどうか?
この中で重要なのは、サーバの名前と開放用のポート番号です現状、パスワード設定すると不具合で直接IPを入力してもパスワード入力画面が出ないまま弾かれますので設定はしないほうが良いでしょう
※修正されました
ポート番号は解らなければそのままの8211でOKです
後は各自使用しているルーターでポート8211のUDPをポートマッピングします
※注)ポートの開け方や確認等は最後の⑨を参照してください
但しV6プラスを使用の方は使えるポートが限られてますので注意してください
サーバに使用しているPCのIPは固定したほうが良いです
それぞれ設定が完了したら上書き保存し、PalServerを起動して確認します
※注)設定ファイルでのポート指定はバグで機能していないのと、ロビーに表示するようにする、マルチスレッド対応化するために
”port=XXXX -publiclobby -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS”
の起動オプションを追加しましょう
RCONを使用する場合は以上のオプションに”-rcon”を足してください
上の画面が出れば正常です
後はゲーム側で実際にサーバにアクセスできるか確認します
マルチプレイに参加する(専用サーバ)を選び
試しに下部の欄に直接入力します
”IP:ポート番号”のフォーマットで打ち込みます(例123.123.12.34:5678)
サーバとゲームのPCが同一な場合は
”127.0.0.1:ポート番号”
でOKです
これで上手く繋がれば完了です
あとは細かいゲームサーバの設定を煮詰めていきましょう
⑦.管理者モードについて
”PalWorldSettings.ini”の中の”AdminPassword=”を設定する事によって管理者権限を与えられます
パスワードを設定後、ゲームサーバに入りゲーム画面でENTERキーを押し、チャット欄を開きます
そこで”/AdminPassword (設定したパスワード)”を入力してください
その状態でESCキーを押すと今ログインしているメンバー名とIDが表示されます
メンバーの名前の場所をクリックするとIDをコピー出来ます
各コマンドの後にCTRL+VキーでIDをペーストすると使いやすいです
☆以下コマンド一覧☆
/Shutdown (秒数) (メッセージ) メッセージを表示して指定した秒数が経過後にサーバーをシャットダウン
/DoExit サーバーを強制終了
/Broadcast (メッセージ) サーバー参加者に対してメッセージを送信
/KickPlayer (SteamID) 指定したSteamIDのプレイヤーをサーバーから切断
/BanPlayer (SteamID) 指定したSteamIDのプレイヤーをサーバーからBAN
/TeleportToPlayer (SteamID) 指定したSteamIDのプレイヤーの座標にテレポート
/TeleportToMe (SteamID) 指定したSteamIDのプレイヤーをコマンド実行者の座標へテレポート
/ShowPlayers 現在サーバーに参加しているプレイヤーを表示
/Info サーバーの情報を表示
/Save サーバーのセーブ
※注意❢❢
サーバプログラムを終了しても、完全にプログラムが終了していない場合がありますので、タスクマネージャーから確実に落とすことを推奨します
これに気が付かないでまた起動した場合、過度な負荷や保存データ整合性の不具合が起きる可能性があります
⑧.サーバのアップデートについて
アップデートが来たらサーバを落とし、速やかに②、③の項目を再実行して更新してください
ゲームとサーバのバージョンが違うと入れませんので気をつけましょう
⑨.ポートの開放と確認について
各社のやり方を参考にポート開放をしてください
◎Aterm
ポートマッピング(ポートの開放)の設定を行いたい (aterm.jp)
◎バッファロー
ポート開放の設定方法/アドレス変換の設定方法 | バッファロー (buffalo.jp)
◎エレコム
【LAN-】ポート転送(ポートフォワード)設定方法 (elecom.co.jp)
◎アイ・オー・データ
【IODATA】Wi-Fiルーターでポート開放する方法 | IODATA アイ・オー・データ機器
◎ASUS
[WiFiルーター] 仮想サーバー/ポートフォワーディングの設定方法 | サポート 公式 | ASUS 日本
◎tp-link
適切にポート開放出来ているか、下記のサイトで調べてみましょう
必ずサーバに使用するPCから行ってください
ちゃんと設定できている場合
Port 「ポート番号」 is open on 「IPアドレス」
と表示されます
以上、大まかにまとめましたが、急ぎの公開なので抜けている箇所があるかもしれません
今後もアップデート時に内容も変更する予定です
この記事が気に入ったらサポートをしてみませんか?