はじめに
このブログでは、EC2インスタンスでPalworld Serverを構築したプロセスを段階的に説明します

今回はEC2インスタンスを利用してPalworldサーバーを構築いたします。 外部のレンタルサーバーを利用して構築すると非常に簡単に構築できますが、 折角、色々学習しているところですのでAWSを使うことにいたしました。
VPCを準備する
VPCにアクセス

「VPCを作成」をクリック

VPCを設定する
・作成するリソース:VPCなど
・名前タグの自動生成:自動生成にして「PalworldServer」と入力。
※自動生成をOFFにするとVPC・サブネット等の名前を個別に入力することができますが、自動生成でもわかりやすい名前にしてくれるようです
・IPv4 CIDR ブロック:10.0.0.0/16
・IPv6 CIDR ブロック:IPv6 CIDR ブロックなし
・テナンシー:デフォルト
・アベイラビリティゾーン (AZ) の数:1

・パブリックサブネットの数:1
・プライベートサブネットの数:0
・ap-northeast-1aのパブリックサブネット CIDR ブロック:10.0.0.0/24
・NAT ゲートウェイ:なし
・VPC エンドポイント:なし
・DNS オプション:どちらもデフォルトでON

「VPCの作成」をクリック。
EC2インスタンスを準備する

インスタンスを起動する。
名前:わかりやすい名前を付けましょう。
Amazon マシンイメージ (AMI):Microsoft Windows Server 2022 Base

インスタンスタイプ
Palworldの推奨がメモリ16GB以上であるため、とりあえず m5.xlaege を今回はチョイスしました。

キーペア
「新しいキーペアの作成」をクリック
→キーペア名を入力して「キーペアを作成」をクリック

作成後に「〇〇.pem」というキーファイルがダウンロードされます。
このキーペアはインスタンスにアクセスするために必要なものですので、無くさないよう注意しましょう。
編集ボタンを押して、さきほど作成したVPC内に配置されるよう設定します。

VPC:さきほど作成したVPCを選択
・サブネット:上記VPCを選択したら自動選択される
・パブリック IP の自動割り当て
IPアドレスが毎回変わってもいいのでコストをかけたくない→有効化
IPアドレスを固定にしたい→無効化
※Palworldではログインする際、クライアントからIPアドレスとポートを指定することになりますので 費用は掛かりますがElasticIPを利用したほうが楽です。
セキュリティグループの作成
UDPポートの8211はPalworldで使用するため開放。
サーバへリモートデスク接続するためにRDP:3389を開放しておきましょう。

ストレージ
Palworldのアップデートにより容量不足にならないよう最初から多く見積もって30Gにしてあります。

ElasticIPを設定する

割り当てを実施。

作成したIPアドレスを選択し「ElasticIPアドレスの関連付け」を選択
・リソースタイプ:インスタンス
・インスタンス:作成したEC2インスタンスを選択
・プライベートIPアドレス:インスタンスを選択すると自動で表示されるためそれを選択 設定後、「関連付ける」をクリックしてください。

EC2インスタンスを起動する

RDPクライアントを選択し、パスワードを取得ボタンをクリック。

「プライベートキーファイルのアップロード」から、
先ほどダウンロードした「〇〇.pem」をアップロードし、パスワードを復号化をクリック

.ダウンロードリモートデスクトップファイルのダウンロードをクリックし、.rdpファイルを取得します。
サーバー構築する
リモートデスク端末にてEC2インスタンスへ接続

Directxをインストールする。
デスクトップに新規フォルダを作成し、任意の名前をつけます。(今回はDirectX_tempとしています。)
DirectX End-User Runtimes (June 2010)をダウンロードしたら、
directx_Jun2010_redist.exeを起動して先ほど作成したフォルダに展開します。
展開が終わったら、DXSETUP.exeを起動してインストールを行います。

VisualC++をインストールする
Visual C++ Redistributable 2015-2022をダウンロードしたら、VC_redist.x64.exeを起動してインストールを行います。

StearmCMDをインストールする。
Windows 用 SteamCMDをダウンロードします。
Cドライブ直下にsteamcmdフォルダを作成して、ダウンロードしたZipファイルを作成したフォルダ内に展開します。
コマンドプロンプトを起動してsteamcmdフォルダに移動します
>cd c:\steamcmd
続いて下記コマンドを実行して専用サーバーをダウンロードします。
>steamcmd +login anonymous +app_update 2394010 validate +quit
ダウンロードが完了したら、ダウンロード先のディレクトリへ移動します。
>cd .\steamapps\common\PalServer
サーバーを起動するには PalServer.exe ファイルを起動します。
>Palserver.exe

Windowsファイアウォールの設定
ファイアウォール設定画面を起動し、受信の規則をクリック後に新しい規則をクリックします。

ポートを選択し、次へ。

UDP、特定のローカルポートを選択し、8211と入力して次へ。

そのほかの設定は特に変えず、任意の名前をつけて設定完了となります。

接続確認
実際にゲーム内から接続をして動作確認をします。
マルチプレイに参加する(専用サーバー)から 「EC2のパブリックIPアドレス:8211」を入力して接続します。


キャラクリ画面へ進み、実際にゲームを開始できれば完了です。

おわりに
今回はEC2インスタンスにて構築しました。
コストの問題を考慮したらインスタンスは必要な時だけ動かしているに限ります。
自動起動、自動停止やEC2以外でも構築したいと思います。
それはまたどこかの機会に。
コメント