マルチプレイ

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

※現在マルチプレイ時に画面が暗転する不具合があります。何か間違っている可能性があります。。

参考URL(サーバー、クライアント)

参考URL(ゲームルール)

参考URL(レベルXML)

更新履歴

サーバーの設定

ポート解放

ルーターの設定で、64090,64091のTCP,UDPのポートを解放する。LAN上でテストする場合は必要ありません。 ポート解放の仕方については各ルーターのマニュアルを参照してください。 ポートを解放しなくても接続できる模様(要検証)。

ファイアウォールの設定

Windowsのファイアウォールの設定で、dedicatedlauncher.exeを許可されたアプリ(プライベート、パブリック両方)に指定する。LAN上でテストする場合はプライベートのみ。

DLLのコンパイル

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 ロードするレベル名」と入力する。これでサーバーの準備は完了です。

クライアントの設定

FGの設定

※ドキュメントではチルダキーでコンソール画面を呼出し、connectコマンドを使ってサーバーに接続する方法しか紹介されていません。 それに近いのは、Debug:ExecuteStringノードでconnectコマンドを使い方法と思われます。 以下ではUI:Functions:MP:ConnectToServerノードを使っています。 これはは試行錯誤で見つけた方法なので間違っているかもしれません。

クライアントのFGは次のように設定します。IPとポート番号はGameSDK\ServerData.xmlから読み込みます。

ServerData.xmlの設定

ServerData.xmlにはサーバーのIPとポート番号を設定します。同一PC上でテストする場合次のように設定します。

<ServerData>
 <IP>localhost</IP>
 <Port>64090</Port>
</ServerData>

クライアントの起動

GameSDK.exeを起動し、上で設定したボタンをクリックでサーバーに接続します。

戻る

inserted by FC2 system