네트워크 관리자를 사용하는 경우 클라이언트가 서버에 연결되면 플레이어가 기본적으로 추가됩니다. 플레이어는 지정된 게임 오브젝트로 나타냅니다. 자세한 내용은 플레이어 게임 오브젝트에 대한 Unity 문서를 참조하십시오. 플레이어 게임 오브젝트는 모두 Server 및 Client 인스턴스에 있습니다.
게임의 연결 상태에 따라 수신되는 콜백이 다릅니다. 네트워크 관리자 HUD에서 상태를 설정할 수 있습니다.
다음 세 가지 연결 상태를 사용할 수 있습니다.
Host: Host 모드에서 게임을 설정하려면 LAN Host(H) 를 선택합니다.
Client: Client 모드에서 게임을 설정하려면 LAN Client(C) 를 선택하고 서버 IP를 텍스트 필드에 입력하거나 StartClient()
API 함수를 사용합니다. 서버 IP는 동일한 로컬 네트워크에 있어야 하고 같은 컴퓨터에 연결하는 경우 “localhost”를 입력해도 됩니다.
Server: Server 모드에서 게임을 설정하려면 LAN Server Only(S) 를 선택합니다.
런타임 중에는 네트워크 관리자 HUD의 컨트롤을 Network Manager HUD 컴포넌트의 인스펙터 창에서도 사용할 수 있습니다. 컨트롤에 액세스하려면 Runtime Controls 를 클릭합니다.
섹션에서 설명하는 콜백은 NetworkBehaviour 클래스에서 정의되고 플레이어 게임 오브젝트에서만 호출됩니다. 게임 상태 설정에 대한 자세한 내용은 네트워크 관리자 사용: 게임 상태 관리를 참조하십시오.
일부 콜백을 사용하려면 여러 게임 인스턴스(예: 스탠드얼론 인스턴스 2개 또는 스탠드얼론 1개와 에디터에서 1개)가 실행 중이어야 합니다. 인스턴스는 같은 컴퓨터나 다른 컴퓨터에 있을 수 있지만, 모든 컴퓨터가 로컬 네트워크를 통해 연결되어 있어야 합니다. 매치메이커의 경우에도 작동 방식은 같지만, 인터넷을 통해서 컴퓨터를 연결할 수도 있습니다.
콜백을 받으려면 게임 인스턴스가 2개, 즉 Server 모드와 Client 모드로 실행되는 인스턴스가 1개씩 있어야 합니다. 콜백은 Server 인스턴스의 플레이어 게임 오브젝트에서만 호출됩니다.
콜백을 받으려면 Server 모드 인스턴스를 먼저 실행한 다음 Client 인스턴스를 시작합니다.
OnStartServer
OnRebuildObservers
(Start()
함수 호출됨)
콜백을 받으려면 게임 인스턴스가 2개, 즉 Server 모드와 Client 모드로 실행되는 인스턴스가 1개씩 있어야 합니다. 콜백은 Client 인스턴스의 플레이어 게임 오브젝트에서만 호출됩니다.
콜백을 받으려면 Server 모드 인스턴스를 먼저 실행한 다음 Client 인스턴스를 시작합니다.
OnStartClient
OnStartLocalPlayer
OnStartAuthority
(Start()
함수 호출됨)
콜백을 받으려면 에디터 또는 스탠드얼론 빌드 중 하나에서 Host 모드로 실행되는 게임 인스턴스가 1개 있어야 합니다. 콜백은 플레이어 게임 오브젝트에서만 호출됩니다.
OnStartServer
OnStartClient
OnRebuildObservers
OnStartAuthority
OnStartLocalPlayer
(Start()
함수 호출됨)
OnSetLocalVisibility
OnNetworkDestroy
콜백을 받으려면 게임의 스탠드얼론 인스턴스가 3개, 즉 Server 모드로 실행되는 인스턴스 1개와 Client 모드로 실행되는 인스턴스 2개가 있어야 합니다.
OnNetworkDestroy
콜백을 받으려면 아래 지침을 따라야 합니다.
Server 인스턴스를 시작합니다.
Client 인스턴스를 시작합니다.
두 번째 Client 인스턴스를 시작합니다.
두 Client 인스턴스가 모두 Server 인스턴스에 자동으로 연결되면 Client 인스턴스 하나를 중지합니다.
그러면 OnNetworkDestroy
가 남은 Client 인스턴스에서 호출되지만 Server 인스턴스에서는 호출되지 않습니다.