LoginSignup
9
9

More than 5 years have passed since last update.

photon server SDK + photon SDK Cocos2d-x( iOS SDK ) v4.0.0.5 でデモを動かす

Posted at

photon Server SDK を動かす

こちらのサイトを参考にさせて頂いております。
複数台構成でのPhoton Serverのインストール

  1. ダウンロード
    Download Photon Server SDKs から、photon server SDKをダウンロード
  2. exeをダブルクリックしてインストール
  3. Controllerの起動
    exeを実行すると、deployというフォルダが作成され、その中にphoton server sdk一式が入っています。
    その中にbin_Win32などのフォルダがあるので、自分の環境に合わせて選択し、PhotonControl.exeをダブルクリック
    すると、タスクトレイに輪っかのようなphotonのアイコンが表示されます。
  4. Defaultを起動して動作チェック
    アイコンをクリックするとメニューが出るので、
    Default -> Start as application をクリック
    しばらく待ってから、Default -> Run Testclient(Default) をクリック
    コマンドプロンプトが表示され、つながっている感じのログが出たら成功です。
  5. Photon serverの停止 Default -> Stop application をクリック
  6. ログをしっかり確認する
    Open Logs をクリックすると、BareTailが起動しログの確認をすることができます。
    状況確認するために必要になるので、起動しておいて損はないと思います。
    存在するログファイルの更新はしますが、新しく追加されたログは表示しませんので、
    足りないなーと思ったら、photonを動かしてから、Open Logsをクリックすると良いかと思います。
  7. LoadBalancingを動かす前に、ポートの開放
    手元に、すぐ書ける資料が無いので、一旦割愛。
    (windows firewallでしたら、photonのグループ設定をonにするだけで良いはずです。)
  8. game1、game2の設定
    photon server のロードバランス機能が初期設定されているので、それを利用します
    今回は、1台のマシンでmaster,game1,game2を動かします。
    deploy/Loadbalancing/GameServer1(or 2)/bin/Photo.LoadBalancing.dll.config を開き、
    MasterIPAddress、PublicIPAddressで、127.0.0.1となっている部分を、自分のマシンのIPに書き換えて保存
  9. LoadBalancingを起動して確認
    タスクトレイアイコン -> LoadBalancing(MyCloud) -> Start as application をクリック しばらく待ってから(または、BareTailでログを見て、サーバの起動が確認できてから) タスクトレイアイコン -> LoadBalancing(MyCloud) -> Run Testclient(LoadBalancing) をクリック
    Debugの時と同じく、コマンドプロンプトが表示され、テストが実行されます。
    いろいろログが出て、最後の行にこんなかんじのログが出ていればOKです

    MASTER: GameLIst event received. Currently: 5 Games visible
    [3052] Started game HOST_NAME(3052)5 with 3 clients

Photon SDK Cocos2dx-x v4.0.0.5 で先ほどのLoadBalancingに接続する

ダウンロード

Download Photon Server SDKs
iOS SDK v4.0.0.5 をダウンロードしました。

Demoを動かす

xcodeのインストールや設定は割愛します

  1. ダウンロードしたファイルを解凍
  2. Photon-iOS-Sdk_v4-0-0-5/Demos/demo_loadBalancing/iPhone/demo_iPhone_loadbalancing_cpp.xcodeproj をダブルクリック
  3. URLの設定
    109行目辺りの mLoadBalancingClient.connect();は、
    このままでは、本家のサーバにつないでしまいますので、以下の様に書き換え。
    mLoadBalancingClient.connect(L"YOUR_HOST_ID", ExitGames::LoadBalancing::ServerType::MASTER_SERVER);
  4. 実行
    これで実行すると先ほど設定したサーバとやりとりをして、部屋を作ったり、入ったりすることができます。

トラブルシュート

  1. エラーコード 1039, 1040, 1023 がでる
    原因はホストに繋ぐことができていないエラーです。
    だいたい以下の問題でした。
    ・IPが間違っている(ipのみで、ポートやhttpはいりません)
    ・サーバ側のファイアウォールは解除されていない
    ・photonserverは起動していない
    ・ネームサーバにつないでしまっている
     connectで、ipを指定しますが、defaultでは、ネームサーバにつないでしまいます。
     ExitGames::LoadBalancing::ServerType::MASTER_SERVER を指定しましょう。
9
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9