5분안에 Photon Server 시작하기
Photon 을 설치하고 시작 하는 것은 매우 쉽습니다. SDK에는 사용할 수 있는 바이너리가 있는데 5분안에 수행 할 수 있습니다
다음의 비디오를 통해서 Photon 을 어떻게 얻고 시작하는지 알 수 있습니다.
비디오에서 보여진것 과는 다르게 대부분의 클라이언트들(PUN, 로드 밸런싱)은 LoadBalancing(MyCloud) 설정이 필요하고 게임 서버 IP 주소를 설정해야 합니다. 아래를 보세요!
다운로드 및 압축 해제
Photon Server SDK는 웹페이지의 다운로드 페이지 에서 받을 수 있습니다.
중요: 다운로드된 zip 파일들은 압축 해제 전에 반드시 차단해제(unblock)을 해야 합니다. 상세한 정보는 이 링크를 방문하여 살펴 보시기 바랍니다.
Server SDK 는 자체 압축해제 실행 파일입니다. Server SDK에는 일부 압축툴에서 "신뢰할수없는" .dll 파일로 표기 됩니다(인터넷으로 부터 다운로드된 => bad )
서버 패키지를 원하는 곳에 압축 해제 할 수 있습니다 - 사전에 만들어 놓은 비어있는 폴더가 좋습니다. 압축을 해제 하면 몇개의 폴더들이 생기게 됩니다.
"deploy" 폴더에는 바이너리 파일들이 있습니다. 이 폴더는 Photon 실행에 필요한 것들이 있습니다. doc, lib 와 src-server (application) 폴더들은 개발에 필요 합니다.
Phton 시작
"deploy" 폴더에서 어플리케이션에 대한 폴더를 볼 수 있고(기본개념 참고) 일부 폴더가 "bin" 으로 시작합니다. 둘 중의 하나의 폴더로 들어 갑니다.
bin_Win32: Windows Vista 이상
bin_Win64: 64 비트 Windows Vista 이상
각각의 폴더에는 실제 Photon 실행파일이 있습니다. 커맨드 라인에 아규먼트를 주어 실행하거나 PhotonControl을 사용할 수 있습니다.
PhotonControl.exe를 실행하고 이 어플리케이션에 대한 Admin 권한을 확인 해 주시기 바랍니다. Admin 권한은 Photon 을 서비스로 설정하는 옵션에 필요 합니다.
기본적으로 우측 아래에 있는 트레이 아이콘을 살펴 보세요. 흰/회색 아이콘을 클릭하여 Photon 을 컨트롤 하는 메뉴를 오픈 합니다. Photon 인스턴스중에서 LoadBalancing (MyCloud) 을 고르고 “Start as Application” 을 선택 합니다. 이제 Photon 을 시작 한 것 입니다!
Photon 사용 준비가 완료 되려면 어플리케이션에 따라 몇 초가 걸릴 수 있습니다. Photon Control을 나가도 서버는 셧다운 되지 않습니다.
라이선스 파일 적용 전 까지는 Photon은 20 개의 동시 접속자로 제한하게 됩니다. 라이선스 페이지를 살펴 보세요.
Photon 인스턴스
Photon 은 "어플리케이션" 을 게임 로직으로 수행하는 것으로 설계 되어 있습니다. 어플리케이션은 클라이언트가 할 수 있는 것과 할 수 없는 것을 정의(예, 매치메이킹) 합니다. 어플리케이션은 다른 작업들과 협업하면서 수행 됩니다.
바로 사용 할수 있는 Photon 은 두개의 독창적인 어플리케이션 설정이 같이 있습니다.
- LoadBalancing (MyCloud) 은 Photon Cloud 와 PUN 이 호환되는 표준 설정입니다.
- MMO Demo 는 Photon 기반을 접목시킨 간단한 MMO 솔루션 어플리케이션 입니다.
"LoadBalancing (MyCloud)" 는 설정이 필요 합니다. 기본적으로 동일 머신에 있는 클라이언트에서만 동작 합니다. 로드밸런싱 설정은 아래를 참고 하세요.
LoadBalancing (MyCloud) 과 게임 서버 IP 설정
PUN 또는"LoadBalancing Api" 클라이언트들은 LoadBalancing (MyCloud)시작 하는 것이 좋습니다.
사실 이 설정은 두개의 분리된 Photon Application:Master Server 와 Game Server 를 시작하는 것입니다. 새로운 룸이 생성 되었을 때 Master Server 는 Game Server 를 선택할 것이고 거기에 있는 클라이언트를 선택한 Game Server 로 보내게 됩니다.
기본적으로 동일한 머신에 있는 클라이언트들만 Game Server 에 갈 수 있습니다. 시뮬레이션된 모바일 단말들 에서도 사전에 Game Server IP 설정이 없으면 룸을 생성할 수 없고 실패하게 됩니다.
PhotonControl 메뉴에서 "Game Server IP Config" 를 선택하세요. 호스트 머신의 IP 주소의 목록이 나올 것이며 "public" 또는 "local" 로 표기되어 나타납니다. 하나를 고르세요.
"Autodetect public" 엔트리는 Photon 이 실행 될 때 서버가 공개 인터넷 IP 를 감지하도록 하는 것 입니다.
local IP사용 의미는 로컬 네트워크 내에 있는 클라이언트만 접속 할 수 있다는 것을 의미 합니다. 인터넷상의 플레이어가 접속 하고 게임에 참가 해야 한다면 public IP 를 사용하세요. 서버가 LAN 에 있지만 클라이언트가 WiFi 를 사용한다면 서로 다른 네트워크 일 수 있습니다. 만약 클라이언트가 서버에 접속 할 수 없다면 라우터가 WiFi 와 LAN 간의 접속이 허용되어 있는지 확인 해 보시기 바랍니다. 모든 단말이 동일 IP 범위인지 체크 하시기 바랍니다.
고정 IP 가 아닌 이상 퍼블릭 IP 는 변경 될 수도 있다는 것을 염두에 두시기 바랍니다.
로컬 네트워크 IP 또는 퍼블릭 IP를 고르는 것에 관계없이 방화벽, 라우터와 스위치를 설정 해야 합니다. 아쉽게도 수 많은 종류의 하드웨어와 소프트웨어가 있기 때문에 여기에서 저희가 도와드릴 수 있는 부분이 없습니다. 가장 손쉽게 하는 설정에는 동일 스위치/라우터로 다수의 테스트 단말을 붙여 보는 것입니다.
게임 서버 IP 주소는 "Photon.LoadBalancing.dll.config" 라고 하는 파일에 저장됩니다. 또한 수동으로 편집 할 수 도 있습니다.
테스트 클라이언트 시작하기
Server SDK 는 테스트 클라이언트가 포함되어 있어 복수개의 클라이언트를 시뮬레이션 할 수 있고 부하를 발생 시킬 수 있습니다. PhotonControl 메뉴에서 시작 할 수 있습니다. 어플리케이션 설정의 마지막 메뉴 입니다 : "Run test client"
테스트 클라이언트는 간단한 콘솔 어플리케이션으로 클라이언트 세션을 시뮬레이션 하고 몇명의 플레이어를 가진 게임을 시뮬레이션 해 줄 것 입니다.
Photon Server 스크린샷: Test Client
라이선스 정보
PhotonControl은 시작 할 때 .license 파일의 값을 읽어 들입니다. 메뉴에서 "License Info" 항목을 선택하여 CCU, 만료일등을 메뉴에서 확인 해 보세요. .license 파일을 교체 하면 새로운 값을 얻기 위해서 PhotonControl 을 재시작 해야 합니다. 서버로그는 라이선스에 대한 기본 값들을 포함할 것 입니다. 라이선스 페이지를 살펴 보세요.