게임 서버 프로그래밍 교과서

고객평점
저자배현직
출판사항길벗, 발행일:2019/04/08
형태사항p.460 B5판:24
매장위치컴퓨터부(B2) , 재고문의 : 051-816-9500
ISBN9791160507478 [소득공제]
판매가격 35,000원   31,500원  (인터넷할인가:10%)
포인트 1,575점
배송비결제주문시 결제
  • 주문수량 

총 금액 : 0원

책 소개

게임 서버 개발자는 무슨 책으로 공부하나요?

수십만 명의 유저가 함께 게임을 즐기는 온라인 멀티플레이 게임에서 서버는 중요한 위치를 차지하지만, 클라이언트 측 관련 서적이 많은 것에 비해 게임 서버/백엔드 분야를 다루는 책은 드뭅니다. 이 책은 게임 서버를 공부하고 싶은데 어떻게 해야 할지 몰라서 막막했던 초보자부터, 현재 게임 서버 개발과 관련된 일을 하고 있으나 기본기를 다지고 싶은 중급자까지 볼 수 있는 책입니다. 멀티스레딩, 컴퓨터 네트워크, 소켓 프로그래밍, 동기화, 데이터베이스 기초, 서버 아키텍처까지 서버 개발자가 알아야 할 방대한 내용을 A부터 Z까지 구체적으로, 이해하기 쉽게 풀어서 설명합니다.


국내 최초 게임 서버 엔진을 개발하고 상용화한 프라우드넷 개발자의 노하우를 담았습니다!

국내 최초로 게임 서버 엔진인 프라우드넷을 개발하고 상용화한 저자의 실전 경험과 노하우를 책 한 권에 담았습니다. 네트워크 기초 지식은 물론, 온라인 멀티플레이 게임에서 안정적인 서비스를 제공하는 서버 엔진을 구축, 개발, 관리할 때 필요한 노하우를 고스란히 얻을 수 있을 것입니다.

작가 소개

배현직

1986년부터 아마추어 게임을 개발했고 1995년부터 현업 게임 개발을 해왔습니다. 게임 서버 개발은 1997년부터 했습니다. 미국의 유명 서적 《Game Programming Gems》에 한국인 최초로 공동 저술을 하기도 했습니다. 2개의 게임 회사를 창업하고 실패한 후 게임 서버 엔진 회사 넷텐션을 설립하여 프라우드넷을 출시하였습니다. 소통을 원하신다면 개인 블로그 http://imays.blog.me 또는 페이스북 https://www.facebook.com/imays76을 방문하십시오.

목 차

1장 멀티스레딩

1.1 프로그램과 프로세스

1.2 스레드

1.3 멀티스레드 프로그래밍은 언제 해야 할까?

1.4 스레드 정체

1.5 스레드를 다룰 때 주의 사항

1.6 임계 영역과 뮤텍스

1.7 교착 상태

1.8 잠금 순서의 규칙

1.9 병렬성과 시리얼 병목

1.10 싱글스레드 게임 서버

1.11 멀티스레드 게임 서버

1.12 스레드 풀링

1.13 이벤트

1.14 세마포어

1.15 원자 조작

1.16 멀티스레드 프로그래밍의 흔한 실수들

1.17 심화 내용 및 더 읽을거리


2장 컴퓨터 네트워크

2.1 컴퓨터 네트워크를 구성하는 기기

2.2 인터넷

2.3 컴퓨터 네트워크 데이터

2.4 컴퓨터 네트워크 식별자

2.5 컴퓨터 네트워크의 품질과 특성

2.6 컴퓨터 네트워크에서 데이터 보내기와 받기

2.7 패킷 유실시 UDP와 TCP에서 현상

2.8 주로 사용하는 메시지 형식

2.9 네트워크 주소 변환

2.10 요약

2.11 더 읽을거리


3장 소켓 프로그래밍

3.1 블로킹 소켓

3.2 네트워크 연결 및 송신

3.3 블로킹과 소켓 버퍼

3.4 네트워크 연결받기 및 수신

3.5 수신 버퍼가 가득 차면 발생하는 현상

3.6 논블록 소켓

3.7 Overlapped I/O 혹은 비동기 I/O

3.8 epoll

3.9 IOCP

3.10 더 읽을거리


4장 게임 서버와 클라이언트

4.1 패키지 게임에서 게임 서버

4.2 온라인 게임에서 게임 서버

4.3 서버의 역할

4.4 게임 클라이언트와 서버의 상호 작용

4.5 게임 서버가 하는 일

4.6 게임 서버의 품질

4.7 플레이어 정보의 저장

4.8 서버 구동 환경

4.9 서버 개발 지침

4.10 더 읽을거리


5장 게임 네트워킹

5.1 UML

5.2 게임 플레이 네트워킹

5.3 레이턴시 마스킹

5.4 넓은 월드, 많은 캐릭터 처리

5.5 실시간 전략 시뮬레이션 게임에서 네트워크 동기화

5.6 실제 레이턴시 줄이기

5.7 게임 플레이 이외의 네트워킹

5.8 해킹과 보안

5.9 요약


6장 게임 네트워크 엔진 프라우드넷

6.1 게임 서버, 네트워크 엔진

6.2 개발 환경과 기본 모듈

6.3 게임 클라이언트-서버 간 통신

6.4 메시지 주고받기

6.5 와이파이 셀룰러 연결 핸드오버 기능

6.6 원격 메서드 호출

6.7 클라이언트끼리 P2P 통신

6.8 예시: 채팅 처리

6.9 스레드 모델

6.10 더 읽을거리


7장 데이터베이스 기초

7.1 플레이어의 정보 저장

7.2 데이터베이스 사용

7.3 데이터베이스의 데이터 구성

7.4 데이터베이스 시작

7.5 SQL 질의 구문

7.6 인덱스와 키

7.7 플레이어 정보를 데이터베이스에 저장하는 방법 1

7.8 플레이어 정보를 데이터베이스에 저장하는 방법 2

7.9 질의 구문 실행

7.10 게임 서버에서 질의 구문 실행

7.11 보안을 위한 주의 사항

7.12 더 읽을거리


8장 NoSQL 기초

8.1 관계형 데이터베이스와 NoSQL

8.2 관계형 데이터베이스에서 확장성

8.3 관계형 데이터베이스에서 고가용성

8.4 MongoDB를 위한 JSON 이해

8.5 MongoDB 시작

8.6 MongoDB에 데이터 액세스

8.7 성능 분석 기능

8.8 MongoDB 수평 확장

8.9 게임 서버에서 MongoDB 명령 실행

8.10 요약 및 더 알아보기


9장 분산 서버 구조

9.1 수직 확장과 수평 확장

9.2 서버 분산이 없다면?

9.3 고전적인 서버 분산 방법

9.4 논리적 단일 서버 분산

9.5 데이터 분산 vs 기능적 분산

9.6 로직 처리의 분산 방식들

9.7 데이터 응집도

9.8 기능적 분산 처리

9.9 분산 처리를 엄선해야 하는 이유

9.10 분산 처리 전략

9.11 분산 서버의 또 다른 장점

9.12 고가용성

9.13 데이터베이스의 분산

9.14 요약


10장 분산 서버 구조 사례

10.1 로그온 처리의 분산

10.2 데이터베이스의 수평 확장

10.3 매치메이킹의 분산 처리

10.4 몬스터 NPC 처리의 분산 처리

10.5 플레이어 간 상호 작용 분산 처리

10.6 로그 및 통계 분석의 분산 처리

10.7 게임 장르별 분산 서버 형태

10.8 요약 및 결론

역자 소개

01. 반품기한
  • 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
  • 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품 배송비
반품사유 반품 배송비 부담자
단순변심 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다.
상품의 불량 또는 오배송 고객 부담이 아닙니다.
03. 배송상태에 따른 환불안내
환불안내
진행 상태 결제완료 상품준비중 배송지시/배송중/배송완료
어떤 상태 주문 내역 확인 전 상품 발송 준비 중 상품이 택배사로 이미 발송 됨
환불 즉시환불 구매취소 의사전달 → 발송중지 → 환불 반품회수 → 반품상품 확인 → 환불
04. 취소방법
  • 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
  • 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
환불시점
결제수단 환불시점 환불방법
신용카드 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) 신용카드 승인취소
계좌이체 실시간 계좌이체 또는 무통장입금
취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준)
계좌입금
휴대폰 결제 당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소
전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준)
당일취소 : 휴대폰 결제 승인취소
익월취소 : 계좌입금
포인트 취소 완료 후, 당일 포인트 적립 환불 포인트 적립
06. 취소반품 불가 사유
  • 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
  • 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
  • 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
  • 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
  • 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
  • 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.

환불불가
상품군 취소/반품 불가사유
의류/잡화/수입명품 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우
계절상품/식품/화장품 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
가전/설치상품 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.)
자동차용품 상품을 개봉하여 장착한 이후 단순변심의 경우
CD/DVD/GAME/BOOK등 복제가 가능한 상품의 포장 등을 훼손한 경우
내비게이션, OS시리얼이 적힌 PMP 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우
노트북, 테스크탑 PC 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우