5.4 KiB
5.4 KiB
네트워크 연결 기능 사용 가이드
에디터와 빌드 모두에서 IP 주소를 통해 서버에 접속할 수 있는 기능이 추가되었습니다.
새로 추가된 기능
1. 네트워크 연결 윈도우 (NetworkConnectionWindow)
GUI 기반의 전용 에디터 윈도우
사용 방법:
- 메뉴:
Window > Network > Connection Manager또는 단축키Ctrl+Shift+N/Cmd+Shift+N - 기능:
- 연결 모드 선택 (호스트/클라이언트/서버)
- 서버 IP와 포트 입력
- 연결 시작/중지
- 연결 상태 확인
- 연결 설정 저장/로드
2. 네트워크 연결 헬퍼 (NetworkConnectionHelper)
커스텀 인스펙터가 포함된 컴포넌트
사용 방법:
- 씬의 게임오브젝트에
NetworkConnectionHelper컴포넌트 추가 - 인스펙터에서 설정:
- 서버 IP (클라이언트 모드용)
- 포트 번호
- 자동 시작 옵션
- 인스펙터 버튼으로 제어:
- Start Host
- Start Server
- Start Client
- Disconnect
- 실시간 연결 상태와 네트워크 정보 확인
3. 네트워크 조인 UI (NetworkJoinUI)
인게임 UI로 IP를 통한 접속 지원 (에디터/빌드 모두 작동)
사용 방법:
- 메뉴에서
GameObject > Network > Create Network Join UI선택 J키로 UI 패널 토글- UI 버튼으로 접속:
- Join: 입력된 IP로 접속
- Host: 호스트로 시작
- Disconnect: 연결 종료
4. AutoHost 업데이트
에디터 모드에서 자동 호스트 시작 (설정 가능)
사용 방법:
AutoHost컴포넌트 확인- 설정:
Enable Auto Host: 자동 시작 활성화/비활성화Only In Editor: 에디터에서만 자동 시작 (빌드에서는 비활성화)
빠른 설정
방법 A: 퀵 설정 메뉴 사용 (추천)
Tools > Network > Quick Setup for IP Connection
이 옵션은:
- NetworkConnectionHelper 생성
- AutoHost 비활성화 (선택 사항)
방법 B: 수동 설정
Tools > Network > Create Connection Helper로 헬퍼 생성Tools > Network > Disable AutoHost로 자동 시작 비활성화
멀티플레이어 테스트 방법
1. 로컬 테스트 (같은 컴퓨터)
- 윈도우:
Window > Network > Connection Manager열기 - 인스턴스 1:
- 모드: Host 선택
- 포트: 7777 (기본값)
- "Start" 클릭
- 인스턴스 2:
- 모드: Client 선택
- IP: 127.0.0.1 또는 localhost
- 포트: 7777
- "Connect" 클릭
2. 네트워크 테스트 (같은 네트워크)
- 호스트 컴퓨터에서 로컬 IP 확인 (cmd에서
ipconfig실행) - 호스트:
- Connection Manager에서 Host 모드로 시작
- 클라이언트:
- Connection Manager에서 Client 모드 선택
- IP: 호스트 컴퓨터의 로컬 IP (예: 192.168.1.100)
- 포트: 7777
- "Connect" 클릭
3. 인스펙터로 테스트
NetworkConnectionHelper컴포넌트 추가- 인스펙터 버튼으로 호스트/클라이언트 시작
- 상태와 연결 정보 확인
연결 모드 설명
Host
- 서버와 클라이언트 모두 역할 수행
- 멀티플레이어 게임 호스팅
- 플레이어들이 당신의 IP로 접속
Client
- 기존 서버에 접속
- 서버 IP 주소 필요
Server
- 전용 서버 모드 (플레이어 없음)
- 전용 서버용
네트워크 정보 표시
모든 연결 방법에서 다음을 표시:
- 현재 모드 (호스트/클라이언트/서버)
- 연결 상태
- IP 주소와 포트
- 접속된 클라이언트 수
- 로컬 클라이언트 ID
팁
-
로컬 테스트:
127.0.0.1또는localhost사용- 같은 네트워크에서 테스트할 때 로컬 IP 사용
-
기본 포트:
- 기본 포트는
7777 - 연결 컴포넌트 설정에서 변경 가능
- 기본 포트는
-
방화벽:
- 네트워크 연결을 위해 포트 개방 필요
- Windows 방화벽이 연결을 차단할 수 있음
-
여러 에디터 인스턴스:
- Unity의 멀티플레이 툴 사용
- 또는 여러 빌드 실행
기존 시스템과의 호환성
새 기능들은 기존 시스템과 통합:
- 플레이어 스폰은
NetworkConnectionHandler가 자동 처리 - 연결 승인은
NetworkConnectionHandler가 담당 - 기존 멀티플레이어 시스템과 호환
- 기존 코드 수정 불필요
파일 목록
새로 생성된 파일
Assets/Scripts/NetworkConnectionHelper.cs- 네트워크 헬퍼 컴포넌트Assets/Scripts/NetworkJoinUI.cs- 인게임 연결 UIAssets/Scripts/QuickNetworkSetup.cs- 빠른 설정 스크립트Assets/Scripts/Editor/NetworkConnectionWindow.cs- 연결 관리자 윈도우Assets/Scripts/Editor/NetworkConnectionHelperEditor.cs- 헬퍼 커스텀 인스펙터Assets/Scripts/Editor/NetworkUIBuilder.cs- UI 생성 도구Assets/Scripts/Editor/QuickNetworkSetupEditor.cs- 빠른 설정 에디터 도구
수정된 파일
Assets/Scripts/AutoHost.cs- 설정 가능한 옵션 추가
문제 해결
연결 실패 시
- IP 주소와 포트 번호 확인
- 방화벽 설정 확인
- 같은 네트워크에 있는지 확인
- 호스트가 먼저 실행 중인지 확인
자동 시작 비활성화 방법
Tools > Network > Disable AutoHost선택- 또는
AutoHost컴포넌트의Enable Auto Host체크 해제
UI가 보이지 않을 때
J키 눌러 토글- 또는 인스펙터에서
NetworkJoinUI활성화 확인