[Node.js_6기 사전캠프] 게임 서버의 역사 알아보기

2024. 6. 20. 15:49[Node.js_6기 사전캠프]

1. 게임 서버와 게임 클라이언트의 개념을 학습하고, 각각의 역할과 기능을 정확하지는 않더라도 자신이 좋아하는 게임을 바탕으로 설명해주세요.

- CPU 사용량을 줄여주는 프로그램, BES를 사용하다보면 Nexon의 Mabinogi는 Client.exe라는 이름으로 뜨는 것을 확인할 수 있다. 인게임 서버에 접속하고 플레이 하는 데에 사용되는 모든 프로그램이 Client 라는 이름으로 묶인 것이다. 이때 게임 서버는 유저들이 게임 내에서 진행하는 모든 데이터를 처리하고 저장하는 역할을 한다. Steam의 멀티게임 Valheim을 예로 들면, 서버장A가 게임을 시작하고 서버를 열었을 때 플레이어B는 본인의 캐릭터 데이터는 컴퓨터에 저장되어 있기에 어떠한 서버를 가든 같은 능력치와 장비로 갈 수 있지만, 그 캐릭터가 해당 서버에서 어떤 던전에 있었는지는 서버장A의 컴퓨터에 저장되어 플레이어B가 접속할 때 위치 데이터 등을 처리하는 것을 예로 들 수 있다. 

 

2. 자신이 조사한 게임 서버의 역할/기능 중 가장 흥미롭다고 생각한 것이 무엇인지 설명해주세요.

- 처리하는 데이터의 양이 상상 이상으로 많다는 점이 흥미롭다. 멀티플레이가 가능한 Steam game의 경우, 서버를 열어주는 사람의 PC/인터넷 상태에 따라 정상적인 플레이의 가능여부가 갈리는 정도이다. 실제로 Steam의 멀티게임 Valheim의 서버를 직접 열어봤을 때, 플레이어가 한명씩 추가될 때마다 처리되는 데이터 양을 감당하지 못하고 서버가 다운되는 경우가 많아 데이터 전송량과 처리량을 조정하는 모드를 써야했을 정도였다.