専用サーバーのコンパイル

このページは4.10.2を対象としています。

更新履歴

参考URL

概要

専用サーバーとは、サーバーとしてのみ機能する.exe形式のプログラムです。 リッスンサーバーがクライアントも同時に実行されるのに対して、 専用サーバーはサーバーのみが実行されます。 専用サーバーはリッスンサーバーよりも立てるまでが難しいですが、クライアントが実行されないためその分の負荷がかかりません。 Unreal Engineでは専用サーバーをC++でコンパイルして使うことができます。 ただし、コンパイルするソースはUnreal Engine本体とは別にダウンロードしたものを使う必要があります。

1.Development Editor Win64のコンパイル

Editorで使うファイルをコンパイルする必要があります。 こちらのサイトを参考にしてください。 私はGitを使わずにDownload ZIPからダウンロードし、5.、6.、10.の手順は飛ばしました。 4.10.2をコンパイルすると、OpenGLCommands.cppでエラーが出ますが、2791行目のコメントを削除すると直るようです。

2.プロジェクトファイルのバージョンの変更

.uprojectファイルを右クリックし、「Switch Unreal Engine version ...」からコンパイルしたバージョンを選択します。 次に.uprojectファイルを右クリックし、「Generate Visual Studio project files」で.slnなどを作成します。 なお、C++ソースファイルを1つも追加していない場合は作成できません。 .uprojectファイルを開いて「ファイル -> 新規C++クラス...」で追加してください。

3.ターゲットファイルの作成

ターゲットファイルの作成の手順は次の通りです。 まず、このサイトから、 templateのソースコードをコピーして、 ファイル名を「プロジェクト名Server.Target.cs」として、 場所を「プロジェクト名\Source\」に保存します。 次に、ファイルの内容を「GameServerTarget」を「プロジェクト名ServerTarget」に置換、 「OutExtraModuleNames.Add("Game");」の行を「OutExtraModuleNames.Add("プロジェクト名");」に置換します。 それがすんだら、.uprojectを右クリックし、 「Generate Visual Studio project files」でソリューションへターゲットファイルを追加します。 .slnを単体で開いて手動で追加しても反映されないので注意してください。

4.Development Server Win64のコンパイル

.slnを開き、ソリューションエクスプローラーの「Games -> プロジェクト名 -> Source」に、 「プロジェクト名Server.Target.cs」が追加されていることを確認します。 構成マネージャーから「Development Server」「Win64」を選択しビルドします。 「プロジェクト名\Binaries\Win64\」に「プロジェクト名Server.exe」ができていれば成功です。

5.プロジェクト設定でマップを設定する

ゲームを起動時に最初に読み込まれるマップは、 「プロジェクト設定 -> Default Maps」で指定できます。 Game Default Mapがパッケージで最初に読み込まれるマップ、 Editor Startup Mapがエディターで最初に読み込まれるマップ、 Server Default Mapが専用サーバーで最初に読み込まれるマップと思われます。 Server Default Mapは▼をクリックして詳細設定を表示で表示できます。

6.ブループリントで接続する処理を作る

同一PC上でのサーバーへの接続はクライアントを起動してからチルダキーを押してコンソールを開き、 「open 127.0.0.1:7777」と入力します。 ですが日本語キーボードにはチルダキーがないので、 ブループリントで「Execute Console Command」ノードを使って接続する処理をあらかじめ作っておくといいでしょう。

7.プロジェクトのパッケージ化

プロジェクトを開いて「Windows(64ビット)」にパッケージ化します。 なお、プロジェクト設定の「プロジェクト -> パッケージ化 -> Project -> Full Rebuild」のチェックを外しておくと、 2回目からのパッケージ化を高速にできます。

8.サーバーの実行

プロジェクトの「プロジェクト名\Binaries\Win64\プロジェクト名Server.exe」を パッケージの「WindowsNoEditor\プロジェクト名\Binaries\Win64\」へコピーします。 そのまま実行するとウィンドウを表示せずバックグラウンドで実行します。 ウィンドウを表示するには、 ショートカットを作り、 ショートカットのプロパティのリンク先の最後に「 -log」をつけて実行します。

9.クライアントの実行

クライアントを実行しサーバーに接続しましょう。

戻る

inserted by FC2 system