ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [유니티]포톤클라우드 서버구축
    Development/Unity3d 2017. 2. 17. 02:50
    반응형



    개발환경

     개발툴

    유니티 5.5.1

     운영체제

    Windows 10 64bit

     테스트

    2017-02-16 









    오늘부터는 유니티로 서버를 구축하는 방법을 알아보고자 합니다.


    왜냐하면 올해 목표가 온라인 게임을 출시하는 것이기 때문이죠!! ㅎㅎ




    대부분 게임을 혼자서 개발할 때 가장 걱정하는 것이 바로 서버 비용일거라 생각합니다.


    집에 서버 설치해서 운영하기에는 관리가 잘 안될 것 같고 정전이라도 되면 큰일이죠 ㅎㅎ


    그래서 서버를 무료로 사용하는 방법이 없을까 찾던 중 포톤 클라우드(Photon Cloud) 서버를 발견하게 되었습니다.



    의외로 클라우드 서버가 많이 있더군요


    국내기업 넷텐션에서 개발한 프라우드넷, Cloud Bread, photon 등.. 


    그래도 국내에서 개발한 프라우드넷을 사용해봐야겠다 싶어서 회원가입을 했었습니다.


    개인,학생,5인 이하 기업에는 모두 무료로 서비스를 제공한다고 하더군요!! 그래서 매뉴얼대로 따라해보았습니다.


    그런데 이게 웬걸.. 오류가 발생하였고, 아직 유니티 최신버전에 대한 매뉴얼은 아직 안올라와 해결을 하지 못했습니다 ㅠㅠ


    결국 포기하고 포톤 클라우드서버를 사용해보기로 결정!! 다행히 한국어도 지원하고 있었습니다.


    * 저는 온라인 아케이드 게임을 만들 예정이기 때문에 '룸(Room) 기반' 서버인 포톤 클라우드 서버를 선택했습니다.


    (아래 부터의 글은 포톤 홈페이지 튜토리얼 페이지를 토대로 작성되었습니다. )

    https://doc.photonengine.com/ko-kr/pun/current/tutorials/tutorial-marco-polo




    1. 우선 회원가입 후 가입된 메일에서 인증(등록)합니다.

    https://www.photonengine.com/ko-kr/Photon





    포톤과 유니티를 연동하는 플러그인을 PUN(Photon Unity Networking)이라고 하는데 보시는 것처럼 무료버전과 유료버전이 있습니다.


    무료라서 최대 동접수는 20명까지 밖에 안됩니다 ㅠ 그래도 뭐.. 나중에 돈 벌리면 점차 늘리면 되는 것이니깐요 ㅋ




    2. 유니티를 실행한 뒤 Ctrl+9를 눌러 AssetsStore를 엽니다. 그리고 PUN을 검색합니다.


    PUN 무료버전 MultiPlayer를 눌러 다운받아 import 합니다.





    3. 내 프로젝트와 Photon을 연동합니다.



    우선 포톤을 import하면 아래와 같은 PUN Wizard창이 뜹니다.

    이 창에 나의 AppID를 입력한 뒤 'Setup Project'를 누르면 아래와 같이 프로젝트가 등록되었다는 메시지가 뜹니다.




    AppID는 포톤 관리사이트에서 확인할 수 있습니다.



    위 [관리화면으로 이동] 탭에서 Photon Realtime ~ 어쩌구를 클릭하면 아래화면처럼 애플리케이션 ID가 나오는데 이를 복사해서 PUN Wizard에 입력하면 됩니다.




    임포트가 완료되면 [Photon Unity Networking] - [Resources] 폴더 안에 있는 PhotonSserverSettings 파일이 있는데 아래처럼 생겼습니다.

    여기에 저는 지역을 아시아로 하고 프로토콜은 TCP로 지정하였습니다.


    그리고 여기에도 복사해두었던 AppID 를 동일하게 입력하고, Auto-Join Lobby를 체크해줍니다. (아래 스샷에는 체크해제되어있음)





    이로써 서버구축이 완료되었습니다~!! 


    자, 한번 테스트 해볼까요??



    4. 빈 오프젝트를 생성하고 소스를 작성합니다. (저는 예제대로 Scripts라고 하였습니다.)

    이 예제는 게임 내 채널에서 랜덤 방으로 접속하는 예제입니다.


    RandomMatchmaker.cs 라는 C# 스크립트를 만들고 다음과 같이 작성합니다.


    using System.Collections;

    using System.Collections.Generic;

    using UnityEngine;

    using Photon;


    public class RandomMatchmaker : Photon.PunBehaviour {


    // Use this for initialization

    void Start()

    {

    PhotonNetwork.ConnectUsingSettings("0.1");

    }


    void Update()

    {


    }


    void OnGUI()

    {

    GUILayout.Label(PhotonNetwork.connectionStateDetailed.ToString());

    }


    public override void OnJoinedLobby()

    {

    PhotonNetwork.JoinRandomRoom();

    }


      void OnPhotonRandomJoinFailed()

    {

    Debug.Log("Can't join random room!");

    PhotonNetwork.CreateRoom(null);

    }


    }


    빨간색으로 된 부분을 수정 및 추가해주시면 됩니다. 이렇게되면 서버와 연결을 시도하고, 클라이언트는 랜덤방에 접속하게 됩니다.





    왼쪽 상단에 'Joined' 보이시나요? 위 화면처럼 나타면 로비에 접속이 성공된 것입니다~! ㅎㅎ



    다음 예제도 기대해주세요~!


    [다음글]

    2017/02/22 - [Development/Unity3d] - [유니티]모바일 온라인 게임 제작기 #2 - 게임 로비 접속하기





    반응형

    댓글

Designed by Tistory.