구성과 선택 방법

relay·sync·stateMachine의 차이, 선택 방법, 개발 흐름

GS2-Realtime에는 룸의 서버가 무엇을 하는지에 따라 3가지 서버 타입이 있습니다. 이 페이지에서는 어떤 것을 선택할지, 그리고 선택한 후에 무엇을 만드는지를 설명합니다.

서버 타입

serverType서버가 하는 일게임 측에서 만드는 것적합한 게임
relay메시지를 지정한 플레이어나 전원에게 중계한다메시지 형식과 수신 후의 처리독자적인 통신을 자유롭게 설계하고 싶다
sync오브젝트의 상태를 전원에게 배포하고, 누가 변경할 수 있는지를 관리한다표시용 Prefab과 조작 처리위치나 상태를 공유하고 싶다
stateMachinesync의 기능에 더해, 등록한 룰로 오브젝트를 생성·갱신한다sync의 내용에 더해, C#으로 작성하는 룰적의 행동이나 HP, 배틀 진행을 서버에서 결정하고 싶다

stateMachine에서는 HP 계산이나 공격 가능 여부를 서버가 결정하므로, 클라이언트를 개조해도 결과를 변경할 수 없습니다. 여러 플레이어가 동시에 조작하더라도 서버가 순서대로 처리하므로, 전원에게 같은 결과가 표시됩니다.

선택 방법

Realtime 네임스페이스 설정의 serverType에서 선택합니다.

  • 독자적인 메시지를 참가자에게 전달하기만 하면 된다면 relay를 선택합니다.
  • 오브젝트의 위치나 상태를 공유하고 싶다면 sync를 선택합니다.
  • 그에 더해 적의 행동이나 게임 진행을 서버에서 관리하고 싶다면 stateMachine을 선택합니다.

relay의 사용 방법은 GS2-Realtime 소개를 참조해 주세요.

stateMachine 개발 흐름

순서만드는 것설명 페이지
1. 룰을 작성한다적의 생성, 조작 검증, 시간 경과 처리를 작성한 C#룸 정의 레퍼런스
2. 생성한다룰(GSL)과 Unity용 동기화 스키마생성과 등록
3. 등록한다GS2-StateMachine에 등록과 Realtime 네임스페이스 설정생성과 등록
4. Unity에서 표시한다Prefab, NetworkWorld, 접속 처리Unity 클라이언트

C#으로 작성한 룰은 GSL로 변환되어 룸 안에서 실행됩니다. C# 코드가 그대로 서버에서 동작하는 것은 아니므로, 사용할 수 있는 C#의 범위에는 제약이 있습니다.

페이지 안내

하고 싶은 것페이지
우선 전체를 한 번 동작시켜 보고 싶다튜토리얼: 서버에서 HP를 관리하는 적 만들기
Unity에서의 설정이나 API를 알아보고 싶다Unity 클라이언트
룰 작성 방법이나 상한값을 알아보고 싶다룸 정의 레퍼런스
C# 기술 형식(상태, Step, 사용할 수 있는 구문)을 알아보고 싶다C# 정의 레퍼런스
Photon(PUN2)에서 이전하고 싶다Photon에서의 이전 가이드