Files
Northbound/Assets/Scripts/NETWORK_CONNECTION_GUIDE_KO.md

5.4 KiB

네트워크 연결 기능 사용 가이드

에디터와 빌드 모두에서 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 활성화 확인