概要
- Listen Serverもいいけど常時起動できる本格的なサーバーが立てたい!
- Dedicated Serverと言うらしいけど調べても建て方がいまいちわからない
- 個人の備忘録目的なので解説が雑です
やり方
- プロジェクト設定→マップ&モードを開く
- Default Mapsカテゴリ最下段のボタンを押して展開し、Server Default Mapをサーバー起動時のマップに指定する
- プロジェクトを保存し、プロジェクトフォルダを開く
- [プロジェクト名].uproject フォルダがある場所にてバッチファイルを作成する(ここでは ServerRun.bat)
- バッチの中身は下のように書き込み、保存する(UE4のバージョンや環境によってUE4Editor.exeへのパスが変わります、今回はCドライブにインストール64bit環境かつUE4.19の場合です)
cd /d %~dp0
"C:\Program Files\Epic Games\UE_4.19\Engine\Binaries\Win64\UE4Editor.exe" "%~dp0\[プロジェクト名].uproject" Game -server -game -log
- 作成したServerRun.batを起動するとDedicated Serverが立ち上がる
確認方法
- 正常にサーバーが立っているか確認するためサーバー接続用のマップを作成する
- BeginPlayやUMGのボタンやらにOpen Levelノードを仕込み、接続先のサーバーIPを指定する(ポートはデフォルトだと7777です)
3.接続ができ、サーバーが存在するマップへ遷移できれば問題ありません
まとめ
- ローカルマルチプレイヤーが主のゲームならListen Serverでも良いかもしれませんが、常時起動したり不特定多数のユーザーがアクセスするようなゲームを作るのであれば負荷や処理能力、作りやすさを加味してDedicated Serverを建てましょう!
- 今回は面倒でやらなかったですがスタンドアロンで動作するサーバーアプリケーションも作れるようです**(要UE4ソースコードからのビルド)**