주의 사항:Photon TrueSync와 Thunder는 서비스 종료되었으며 앞으로도 업데이트 및 릴리즈는 없을 예정입니다. 기존 어플리케이션에 영향은 없습니다만 현재 개발중인 어플리케이션에 대해서는 마이그레이션을 장려합니다.

Photon 썬더 환경구성

환경구성 파일

이 파일은 썬더 패키지를 다운로드하고 임포트 한 이후 Resources 폴더에 있습니다. 썬더 프로젝트 동작에 필요한 모든 주요 환경구성이 들어가 있습니다.

환경구성 파일을 클릭하고 인스펙트 뷰로 이동하면 에디터 오른쪽에서 코드 필요없이 설정 값을 변경할 수 있습니다.

인스펙터 뷰내의 phton 썬더 환경구성
인스펙터 뷰내의 Phton 썬더 환경구성

주요 환경구성 필드들은 다음과 같습니다:

  1. Application ID: 여기에는 Photon 계정에서 생성했던 프로젝트의 앱 ID를 입력해야 합니다. 붙여만 놓으면 준비가 된 것 입니다.
  2. Hosting: 이 설정은 어떤 유형의 서버를 사용할지를 구성합니다.
  3. Photon Cloud: 이 모드에서 프로젝트는 플레이어간의 연결 관리를 위해 Photon 서버를 사용할 것 입니다. 이를 사용하여 모든 서버중에서 기본 지역을 선택할 수 있습니다.
  4. Self hosted: 이 옵션을 사용하여 나만의 Photon 서버를 사용할 수 있습니다. 호스팅 서버의 IP와 포트를 설정하시면 됩니다.
자체 호스팅한 서버 환경구성
자체 호스팅한 서버 환경구성
  1. Target Connection Type: 이 필드는 게임 인스턴스의 연결 용량을 구성하며 다음값으로 설정할 수 있습니다:
  2. Punch + Relay: 이 구성을 사용하면, 새로운 플레이어가 호스트에 접속할 때, NAT 펀치쓰루 프로세스가 수행되어 클라이언트와 호스트간 직접 연결을 생성합니다. 만약 이 단계가 실패한 경우에는 대비책인 Relay Only 연결 할 것 입니다.
  3. Relay Only: 데이터교환이 발생하는 연결은 Photon 서버를 릴레이서버로 사용하여 만들어지게 됩니다. 이 연결 유형은 직접 연결보다 더 느릴 수 있지만, 항상 동작하는 것을 보장합니다.
연결 유형 환경구성
연결 유형 환경구성

코드로 썬더 환경구성을 변경하는 방법은?

썬더 환경구성 에셋은 ScriptableObject이며 실행시에 매치메이커를 활성화 하기 전 모든 설정값들이 변경될 수 있습니다. 스크립트상에서 이 인스턴스에 대한 접근을 얻기 위해서는, 아래의 코드를 사용할 수 있습니다.

C#

using UnityEngine.Networking;

public class RuntimeCfg : MonoBehaviour
{
  private PhotonThunderConfig config;

  void Start()
  {
    this.config = PhotonUtils.getThunderConfig();
  }
}

거기에서 참조 인스턴스를 사용하여 설정을 변경할 수 있습니다:

C#

void Configure() {
  // Set your Application ID
  this.config.appId = "e0daaa07-3e6e-4637-b47a-369372992d81";

  // Use your own self hosted server or the Photon server
  this.config.useLocalServer = false; // true to use self hosted server

  // IF USING SELF HOSTED SERVER

  this.config.localServerIp = "192.168.0.10";
  this.config.localServerPort = "7076";

  // IF USING PHOTON SERVER

  // Use the Punch + Relay connection
  this.config.connectionType = PhotonThunderConnectionType.PUNCH_RELAY;

  // Set the default region used to manage the connections
  // You can change US to any other region on the Enum
  this.config.currentRegion = PhotonRegions.Regions.US; 

  // Use the Relay Only connection
  this.config.connectionType = PhotonThunderConnectionType.RELAY;
}
Back to top