운영체제

[게임 프로그래머 입문 올인원] 멀티쓰레드 프로그래밍 : 서버 (115강)

순정법사 2024.11.18

A. 서버 OT

1. 서버

a. 서버란 무엇일까?

🌟 다른컴퓨터에서 연결이 가능하도록 상시 대기(실행) 중인 프로그램 

 

마치 식당과 같다

 

실제로 (서버 C / 컴퓨터 / 프로그램) 3가지를 말할 수 있는데 

게임 프로그래머는 프로그램을 서버라고 말함

 

2. 게임 서버의 종류

a. 웹 서버 

질의/응답 형태 (테이크아웃 식당)

 

드물게 정보를 요청/갱신하는 경우

실시간 상호작용이 필요없는 경우

손님이 요청하는 경우에만 일을 실행한다

= 상태가 없기때문에  stateless서버라고도 하기도 함

 

처음부터 게임으로 만들어진게 아님 (홈페이지용 서버임)

프레임워크 하나를 골라서 사용 (자바 - 스프링, 자바스크립트 등)

 

b. 게임 서버 

실시간 상호작용 (일반 식당)

 

언제라도 직원이 손님한테 접근이 가능해야 함

Stateful서버

 

처음에 로그인하는 경우에는 웹서버에서 만들고 (암호화에서 유리하다) 

게임서버를 붙여서 만든다!

 

3. 게임서버의 제작?

게임/장르에 따라서 요구사항이 너무나도 다름

 

게임 서버의 유사성 고려할 대상
최대 접속자 손님 한도
장르/채널링 방의 한도와 인테리어
게임로직(요리사), 네트워크(서빙), DB(결제) 직원 역할 구분
쓰레드 개수 직원 수
쓰레드 모델 직원의 비율
네트워크 모델 주문 방식(벨, 부르기)
반응성  (fps, mmorpg) 손님이 기다릴 수 있는 시간 한도
데이터베이스 장부 및 결제

 

💕 퀴즈 : 배그 -> 게임 서버 개발? 

mmorpg는 대부분 서버를 개발함
게임서버는 맞지만 엔진을 활용해서 서버를 구현할 수 있음
언리얼엔진에서 데디서버를 꼭 구현 해봐야함 // 너무나도 유용함

롤이나 배그처럼 한방에 들어가는 사람은 많지 않지만
많은 방이 필요하게 된다면 결국 플렛폼이 필요하고 그 플렛폼은 웹 기반으로 개발하게 됨 

 

 

 

 


출처 : https://www.inflearn.com/course/%EA%B2%8C%EC%9E%84-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8-%EC%9E%85%EB%AC%B8-%EC%98%AC%EC%9D%B8%EC%9B%90-rookiss#curriculum

 

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버

Rookiss | 어디부터 시작할지 막막한 게임 프로그래밍 입문자를 위한 All-In-One 커리큘럼입니다. C++, 자료구조/알고리즘, STL, 게임 수학, Windows API, 게임 서버 입문으로 이어지는 알찬 커리큘럼으로

www.inflearn.com