A. 서버 OT
1. 서버
a. 서버란 무엇일까?
🌟 다른컴퓨터에서 연결이 가능하도록 상시 대기(실행) 중인 프로그램
마치 식당과 같다
실제로 (서버 C / 컴퓨터 / 프로그램) 3가지를 말할 수 있는데
게임 프로그래머는 프로그램을 서버라고 말함
2. 게임 서버의 종류
a. 웹 서버
질의/응답 형태 (테이크아웃 식당)
드물게 정보를 요청/갱신하는 경우
실시간 상호작용이 필요없는 경우
손님이 요청하는 경우에만 일을 실행한다
= 상태가 없기때문에 stateless서버라고도 하기도 함
처음부터 게임으로 만들어진게 아님 (홈페이지용 서버임)
프레임워크 하나를 골라서 사용 (자바 - 스프링, 자바스크립트 등)
b. 게임 서버
실시간 상호작용 (일반 식당)
언제라도 직원이 손님한테 접근이 가능해야 함
Stateful서버
처음에 로그인하는 경우에는 웹서버에서 만들고 (암호화에서 유리하다)
게임서버를 붙여서 만든다!
3. 게임서버의 제작?
게임/장르에 따라서 요구사항이 너무나도 다름
게임 서버의 유사성 | 고려할 대상 |
최대 접속자 | 손님 한도 |
장르/채널링 | 방의 한도와 인테리어 |
게임로직(요리사), 네트워크(서빙), DB(결제) | 직원 역할 구분 |
쓰레드 개수 | 직원 수 |
쓰레드 모델 | 직원의 비율 |
네트워크 모델 | 주문 방식(벨, 부르기) |
반응성 (fps, mmorpg) | 손님이 기다릴 수 있는 시간 한도 |
데이터베이스 | 장부 및 결제 |
💕 퀴즈 : 배그 -> 게임 서버 개발?
mmorpg는 대부분 서버를 개발함
게임서버는 맞지만 엔진을 활용해서 서버를 구현할 수 있음
언리얼엔진에서 데디서버를 꼭 구현 해봐야함 // 너무나도 유용함
롤이나 배그처럼 한방에 들어가는 사람은 많지 않지만
많은 방이 필요하게 된다면 결국 플렛폼이 필요하고 그 플렛폼은 웹 기반으로 개발하게 됨
'운영체제' 카테고리의 다른 글
[게임 프로그래머 입문 올인원] 멀티쓰레드 프로그래밍 : 락 기초, 스핀락, 데드락 (0) | 2024.12.03 |
---|---|
[게임 프로그래머 입문 올인원] 멀티쓰레드 프로그래밍 : 공유자원 (0) | 2024.12.03 |
[게임 프로그래머 입문 올인원] 멀티쓰레드 프로그래밍 : 캐시와 CPU 파이프라인 (1) | 2024.12.03 |
[게임 프로그래머 입문 올인원] 멀티쓰레드 프로그래밍 : 쓰레드 (1) | 2024.12.02 |
[게임 프로그래머 입문 올인원] 멀티쓰레드 프로그래밍 : 멀티쓰레드 입문 (116강) (1) | 2024.11.18 |