はじめに
本記事ではMonobit(Unity)を利用して簡単なクライアントサーバーシステムを作るための作業を、備忘録として残します。
サーバーとかよく分からん、クライアントサイドのことしか知らねーって人のために、サーバー構築から全て資料として残しておきます。
構成
サーバーのOSは、MUN2.0が対応しているものであれば、使い慣れたもので良いかと思います
AWSでサーバーを作る
基本的に下記の公式ドキュメントの通りに設定していきます。
以下に記載する内容は公式ドキュメントの内容をうすーくなぞっているだけなので、
ちゃんとやる気がある人は↓を読んでください(読みたくないからQiita見てるんだろうけど)
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html
1.AWSにログインする(アカウント作成は省略)
2.キーペアを作成する
キーペアとは、後に作成するEC2のインスタンスを起動する際に求められる認証用の鍵です。
キーペアを作成すると「~.ppk」という名前の秘密鍵がDLされます。
秘密鍵を無くすとインスタンスに接続できなくなるので、作った鍵は大切に保管しましょう。
3.セキュリティグループを作成する
セキュリティグループとは、後に作成するEC2のインスタンスのファイアウォールです。
4.EC2ダッシュボードよりEC2インスタンスを起動する
特に拘りがなければ「Amazon Linux 2」を選択
(とりあえず)無料利用枠の「t2.micro」でインスタンスを作成します。
後でインスタンスタイプは変更可能なので、インスタンスを作る際は石油王でなければとりあえずt2.microを選んでおけばおk
特に拘りがなければこのまま次のステップを押し続けてステップ6:セキュリティグループの設定まで進めます。
ステップ7で確認を求められるので「起動」を押下すると、キーペアの入力を求められるので、前のステップで作成したキーペアを選択します。
以上で、とりあえずAWS上にサーバーを立ち上げることができました。
サーバーの初期設定
お好きなSSHクライアントを使用して立ち上げたEC2インスタンスに接続します。
とりあえずここではPuttyを使用します(Puttyのインストール方法は割愛します)
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
サーバー接続設定
Puttyを起動して下記の通り設定する
接続に成功するとコンソールが開くので、下記の通り入力してEnter
おめでとうございます。これでサーバーにログインすることができました。
CUI(Vim)に慣れてない人は、こんなコンソール見せられても何したらええんじゃって感じだと思いますが、
良い機会です。Vimに慣れましょう。
VimのことはGoogle先生に聞けば色々教えてくれます。
流石にVimのことを説明するのはめんどいので、調べてください。
一応LinuxをGUIで動かせますが、本資料ではこのままVimで説明を続けます。
GUI化すると、とっつきやすくはなりますが、世の中の資料がたいていVimで説明されているので
初心者は逆に混乱しそうな気がします。
サーバーの初期設定
T.B.D.
MUN2.0のデプロイ
WinSCPを使用してMUN2.0のサーバープログラムをデプロイ(配置)します。
ルート権限がないとWinSCPからファイルのデプロイができないので、そのへんも合わせて下記の通り設定します。
あとは下記の資料の通り、MUN2.0のサーバープログラムをデプロイします。
http://www.monobitengine.com/doc/mun/contents/SetupServer/Prepare_Linux.htm#%E3%82%AA%E3%83%B3%E3%83%97%E3%83%AC%E3%83%9F%E3%82%B9%E7%89%88%20MUN%20%E3%82%B5%E3%83%BC%E3%83%90%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E5%B0%8E%E5%85%A5
パッケージのインストール**(C++,C#両方)**まで進めてください。
※重要※ 上記Monobitの資料中のfirewallの設定は2021/05/20時点で誤っています。
上記のポートを開放せよと書いてありますが、実際は/opt/mun/server/csharp/appsettings.json定義されているポート番号を開放する必要があります。公式資料の通りに設定してもクライアントからサーバーに接続することはできませんので注意してください(気づくのに丸2日かかりました)
また、今回AWS上にサーバーを立てたので、上記資料のポート開放の部分はAWSのセキュリティグループで設定します。
AWS上のセキュリティグループからインバウンドルールの設定を下記の通り追加してください。
下記はTCPとUDPを使う場合の設定例です。
サーバーサイドのビルド等
サーバーサイドプログラムのビルド・実行等は下記の資料の通り。
http://www.monobitengine.com/doc/mun/contents/SetupServer/Execute.htm
ここまでやればとりあえずサーバーサイドの準備は完了です。