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

 
 
 

Contributors