Unity : マルチプレイ用ホストLinux用 Dedicated ServerをAWSで起動

広告:超オススメUnity Asset
  広告:超オススメUnity Asset

AWS にアカウントを作り、コンソールにサインイン後、EC2のダッシュボードに移動。インスタンスを起動で、Ubuntu(Ubuntu Server 22.04 LTS (HVM), SSD Volume Type)をセットアップし、SSHでアクセスできるようになっている前提です。

おおよその流れは

新規Unityプロジェクトを作成し(2022年12月14日Unity2022.1.20f1)、以下の手順でホストアプリとクライアントアプリの...

ここでMEMOした流れでLinux Dedicated Server ビルドを用意します。

AWSでの注意点として、以下2点。

  • IPを指定する際プライベートIPで起動
  • 指定したUDP番号を開ける

です。

IPを指定する際プライベートIPで起動

NetworkManager.Singleton.GetComponent().SetConnectionData(
    serverAddress,  // The IP address is a string
    portNum // The port number is an unsigned short
);

のserverAddressを指定する際に、パブリックIPではなく、プライベート IPv4 アドレスを渡して起動してやることです。パブリックIPの方だと起動時にシャットダウンします。

クライアントサイドからこのホストに接続するときは、パブリックIP(Elastic IP アドレスとして割り当て)の方を指定します。

指定したUDP番号を開ける

セットアップ直後では、どのUDPも接続できない状態になってます。インスタンスの概要画面の下に「セキュリティ」という箇所があり、「セキュリティグループ」(launch-wizardとか書かれてるリンク)をクリックしてインバウンドルールを用意してあげます。

「インバウンドのルールを編集」画面で「ルールを追加」し、「カスタムUDP」を選んで使用するポート番号を追加し、「Anywhere-IP4v」を指定して「ルールを保存」します。

これでEditorやスマホ端末などから接続可能になるかと思います。少なくともサーバー側はこれで受け入れ体制になってるはずなので、これでも繋がらない場合は、モバイル通信で試すとか、社内のWi-Fiの場合はネットワーク管理者に相談するなどしましょう。

スポンサーリンク