+1 支持
(230 ポイント)
学生です。Monobit Unity Networkingを使用して通信協力プレイゲームを開発をしています。MUNクライアントアセットを使用して開発を進めていましたが途中、サーバーサイドでプレイヤーのパラメータを管理するオブジェクトが必要だと思いMUNサーバープログラムをダウンロード、サーバーサイド・チュートリアルを参考にしながら作成していたのですがUnityへの導入方法がわかりません。

導入方法がわかる方教えていただきたいです。もしくはMUNクライアントアセットのみでサーバーサイドでパラメータ管理をする方法がありましたら教えていただきたいです。

回答 1

0 支持
(1.4k ポイント)
選択
 
ベストアンサー

モノビットエンジンのサーバサイドプログラムの場合、「Unityクライアント(MUNクライアント)の一部機能(メソッドやパラメータなど)をMUNサーバ側に移植すること」をメインにしているようです。

ですので、Unityクライアントの一部機能を移植し、ルーム内においてクライアント共通の処理を記述すれば、特段Unityクライアント上で何かをする、という必要性はないと思います。唯一、MUNサーバで処理した結果をUnityクライアントで受け取るために、適宜、

「RPC を利用した、MUN サーバから MUN クライアントへの送信処理(サーバ側のMonobitEngine.MonobitNetwork.RPC() メソッドの呼び出し」

http://www.monobitengine.com/doc/mun/contents/FeatureServer/ServerSideProgram/Feature.htm#RPC%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B

を行ない、

【送信側(サーバ側)】

MonobitEngine.MonobitNetwork.RPC(ルームID, 受信側のオブジェクト上のMonobitViewのID, 受信側メソッド名, パラメータ群...) ;

【受信側(サーバ側)】

[MunRPC]

void 受信側メソッド名(受信側パラメータ群...)

{

 適切な受信処理
}

を記述する、しかないと思います。

もうちょっとだけ具体的な、例えば

 ・どういったパラメータを管理したいのか

 ・ベースとなるクライアントアセット

があれば、https://github.com/ でやり取りするなど、適切な方策について示すことはできるのですが、いかがでしょうか?

(230 ポイント)
回答ありがとうございます。コメントの返信が遅くなってしまい申し訳ありません。
新規プロジェクトにて貼っていただいたリンク先と他のリファレンスを見直しながら作り直したところ、公式のサンプル画像と同じ様な実行結果が得られました。
ご提案ありがとうございます。ただ、始めに質問したところはgithubによるやり取りは必要なさそうです。

続けての質問になってしまうのですが、現在サンプル通りに組み、Host Type:Self Serverにて実装が成功しているのですが、Host Type:Mun Test Serverの時に実行結果が得られる手法はあるのでしょうか?
(1.4k ポイント)
サーバサイドプログラムはSelf Serverのみ、だと思います。どこかの格安のサーバを借り受けるか、同一構内LAN環境内でサーバプログラムを動かすしかないのではないかと。
MunTestServerおよびMBE Cloudではカスタムしたサーバの設置はサポートしていないような気がします。

もしかすると運用方法はあると思いますが、多分この辺りは問い合わせ窓口( http://www.monobitengine.com/contact/ )に直接問い合わせないと、詳しいことは分からないと思います(ごめんなさい)。
(230 ポイント)
なるほど・・・現在どこかのサイト等で配布するという予定はないので、同一構内LAN環境でのサーバープログラムを視野に入れて組んでみようかと思います。
一度問い合わせてみます。ご丁寧に回答していただき、まことにありがとうございました。
...