Skip to content

devkentz/OpenMatchAgonesSample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open Match & Agones 통합 샘플 프로젝트

이 프로젝트는 Google의 오픈소스 매칭 프레임워크인 Open Match와 Kubernetes 기반 게임 서버 호스팅 플랫폼인 Agones를 결합하여 확장 가능한 멀티플레이어 게임 매칭 시스템을 구현한 샘플입니다.


🏗 아키텍처 개요

시스템은 .NET 9.0 기반의 마이크로서비스 아키텍처로 구성되어 있으며, gRPC를 통해 서비스 간 통신을 수행합니다.

  • LobbyServer: 플레이어의 매칭 요청(RequestMatch) 수신 및 매칭 상태(GetMatchStatus) 조회 담당
  • MatchDirector: 매칭 사이클(Cycle)을 관리하며 Open Match Backend에서 생성된 매치에 대해 Agones Allocator를 호출하여 실제 게임 서버를 할당함
  • MatchFunction: 실제 매칭 로직이 실행되는 컴포넌트로, 대기 중인 티켓들을 풀(Pool)에서 조회하여 그룹화함
  • GameServer: Agones Fleet에 의해 관리되는 실제 게임 로직 서버 (gRPC 기반의 간단한 채팅 및 플레이 커맨드 구현)
  • Shared: 각 서비스에서 공통으로 사용하는 모델 및 유틸리티 클래스

🛠 기술 스택

  • Runtime: .NET 9.0 / .NET 8.0
  • Frameworks: Open Match, Agones
  • Communication: gRPC (Protocol Buffers)
  • Containerization: Docker, Docker Compose
  • Orchestration: Kubernetes (k8s)

📁 프로젝트 구조

  • src/
    • LobbyServer/: 유저 진입점 gRPC 서비스
    • MatchDirector/: 매칭 엔진 중재 및 서버 할당기
    • MatchFunction/: 매칭 알고리즘 구현체
    • GameServer/: 샘플 전용 게임 서버
    • Shared/: 공통 데이터 모델 및 라이브러리

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published