Bolt 설정
Photon Bolt에는 여러 개의 설정이 있으며 Bolt Settings
창 (Bolt/Settings
)에서 구성할 수 있습니다.
다음은 이러한 설정의 목록입니다:
복제
시뮬레이션 속도: Bolt는 Unity의 FixedUpdate
속도를 Bolt Settings
에 지정된 Simulation Rate
로 자동 설정합니다. Bolt는 내부적으로 스크립트 실행 순서가 낮아서 먼저 실행되는 BoltPoll
구성 요소를 통해 FixedUpdate
에서 거의 완전히 실행됩니다. 이것은 ExecuteCommand
, SimulateController
, SimulateOwner
변환 외삽 및 FixedUpdate
를 사용하는 모든 것에 사용됩니다.
네트워크 속도: 네트워크 패킷 전송 간에 발생하는 시뮬레이션 틱 수를 결정합니다. 기본적으로 Bolt는 시뮬레이션 속도를 60으로 설정하고 네트워크 속도를 3으로 설정합니다. 이는 각 패킷마다 세 개의 고정 업데이트 틱이 있음을 의미합니다. 이는 기본적으로 초당 20개의 패킷이 전송되고 초당 60개의 Fixed Update 시뮬레이션 틱이 있음을 의미합니다.
최대 우선순위: 엔티티
와 속성
이 가질 수 있는 가장 높은 순위입니다.
Dejitter 버퍼 미사용: 체크하여 내부 Dejitter 버퍼 미사용.
Dejitter 지연: dejitter 민감도를 구성합니다.
Scoping 모드: Scoping 모드를 구성합니다. 상세 정보는 여기에서 확인해보세요.
인스턴스화 모드: Bolt 엔티티들의 인스턴스화 행동을 구성합니다. 서버 만
, 모두
(서버와 클라이언트), 그리고 프리팹 별
로 설정할 수 있습니다.
오버라이드 타임 스케일: Bolt를 활성화하면 유니티의 타임 스케일이 변경되면 자동으로 값 1(1)로 설정됩니다. 이 설정을 해제하지 않는 것이 좋습니다(예를 들어, 게임을 일시 중지하려면 Chronos
를 사용해야 합니다).
IEntityBehavior 쿼리, IPriorityCalculator 쿼리, IEntityReplicationFilter 쿼리: GameObjects내에서 컴포넌트들이 쿼리되는 방식을 구성합니다. 컴포넌트에서 수행할수 있습니다 (첫 번째 컴포넌트만 리턴됩니다), 컴포넌트 (동일한 유형의 모든 컴포넌트를 포함하는 목록이 반환됩니다.), 그리고 ComponentsInChildren (자식 내부에서도 검색할 수 있습니다).
연결
제한: 세션에서 허용된 최대 피어 수. 여기에는 서버 자체가 포함됩니다. 서버가 이 숫자에 도달하면 새 플레이어 연결이 자동으로 실패합니다.
타임아웃: 연결 제한 시간(밀리초)입니다. 이 시간이 지나면 원격 연결에서 응답이 없으면 피어의 연결이 끊어집니다. 서버 측에서는 이 시간 후 클라이언트가 삭제되고 클라이언트 측에서는 연결이 끊어집니다.
연결 타임아웃: 각 연결 시도 간의 시간 초과입니다. 클라이언트가 서버 응답에 대해 잠시 기다려야 하므로 이 매개 변수에 대해 대기 기간을 구성할 수 있습니다. 값이 낮다고 연결이 빠른 것은 아닙니다.
연결 시도 횟수: 연결이 실패하기 전에 시도한 총 연결 수입니다.
승인 모드: 클라이언트가 게임 서버에 연결할 수 있도록 게임 서버에서 사용하는 승인 모드
를 구성합니다. 기본적으로 모든 클라이언트를 승인하거나 수동
으로 설정한 후 각 연결을 개별적으로 처리할 수 있는 자동
으로 설정됩니다. 자세한 내용은 이 페이지에서 확인할 수 있습니다.
패킷 크기: 볼트 패킷의 MTU 크기(바이트)입니다. Photon Bolt는 UDP를 사용하고 조각화/재조립을 수행하지 않으므로 최대 크기는 UDP 자체의 MTU에 의해서도 제한됩니다.
클라이언트 연결 매트릭스: 서버와의 연결 매트릭스를 활성화합니다. 이 옵션을 활성화하면 Bolt Remote
창을 통해 일부 연결 통계를 확인할 수 있습니다(Bolt/Remotes
메뉴에서 엽니다).
Photon 서비스
App Id: Photon Cloud 어플리케이션 ID입니다. 클라우드 기능에 액세스하려면 Photon 관리 화면에 유효한 어플리케이션이 등록되어야 합니다.
지역: PhotonPlatform
을 사용하여 Bolt를 시작할 때 플레이어에서 연결을 시도할 영역입니다. 고정 지역
을 사용하지 않고 플레이어가 가장 가까운 지역을 연결하도록 하려면 옵션 메뉴에서 최적 지역
을 선택합니다.
NAT 펀치 쓰루 사용: PhotonPlatform
을 사용할 때 Photon Bolt의 NAT Punch 기능을 활성화합니다. 이 옵션을 활성화하면 Bolt는 클라이언트와 서버 간의 직접 연결을 설정하려고 합니다. 불가능한 경우 Photon Cloud를 사용하여 릴레이된 연결로 돌아갑니다.
룸 생성 타임아웃: Photon Cloud에서 세션 생성에 대한 타임아웃입니다. 서버로 시작할 때 다른 플레이어가 세션을 찾아 연결할 수 있도록 세션을 만들 수 있습니다.
룸 참여 타임아웃: 세션 참여에 대한 타임아웃입니다. 클라이언트로 시작하여 사용 가능한 세션을 찾아 게임 서버에 연결하여 세션에 참여하도록 시도할 수 있습니다.
지연 시뮬레이션
사용: 지연 시뮬레이션 기능을 사용합니다.
패킷 손실: 시뮬레이션된 패킷의 백분율입니다. 값이 높을수록 패키지가 삭제될 가능성이 높습니다.
핑: 각 패킷에 추가될 지연입니다. 두 개의 값으로 나뉩니다. (i) 평균 지연과 (ii) 지터(jitter)는 일반적인 지연을 넘어 각 패킷에 랜덤하게 추가된 변동입니다.
노이즈 기능: 시뮬레이션에서 사용하는 노이즈 발생기 기능을 선택합니다. 패킷을 삭제할지 여부를 테스트하고 특정 패킷에 임의의 추가 지연을 추가할 때 사용됩니다.
기타
DLL 모드: Bolt가 실행되는 현재 빌드 모드입니다, Debug
(with 로그 메시지와 좋은 성능) 또는 Release
(로그 없으며 최적 성능).
BoltEntity 설정 힌트 표시: 각 엔티티에 연결된 BoltEntity
컴포넌트에서 힌트 메시지를 활성화하여 각 매개 변수에 대한 자세한 정보를 제공합니다.
A2S Server 쿼리 사용: 서버 쿼리 요청에 응답하는 A2S 서비스를 사용합니다. 이 페이지에서 내용을 확인하실 수 있습니다.
A2S 서버 쿼리 포트: A2S 서비스 수신 포트.
로그 대상: Bolt 로그를 출력할 모든 출력 대상을 선택합니다.
디버그 정보 표시: 모든 Bolt 로그 메시지를 인쇄하는 게임 내 콘솔을 활성화합니다.
키 토글: 디버그 정보 콘솔을 켜거나 끄는 데 사용되는 키를 선택합니다.
표시 기본값: 디버그 정보
콘솔이 기본적으로 표시되는지를 선택합니다.
소스 공급자 통합을 사용: Unity에 연결된 Source Control System
과의 통합을 활성화합니다. Bolt는 컴파일을 수행하는 데 필요한 파일을 확인합니다. 이 주제는 유니티 전용 페이지에서 확인하실 수 있습니다.
컴파일러
경고 레벨: Bolt를 컴파일하고 사용자 DLL을 생성할 때 경고 메시지 레벨
을 선택합니다. 이 페이지에서 경고 수준
에 대해 자세히 볼 수 있습니다.
프리팹 모드: Bolt 프리팹들이 검색될 모드를 선택합니다. (i) 자동 스캔
Bolt가 모든 프로젝트 폴더를 스캔하여 프리팹을 찾아 등록하는 경우, (ii) 수동
스캔은 검색을 수동
으로 실행해야 하지만, Bolt 프리팹 창의 스캔 버튼을 사용하는 경우, (iii) 수동
이 될 수 있습니다.