このページはEaaSを対象としています。
※現在マルチプレイ時に画面が暗転する不具合があります。何か間違っている可能性があります。。
更新履歴
ルーターの設定で、64090,64091のTCP,UDPのポートを解放する。LAN上でテストする場合は必要ありません。
ポート解放の仕方については各ルーターのマニュアルを参照してください。
ポートを解放しなくても接続できる模様(要検証)。
Windowsのファイアウォールの設定で、dedicatedlauncher.exeを許可されたアプリ(プライベート、パブリック両方)に指定する。LAN上でテストする場合はプライベートのみ。
DedicatedLauncher.exe用にDLLをコンパイルする必要があります。 構成マネージャーでProfile Server Onlyを選択してコンパイルしてください。
※以下ではゲームルールにSinglePlayerを使っています。 TeamInstantActionでは誰かがログアウトするとサーバーが落ちてしまい、再びログインできなかったりする不具合があります。 SinglePlayerではそれらの不具合は発生しないようです。 ただし画面が暗転する不具合があります。 これはゲームが正常に開始されていないのかもしれません。 ゲームルールを修正することで解消するかもしれません。
スポーン、ダメージのなどを設定するものをゲームルールといいます。 ゲームルールはGameSDK\Scripts.pak\Scripts\GameRules\にあります。 ゲームルールにはSinglePlayer、InstantAction、TeamInstantActionなどがあります。 MMORPGではSinglePlayerに設定するのがよさそうです。 ゲームルールはサーバーのコマンドsv_gamerulesで設定できるように見えますが、それでは正常に適用されません。 レベルのフォルダにレベル名.xmlという以下の内容のファイルを作成すると適用できます。
<MetaData> <Gamerules value="SinglePlayer" /> </MetaData>またコンソール変数もいろいろ設定するのがよさそうです。 レベルのフォルダにlevel.cfgという以下の内容のファイルを作成すると設定できます。
g_minPlayersForRankedGame = 0 g_minplayerlimit = 0 g_roundlimit = 0 g_scoreLimit = 0 g_revivetime = 5 g_timelimit = 0 g_useNetSyncToSpeedUpRMIs = 1
正確にはまだわかりませんが、このページにあるファイルは同じである必要があるかもしれません。
DedicatedLauncher.exeを起動し、コマンドで「map ロードするレベル名」と入力する。これでサーバーの準備は完了です。
※ドキュメントではチルダキーでコンソール画面を呼出し、connectコマンドを使ってサーバーに接続する方法しか紹介されていません。 それに近いのは、Debug:ExecuteStringノードでconnectコマンドを使い方法と思われます。 以下ではUI:Functions:MP:ConnectToServerノードを使っています。 これはは試行錯誤で見つけた方法なので間違っているかもしれません。
クライアントのFGは次のように設定します。IPとポート番号はGameSDK\ServerData.xmlから読み込みます。
ServerData.xmlにはサーバーのIPとポート番号を設定します。同一PC上でテストする場合次のように設定します。
<ServerData> <IP>localhost</IP> <Port>64090</Port> </ServerData>
GameSDK.exeを起動し、上で設定したボタンをクリックでサーバーに接続します。