Skip to content

henry2craftman/OpenMultiplay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenMultiplay

Unity 엔진을 사용하여 개발된 TCP 기반 멀티플레이 슈팅 게임 프로젝트입니다.

📜 프로젝트 소개

본 프로젝트는 C# TCP 소켓 통신을 기반으로 하는 클라이언트-서버 구조의 멀티플레이 게임입니다. Unity로 제작된 클라이언트와 C# 콘솔 애플리케이션으로 제작된 서버로 구성되어 있습니다.

Unity 버전은 크게 중요하지 않으며, 다양한 환경에서 활용 가능합니다. 이 프로젝트는 누구나 자유롭게 사용하고 기여할 수 있습니다.

✨ 주요 기능

  • 실시간 멀티플레이 기능
  • TCP 소켓 통신 기반 클라이언트-서버 구조
  • 플레이어 이동 및 총알 발사 기능
  • 오브젝트 풀링을 활용한 총알 관리 (BulletPoolManager)

📁 프로젝트 구조

  • OpenMultiplay/: Unity 클라이언트 프로젝트 루트
    • Assets/: Unity 에셋 (스크립트, 프리팹, 씬 등)
      • Scenes/TCPClient.unity: 메인 게임 씬
      • Scripts/: 주요 클라이언트 스크립트
        • PlayerController.cs: 플레이어 입력 및 캐릭터 제어
        • ClientAsync.cs: 서버와의 비동기 TCP 통신 처리
        • Gun.cs, Bullet.cs: 총과 총알 관련 로직
      • Prefabs/: 게임 오브젝트 프리팹 (플레이어, 총알 등)
  • TCPServer/: C# TCP 서버 솔루션
    • ServerAsync.cs: 클라이언트 연결 및 데이터 송수신을 관리하는 핵심 서버 스크립트

🚀 실행 방법

1. 서버 실행

  1. TCPServer/TCPServer.sln 파일을 Visual Studio로 엽니다.
  2. 프로젝트를 빌드(Build)합니다.
  3. ServerAsync.cs 또는 ServerAsyncForUnity.cs를 시작 프로젝트로 설정하고 실행하여 서버를 시작합니다.

2. 클라이언트 실행

  1. Unity Hub에서 OpenMultiplay 프로젝트를 엽니다.
  2. Assets/Scenes/TCPClient.unity 씬을 엽니다.
  3. Unity 에디터의 재생(Play) 버튼을 눌러 게임을 실행합니다.

참고: 클라이언트가 서버에 정상적으로 접속하려면 ClientAsync.cs 스크립트에 설정된 서버 IP 주소와 포트 번호가 실행 중인 서버와 일치해야 합니다.

🎥 데모 비디오

연결 및 제어

연결 및 제어

접속 해지

접속 해지

About

TCP Server/Client Multiplay System using Unity(client) and Console(server)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published