๐Ÿค“ Study/Game Server

[01์ฃผ์ฐจA] ๊ฒŒ์ž„ ์„œ๋ฒ„

GAMEMING 2024. 3. 12. 22:46
728x90

 

 

- ๋™๊ธฐํ™”์— ๋”ฐ๋ฅธ ๊ตฌ๋ถ„

1) MO(Multiplayer Online) : ์ฆ‰๊ฐ์  ๋ฐ˜์‘์„ ์š”๊ตฌํ•˜๋Š” ๊ฒŒ์ž„ (FPS, RTS)

   ๋™๊ธฐํ™” ๊ตฌํ˜„ : ์„œ๋ฒ„์—์„œ 1์ดˆ์— 20~30๋ฒˆ ์›”๋“œ ์ƒํƒœ๋ฅผ ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ์— ์ „์†ก

2) MMO(Massively Multiplayer Online) : ์ „๋žต๊ณผ ํ˜‘๋™ ํ”Œ๋ ˆ์ด ์œ„์ฃผ (RPG)

   ๋™๊ธฐํ™” ๊ตฌํ˜„ : Event ๋ฐœ์ƒ ์‹œ์—๋งŒ ๋ฐ์ดํ„ฐ ์ „์†ก

 

 

 

- ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํ˜ธ์ž‘์šฉ

1) ์—ฐ๊ฒฐ : ์ตœ์ดˆ๋กœ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ค€๋น„ํ•˜๋Š” ๊ณผ์ • (TCP์—ฐ๊ฒฐ)

2) ์š”์ฒญ-์‘๋‹ต : ํด๋ผ๋Š”์„œ๋ฒ„์—๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ , ์„œ๋ฒ„๋Š” ์ด๋ฅผ ์ฒ˜๋ฆฌํ•ด ๊ฒฐ๊ณผ๋ฅผ ์‘๋‹ต

3) ๋Šฅ๋™์  ํ†ต๋ณด : ํด๋ผ ์š”์ฒญ ์—†์ด ๋Šฅ๋™์ ์œผ๋กœ ํ†ต๋ณดํ•˜๋Š” ๊ฒฝ์šฐ

4) ์—ฐ๊ฒฐ ํ•ด์ œ

 

 

 

- ๊ฒŒ์ž„ ์„œ๋ฒ„๊ฐ€ ํ•˜๋Š” ์ผ

1) ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ ์ž‘์šฉ

2) ํด๋ผ์ด์–ธํŠธ์—์„œ ํ•ดํ‚น ๋‹นํ•˜๋ฉด ์•ˆ ๋˜๋Š” ์ฒ˜๋ฆฌ

3) ํ”Œ๋ ˆ์ด์–ด์˜ ์ƒํƒœ ๋ณด๊ด€

 

* ๋ชจ๋“  ์ฒ˜๋ฆฌ๋ฅผ ์„œ๋ฒ„์—์„œ ํ•˜๋ฉด ? -> ๋ ˆ์ดํ„ด์‹œ ๋ฌธ์ œ ("๋ž™ ์ฉŒ๋Š” ์ƒํ™ฉ")

- ๋„คํŠธ์›Œํฌ ๋ ˆ์ดํ„ด์‹œ: ํ”Œ๋ ˆ์ด์–ด์™€์˜ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์ด ๋” ๋งŽ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜์–ด ๋„คํŠธ์›Œํฌ ๋ ˆ์ดํ„ด์‹œ ์ฆ๊ฐ€

-> ํ”Œ๋ ˆ์ด์–ด๋“ค์˜ ์ž…๋ ฅ์„ ๊ฒŒ์ž„ ์ƒํƒœ์— ๋ฐ˜์˜ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„ ์ง€์—ฐ

- ๊ฒŒ์ž„ ์ƒํƒœ ๋™๊ธฐํ™”์˜ ์ง€์—ฐ: ํด๋ผ์ด์–ธํŠธ๋“ค์€ ์„œ๋ฒ„์˜ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ ค์•ผ ํ•จ

-> ๊ฒŒ์ž„ ์ƒํƒœ์˜ ๋ณ€๊ฒฝ์ด ํด๋ผ์ด์–ธํŠธ ๊ฐ„์— ๋™๊ธฐํ™”๋˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋  ์ˆ˜ ์žˆ์Œ -> ๋ถˆํŽธํ•จ ์ดˆ๋ž˜

- ์„œ๋ฒ„ ๋ถ€ํ•˜์™€ ์ฒ˜๋ฆฌ๋Ÿ‰: ๋ชจ๋“  ๊ฒŒ์ž„ ๋กœ์ง์„ ๋‹จ์ผ ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌํ•  ๊ฒฝ์šฐ, ์„œ๋ฒ„์˜ ๋ถ€ํ•˜ ๊ฐ€๋Šฅ์„ฑ ์ฆ๊ฐ€

-> ์„œ๋ฒ„์˜ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ํ•œ๊ณ„์— ๋‹ค๋‹ค๋ฅด๊ฑฐ๋‚˜ ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋˜๋Š” ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ

- ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๊ฐ„ ์‘๋‹ต ์‹œ๊ฐ„์˜ ๋ถˆ์ผ์น˜: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์„ ๋ฐ›๋Š” ๋ฐ์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ์„œ๋กœ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ

 

 

 

- ๊ฒŒ์ž„ ์„œ๋ฒ„ ๊ณ ๋ ค์ 

1) ์•ˆ์ •์„ฑ : ์„œ๋ฒ„ ๋‹ค์šด ์ฃผ์˜ -> ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ ๋ฒ„๊ทธ

2) ๋ณด์•ˆ : ํ•ดํ‚น, ๋ณต์‚ฌ, ์˜คํ†  -> ๊ฒŒ์ž„์„œ๋ฒ„๋ฅผ ๋งŒ๋“œ๋Š” ์ด์œ (์•„์ดํ…œ ๋ณต์‚ฌ, ์„œ๋ฒ„ ํ•ดํ‚น ๋ฐฉ์ง€), ๋ณด์•ˆ ์‹ ๊ฒฝ ์จ์„œ ๊ตฌํ˜„

- Stack overflow

- SQL injection

- Backdoor disable

3) ์„ฑ๋Šฅ : ๋™์ ‘์ž ์ˆ˜ /์„œ๋ฒ„ ๋น„์šฉ, ๋™์ ‘์ž ์ˆ˜/์›”๋“œ(์žฌ๋ฏธ์— ํฐ ์˜ํ–ฅ), HotSpot

-> ๋™์ ‘์ž ์ˆ˜์™€ HotSpot ํ—ˆ์šฉ๋Ÿ‰์œผ๋กœ ํ‰๊ฐ€ (๋ž™์ด ๊ฑธ๋ฆฌ์ง€ ์•Š๋Š” ์ตœ๋Œ€ ๋™์ ‘)

-> ๊ฐœ์„  ๊ณ ๋ ค ์‚ฌํ•ญ : ๋ถ€ํ•˜ ๋ถ„์‚ฐ (์„œ๋ฒ„ ๋ถ„ํ• , ์›”๋“œ ๋ถ„ํ• , ์ธ์Šคํ„ด์Šค ๋˜์ „), ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ์„ , ๋ฉ€ํ‹ฐ์ฝ”์–ด ํ™œ์šฉ,

์˜ค๋ฒ„ํ—ค๋“œ ๊ฐ์†Œ(์“ฐ๋ ˆ๋“œ ๋™๊ธฐํ™” ์ตœ์†Œํ™”, ์บ์‹œ ์ ์ค‘์œจ ํ–ฅ์ƒ, ๋ฐ์ดํ„ฐ ๋ณต์‚ฌ ๊ฐ์†Œ !)

4) ๋„คํŠธ์›Œํฌ ๋น„์šฉ๊ณผ ๋ถ€ํ•˜

- HW ํ•œ๊ณ„, IDCํ•œ๊ณ„, Server-Client protocol (๊ฐ€๋Šฅํ•œ ์ ์€ ์–‘ < ๊ฐ€๋Šฅํ•œ ์ ์€ ์ˆ˜์˜ ๋ฐ์ดํ„ฐ ์ „์†ก, ํ•œ ๋ฒˆ ๋ณด๋‚ผ ๋•Œ ๋งˆ๋‹ค ํ—ค๋”๊ฐ€ ์ถ”๊ฐ€ ๋จ)

5) ํ™•์žฅ์„ฑ

* ์Šค์ผ€์ผ ์—…(Scale-Up)๊ณผ ์Šค์ผ€์ผ ์•„์›ƒ(Scale-Out)์ด๋ž€?

   https://dev-coco.tistory.com/143

 

- ์„ฑ๋Šฅ์„ ์‰ฝ๊ฒŒ ์˜ฌ๋ฆฌ๊ธฐ ๊ฐ€๋Šฅ? : ํ”Œ๋ ˆ์ด์–ด ์‚ฌ์ด์˜ ์ธํ„ฐ๋ž™์…˜์ด ๋ฌธ์ œ (N^2์œผ๋กœ ๋ถ€ํ•˜ ์ฆ๊ฐ€) -> CPU์†๋„ ํ•œ๊ณ„ ๊ทน๋ณต์ด ํ•„์š”ํ•จ (๋ฉ€ํ‹ฐ์ฝ”์–ด + ๋ฉ€ํ‹ฐCPU), ๋ถ„์‚ฐ ๊ตฌ์กฐ(๋‚œ์ด๋„ ๋Œ•์–ด๋ ค์›€)

 

* ๋ถ„์‚ฐ ๊ตฌ์กฐ -> ๋ฌด์กฐ๊ฑด ๋ถ„์‚ฐ์„ ์จ์„œ ์„ฑ๋Šฅ up ์ข‹์œผ๋‚˜ ์‰ฝ์ง€ ์•Š์Œ

  ์›”๋“œ ์„œ๋ฒ„ ๊ฐ™์€ ๊ฒฝ์šฐ์—” ์–ด๋ ค์›€ (์˜คํžˆ๋ ค ์„ฑ๋Šฅ ์ €ํ•˜ -> ๋„คํŠธ์›Œํฌ ์˜ค๋ฒ„ํ—ค๋“œ)

 

6) ๋„คํŠธ์›Œํฌ ๋”œ๋ ˆ์ด ์€ํ

 

 

 

 

 

๋Œ“๊ธ€์ˆ˜0