โ๏ธToday I Learned
๐
2025-08-21
์๋ฒ์ ์ข
๋ฅ์ Dedicated Server
์๋ฒ์ ์ข
๋ฅ
- P2P (Peer to Peer)
๊ฐ๊ฐ์ ์ปดํจํฐ๊ฐ ํด๋ผ์ด์ธํธ์ด์ ์๋ฒ์ธ ๊ตฌ์กฐ
์์) ๋คํฌ์์ธ, ํ ๋ ํธ
- Listen Server
ํด๋ผ์ด์ธํธ์ด์ ์๋ฒ์ธ ํธ์คํธ๊ฐ ์๊ณ ๋๋จธ์ง ๊ฒ์คํธ๋ ๋ชจ๋ ํด๋ผ์ด์ธํธ ์ญํ ๋ง ๋งก๋ ํํ. ์ผ์ข
์ P2P
์์) ๋ง์ธํฌ๋ํํธ, ์ด๋ชฝ์ด์ค
- Dedicated Server
์๋ฒ๋ฅผ ๋ด๋นํ๋ ์ปดํจํฐ๊ฐ ๋ฐ๋ก ์๋ ์๋ฒ - ํด๋ผ์ด์ธํธ ๊ตฌ์กฐ
์์) ๋ฐฐํ๊ทธ๋ผ์ด๋
Dedicated Server ์คํ ํ๋ฆ๋
- PIE๋ฅผ ํ๊ฑฐ๋ Server.exe๋ฅผ ์คํํ๋ ์์ผ๋ก ์๋ฒ ํ๋ก์ธ์ค ์คํ
์คํํ ๋ Listen ๋ช
๋ น์ด๋ก ๋ ๋ฒจ์ ์ด๋ฉด ์์ผ์ด ์์ฑ๋๋ฉฐ ๋ค๋ฅธ PC๊ฐ ์ ์ ๊ฐ๋ฅํ๊ฒ๋ ํ๋ค.
Listen ๋ช
๋ น์ด๊ฐ ์์ผ๋ฉด ์ฑ๊ธํ๋ ์ด์ด๋ค.
GameMode, GameState ์กํฐ ์์ฑ
GameMode ์กํฐ๋ ์๋ฒ์๋ง ์กด์ฌํ๋ค. (์๋ฒ์ ๊ฒ์๋ชจ๋๋ฅผ ๋์ผ์)
- ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ IP์ฃผ์์ ํฌํธ๋ฒํธ๋ก ์ ์ ์๋
์๋ฒ๋ ์ ์ ์๋ํ๋ ํด๋ผ์ด์ธํธ์๊ฒ ๋ ๋ฒจ ์ ๋ณด๋ฅผ ๋๊ธด๋ค.
ํด๋ผ์ด์ธํธ๋ ํด๋น ๋ ๋ฒจ์ ์ด๊ณ ์ฑ๊ณตํ๋ฉด ๋ฐ๋ ์๋ฒ์๊ฒ ์๋ฆฐ๋ค.
- ํด๋ผ์ด์ธํธ ์ ์ฉ ์กํฐ ์์ฑ ํ ๋ณต์
๋ ๋ฒจ ์ฌ๋๋ฐ ์ฑ๊ณตํ ํด๋ผ์ด์ธํธ ์ ์ฉ PlayerState, PlayerController, PlayerCharacter๋ฅผ ์๋ฒ์์ ์์ฑํ๊ณ GameState์ ํจ๊ป ํด๋ผ์ด์ธํธ์ ๋ณต์ ํ๋ค.
- ๋ค๋ฅธ ํด๋ผ์ด์ธํธ ์ ์์
๋ ๋ฒจ ์ ๋ณด๋ฅผ ๋๊ธฐ๊ณ ๋ ๋ฒจ์ ์ฌ๋๋ฐ ์ฑ๊ณตํ๋ฉด ๋ฐ๋ ์๋ฒ์๊ฒ ์๋ฆฐ๋ค.
- ํด๋น ํด๋ผ์ด์ธํธ ์ ์ฉ ์กํฐ ์์ฑ ํ ๋ณต์
๋๋ฒ์งธ ํด๋ผ์ด์ธํธ ์ ์ฉ PlayerState, PlayerController, PlayerCharacter๋ฅผ ์๋ฒ์์ ์์ฑํ๊ณ GameState์ ํจ๊ป ๋๋ฒ์งธ ํด๋ผ์ด์ธํธ์ ๋ณต์ ํ๋ค.
์ด๋ ๋ค๋ฅธ ํด๋ผ์ด์ธํธ๋ค์ PlayerState, PlayerCharacter๊ฐ ์๋ก์๊ฒ ๋ณต์ ๋๋ฉด์ ์๋ก ๋ณด์ด๊ฒ ๋๋ค.
์๋ฒ-ํด๋ผ์ด์ธํธ ๊ตฌ์กฐ์ ํน์ง
ํด๋ผ์ด์ธํธ ๊ฐ์ ํต์ ์ด ๋ถ๊ฐ๋ฅํ๋ค.
์ค์ง ์๋ฒ์ ํด๋ผ์ด์ธํธ ์ฌ์ด์ ํต์ ๋ง ๊ฐ๋ฅ -> RPC๋ ํ๋กํผํฐ ๋ ํ๋ฆฌ์ผ์ด์
์ ์ํฅ์ ์ค๋ค.
NetMode, NetConnetion, NetRole
NetMode
ํด๋น ๊ฒ์ ํ๋ก์ธ์ค๊ฐ ๋คํธ์ํฌ ์์์ ์ด๋ค ์ญํ ์ ํ๋์ง
์ฑ๊ธํ๋ ์ด: NM_StandAlone
์๋ฒ: NM_Listen, NM_DedicatedServer
ํด๋ผ์ด์ธํธ: NM_Client
NetConnection
์๋ฒ์ ํด๋ผ์ด์ธํธ ์ฌ์ด์ ์ฐ๊ฒฐ์ด ๋ฐ์ํ๋ฉด ์์ฑ๋๋ ๊ฐ์ฒด
UNetDriver๊ฐ UNetConnection์ ์์ ํ๊ณ ๊ด๋ฆฌํ๋ค.
์๋ฒ: ํด๋ผ์ด์ธํธ ์ ๋งํผ ClientConnection
ํด๋ผ์ด์ธํธ: ํ๋์ ServerConnection
ClientConnection ์ ํ๋์ PlayerController๋ฅผ ์์ ํ๋ค.
PlayerController๊ฐ Owner์ธ ์กํฐ๋ค์ ํด๋น ClientConnection ์ด ์์ ํ๊ฒ ๋๊ณ ์๋ฒ์ ํต์ ํ ์ ์๋ค.
NetRole
- None: ์คํฐ๋ง ๋๊ณ ๋ ํ๋ฆฌ์ผ์ด์
๋์ง ์์ ์กํฐ
- Authority: ์๋ฒ์์ ์คํฐ๋ ์กํฐ. ๊ฒ์์ ์ค๋ํ ์ํฅ์ ๋ผ์น ์ ์๋ ๋ก์ง ์์ฑ ๊ฐ๋ฅ
- Autonomous Proxy:
ClientConnection ์ ์์ ๋์ด ์๋ฒ์ ์ก์์ ๋ฐ ๋๊ธฐํ ๊ฐ๋ฅํ ์กํฐ
- Simulated Proxy: ์๋ฒ๋ก๋ถํฐ ์์ ๋ฐ ๋๊ธฐํ๋ง ๊ฐ๋ฅํ ์กํฐ.
ClientConnection์ ์์ ๊ด๊ณ์ ์์ง ์๋ค.
๐ก ๋๋ ์ (What I Felt)
์ค์ ๋ก ๊ฒ์์ ์ ์ฉํด๋ณด๋ฉด ์ผ๋ง๋ ๋จธ๋ฆฌ ์ํ์ง ๋ฌด์ญ๋ค.
์ถ์ฒ: ์คํ๋ฅดํ์ฝ๋ฉ ๋ด์ผ๋ฐฐ์์บ ํ