• toc {:toc}

Notice

Computer Networks ๊ธ€์€ ๊ฒฝํฌ๋Œ€ํ•™๊ต ์†Œํ”„ํŠธ์›จ์–ด์œตํ•ฉ๋Œ€ํ•™ ์ด์„ฑ์› ๊ต์ˆ˜๋‹˜์˜ [์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ CSE302] ์ˆ˜์—…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

Game Server

  • Dedicated server : ์ง์ ‘์ ์ธ ์ž…์ถœ๋ ฅ ์—†์ด ๊ฒŒ์ž„์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•œ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๊ฒŒ์ž„๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•ด ํด๋ผ์ด์–ธํŠธ์™€ ๋ถ„๋ฆฌ๋œ ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ๋˜์–ด์•ผ ํ•œ๋‹ค.

Master Server

image

  • Master Server : ๋ชจ๋“  ๊ฒƒ์ด ์—ฐ๊ฒฐ๋˜๋Š” ์„œ๋ฒ„์˜ ํ•œ ์ข…๋ฅ˜์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฒŒ์ž„ ์„œ๋ฒ„, ํ˜น์€ ๋‹ค๋ฅธ ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐํ•œ๋‹ค.
  • ์ฆ‰, ๋งˆ์Šคํ„ฐ ์„œ๋ฒ„๋Š” ์—ฐ๊ฒฐ๋˜๋Š” ๋ชจ๋“  ๊ฒƒ์— ๋Œ€ํ•ด ์•Œ๊ณ  ๋‹ค์–‘ํ•œ ์ผ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์–ด๋–ค ๊ฒŒ์ž„ ์„œ๋ฒ„๊ฐ€ ์ž‘๋™ ์ค‘์ธ์ง€
    • ๊ฒŒ์ž„ ์„œ๋ฒ„์— ์œ ์ €๋ฅผ ํ• ๋‹น
    • ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ ๊ฒŒ์ž„์„ ํ”Œ๋ ˆ์ดํ•  ๋•Œ ์„œ๋กœ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋„๋ก ์กฐ์ •
  • ๋กœ๊ทธ์ธ, ์ธ์ฆ โ†’ Session Layer

Game Server

image

  • Game Server : ์‹ค์งˆ์ ์œผ๋กœ ๊ฒŒ์ž„ ๋กœ์ง์„ ๊ตฌํ˜„ํ•œ ์„œ๋ฒ„
  • ์ฃผ๋กœ ๊ฒŒ์ž„ ์„œ๋ฒ„๋“ค์€ 2๊ฐ€์ง€ ํŠน์ง•์„ ๊ฐ–๋Š”๋‹ค.
  1. ํฐ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ์†Œ๋น„ : ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ, ๊ฐ์ฒด์˜ ์›€์ง์ž„ ๋“ฑ ๋Š์ž„ ์—†์ด ๋™๊ธฐํ™” ๋˜์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŠธ๋ž˜ํ”ฝ์„ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.
  2. ๋†’์€ CPU ์‚ฌ์šฉ : ๋ฌผ๋ฆฌ ์—ฐ์‚ฐ์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— CPU ์—ฐ์‚ฐ์„ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

Peer-to-Peer

  • ์„œ๋ฒ„๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ๊ฒŒ์ž„ ์ปจํ…์ธ ๋ฅผ peer ๋ผ๋ฆฌ ์„œ๋กœ ์ฃผ๊ณ  ๋ฐ›๋Š” ํ˜•ํƒœ๋ฅผ ๋งํ•œ๋‹ค.

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ์†๋„๋ฅผ ์ค„์ด๋Š” ๋ชฉ์ ์œผ๋กœ ์‹ค์‹œ๊ฐ„ ์ „๋žต ๊ฒŒ์ž„์—์„œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ํ˜•ํƒœ๋กœ ํ”ํžˆ ์‚ฌ์šฉ๋œ๋‹ค.

  • P2P๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉด์„œ ์„œ๋ฒ„์˜ ๋ถ€๋‹ด์€ ๋œ์–ด์ง€๊ฒŒ ๋œ๋‹ค.

  • ๋‹จ์ 

  1. ๋ชจ๋“  peer๋“ค์ด ์„œ๋กœ ๋™๊ธฐํ™”๋˜๊ธฐ ๋งค์šฐ ์–ด๋ ต๋‹ค.
  2. ์ƒˆ๋กœ์šด peer๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์„ ๋•Œ ์ง€์›ํ•˜๊ธฐ ๋งค์šฐ ์–ด๋ ต๋‹ค.
  3. ๊ฐ peer๋“ค์€ ๋ฐ˜๋“œ์‹œ ๋ชจ๋“  ๋‹ค๋ฅธ peer๋“ค๊ณ  ์†Œํ†ตํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ €๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์ˆซ์ž์— ์ œํ•œ์ด ์žˆ๋‹ค.
  4. ๊ฐ peer๋“ค์€ ๋‹ค์Œ ๋„คํŠธ์›Œํฌ ํ”„๋ ˆ์ž„์„ ์‹œํ–‰ํ•˜๊ธฐ ์ „์— ๋ชจ๋“  ๋‹ค๋ฅธ peer์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์œ„ํ•ด ๊ธฐ๋‹ค๋ ค์•ผ ํ•œ๋‹ค. ์ฆ‰, ๋ชจ๋“  ์œ ์ €๊ฐ€ ๋™์ผํ•œ ์ง€์—ฐ ์‹œ๊ฐ„์„ ๊ฒฝํ—˜ํ•˜๊ฒŒ ๋œ๋‹ค.

Example

  • Photon

  • Platform as a Service ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. Game Server ๋“ฑ

  • ๊ธฐ๋Šฅ : ๋ฉ€ํ‹ฐ ํ”Œ๋ ˆ์ด์–ด๋“ค์ด ๋งŒ๋“œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋กœ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ณ , 1์ดˆ์— 60~120๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

  • Agones : ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์Šค์ผ€์ผ๋งํ•˜๊ณ  ๊ฒŒ์ž„์„œ๋ฒ„๋ฅผ ํ˜ธ์ŠคํŒ…ํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ์†Œ์Šค

  • Colyseus

  • ์›น ์†Œ์ผ“ ๊ธฐ๋ฐ˜ ์†Œํ†ต

  • ์„œ๋ฒ„/ํด๋ผ์ด์–ธํŠธ ์ชฝ์˜ ๊ฐ„๋‹จํ•œ API

  • ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด์˜ ์ž๋™ ๋™๊ธฐํ™”

  • ๊ฒŒ์ž„ ์„ธ์…˜ ์•ˆ์˜ ํด๋ผ์ด์–ธํŠธ ๋งค์น˜๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ธฐ๋Šฅ

  • ์Šค์ผ€์ผ๋ง

  • ์‹ค์‹œ๊ฐ„ ๋ฉ€ํ‹ฐ ํ”Œ๋ ˆ์ด, ํ„ด ๊ธฐ๋ฐ˜ ๋ฉ€ํ‹ฐ ํ”Œ๋ ˆ์ด ๊ธฐ๋Šฅ ์ œ๊ณต