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