Unity PhotonServerV4構築からPUN2接続までの流れ

##自己紹介
こんにちはゆずです。@Yuzu_Unity
自分はUnityエンジニア・3DCGデザイナーの学生です。（軸はエンジニア　4年ほど…）
#はじめに
PhotonServerを構築し、ゲームを動かしてみたのでそれについての記事です
![image.png](https://www.photonengine.com/Content/img/nav-logo-photon.png)
#環境

お金 0円
電気代　???円

サーバー(固定グローバルIP)
・OS WindowsServer2019
・MB B250m
・i5 7600
・DDR4 8GB

PhotonServer v4.0.29.11263

クライアント
Unity2019.1f1
PUN2

#PhotonServer構築手順
###ライセンスファイルダウンロード
https://www.photonengine.com/ja-JP/Server/pricing
Photonにてアカウントを作成後
無料ライセンスを発行し、保存します。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308905/f8df75eb-1eba-9488-3653-e1d65b8d9834.png)
「メールアドレス.Photon-vX.free.100-ccu.license」
というライセンスファイルがダウンロードされます。後で使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308905/a98862ab-2da8-7338-3538-7d6358896c1f.png)


###PhotonServer4を下記リンクにてexeをダウンロードします。

https://www.photonengine.com/ja-JP/sdks#server-sdkserverserver
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308905/b4fd6b0a-da52-9117-2fed-281cf373d15e.png)

###exeファイルを開きインストール
インストールしたい場所に展開します。
今回はC直下に置きました。
![aa.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308905/d7b7b03e-d4c3-e280-8762-1b67e5918186.png)
###ライセンスファイルを配置
展開後「Photon-OnPremise-Server-SDK_(バージョン)」フォルダが作成されます。
Photon-OnPremise-Server-SDK_(バーション)\deploy\bin_Win64を開くと(64bit版使用)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308905/108c7fa5-4153-f0dc-65a7-9cfa1f5df9f7.png)
このようになっています。
ここに先程ダウンロードしたライセンスファイルを配置します。

###サーバーを起動
ライセンスファイルを配置したフォルダ内にある
PhotonControl.exeを起動します。
Lisence infoが下記のようになっていればライセンスが通っています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308905/1c70e730-573a-4cb8-6931-49a28cad031c.png)

次にサーバーをグローバルにするかローカルにするかの設定を行います
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308905/c212699e-d8c5-4e3c-b246-b3bdb5293c23.png)
最後にStart as applicationでサーバーを開始します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308905/20d6f257-69d9-a66d-3cee-b6865c6e8c73.png)

サーバー構築完了です。
ファイアーウォール等が設定されていなければ設定しましょう。
ローカルであればLoadBalancingのRun Testclientでテスト実行できます。
connecting to (ip:port)が表示されれば成功です。

###ポート開放
PhotonServerで使用されるポート番号は
PhotonServer.configファイルで定義されています。
UDP 5055/5056
TCP 4530/4531等…
クライアント側で使う接続方式のポートを変更、及び開放を行ってください。

#クライアント側(Unity PUN2)
Unityにてプロジェクトを作成後、PUN2をダウンロードしインポートします。
https://assetstore.unity.com/packages/tools/network/pun-2-free-119922

PhotonServerSettingsの赤丸部分をサーバーの設定に合わせ変更します。
![dddd.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308905/5cfd580f-c59b-4fd9-84e9-b2c6b2e9362c.png)


以上で動くことができます。
テスト
<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">PhotonServer建てたのでテスト<br>RPCで弾同期<br>Unity2019.1<br>PUN2 <a href="https://t.co/wq9f7YbjMG">pic.twitter.com/wq9f7YbjMG</a></p>&mdash; ゆず (@Yuzu_Unity) <a href="https://twitter.com/Yuzu_Unity/status/1141774603456356357?ref_src=twsrc%5Etfw">2019年6月20日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

上記ゲーム実行時（10接続）
CPU使用率3％ほど
メモリもほとんど食わない
ネットワークは500kbpsほど

#参考サイト
https://qiita.com/pollenjp/items/38ae66aa1aac684b46ea
https://connect.unity.com/p/pun2deshi-meruonraingemukai-fa-ru-men-sono1
https://doc.photonengine.com/ja-jp/pun/v2/getting-started/pun-intro

#最後に
ビルドなしで簡単に構築ができるのでとても良い…
MUNも試してみたがなぜかWin64ビルド通らない…(C#)