LoginSignup
1

More than 1 year has passed since last update.

Unreal Engine5の専用サーバーモードでTPSのテンプレートを動かす

Last updated at Posted at 2022-06-15

はじめに

とりあえず素人ながらUnrealEngine5を触ってみたいとなりサーバーを立てて見ました。今回のゴールは、TPSのテンプレートをAWSに立ててオンライン通信をするところまでです。

まず以下のリンクをとても参考にしたので興味のある方は一緒に読んでいただけると良いと思います。

環境

  • Windows11 21H2
  • UnrealEngine 5.0.2
  • Visual Stadio 2019 (UE5が推奨しているバージョンのため2019)

Epic LauncherからインストールしたUEだと専用サーバーはたてられない罠

実はEpicLauncherからインストールしたUnreal Enigineからだと専用サーバーをビルドできません。Epicのgithubからソースをダウンロードしてきてビルドする形になります。

まずは以下からEpicのgithub Organizationに参加しましょう。
Epicのサイト

それができたら以下のリポジトリが閲覧可能になるはずなので、クローンしてReadmeの手順通りにファイルを実行していけばビルド版のUEが使えます。
UEのソース

AWSなどに乗っけることも踏まえてLinuxでのクロスビルドをする想定があれば、この辺 からclangの推奨バージョンも入れておきましょう。自分は、UE 5.0.2を利用していたのでclang-13.0.1-basedを入れました。

TPSのテンプレートから準備していく

UEを開いてGames-ThirdPersonから今回のプロジェクトを作成します。C++版を選択する必要があるので注意です。

tpstemplate.png

サーバービルドターゲットをセットする

まずは、Games/Source配下に[ProjectName]Server.Target.csというファイルを[ProjectName].Target.csからコピー作成します。Visual Studio上でコピーしようとすると、この辺のエラーでどうでもいいつまりをするので、ファイルエクスプローラー上でコピー・リネームして、Add-ExistingItemっから追加するとスムーズでした。
visualstudio.png

UnrealEngineのチュートリアルどおりに進めていきDevelopment Serverでbuildをすると[ProjectName]Server.exeというファイルができるます。
このファイルを使ってローカルで稼働確認ができるので[ProjectName]Server.exeを使ってローカルでサーバーが起動できるか確認してみましょう。(詳細は公式参照)

developmentSever.png

プロジェクトをパッケージ化

ここまできたらplatform Content/Device Management でOSを選択します。自分は、AWSのブログを参考にm6g.mediumのインスタンスを使ったので、LinuxArm64を選択しました。BuildTargetをServerにしてPackage Projectを選択すればパッケージ化できます。パッケージ化を行う場所がUE5だと変わってしまっているようで、公式チュートリアルをみると若干迷います。

package.png

AWSに乗せてサーバーに接続してみる

パッケージ化したものをAWSのブログの通りに、zipで固めてサーバー上に送って実行用のshellを叩けばサーバーは立ち上がります。

あとはローカルマシンでゲームを立ち上げ、@を押下した後、「Open {サーバーのIPアドレス}」と打てば、TPSのチュートリアルの画面が映り、見事ゴールです!

駆け足でしたが自分が詰まったところのメモを中心に、以上で「Unreal Engine5の専用サーバーモードでTPSのテンプレートを動かす」が完了です。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1