Recommended
PDF
PPTX
PDF
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
PPTX
PDF
이승재, 실시간 HTTP 양방향 통신, NDC2012
PDF
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
PDF
게임서버프로그래밍 #7 - 패킷핸들링 및 암호화
PPTX
[PHPFest 2013] PHP 성능 향상 방법
PDF
PHP 와 MySQL을 이용한 게임 랭킹 구축하기
PDF
portfolio-subtitle-convert-김남운
PPTX
모바일 Rpg 게임서버 리팩토링
PDF
[111217 아꿈사연말모임] 웹소켓과온라인게임
PDF
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
PDF
게임서버프로그래밍 #4 - 멀티스레드 프로그래밍
PDF
NET 최선단 기술에 의한 고성능 웹 애플리케이션
PPTX
테드폴허브(올챙이) PostgreSQL 디비 확장하기
PDF
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
PDF
게임서버프로그래밍 #5 - 데이터베이스 핸들링
PDF
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
PDF
PDF
PDF
PPTX
PDF
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
PDF
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
PDF
[I/O Extended 2019 Incheon] What's new in the Web
PDF
KEY
PDF
PDF
More Related Content
PDF
PPTX
PDF
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
PPTX
PDF
이승재, 실시간 HTTP 양방향 통신, NDC2012
PDF
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
PDF
게임서버프로그래밍 #7 - 패킷핸들링 및 암호화
PPTX
[PHPFest 2013] PHP 성능 향상 방법
What's hot
PDF
PHP 와 MySQL을 이용한 게임 랭킹 구축하기
PDF
portfolio-subtitle-convert-김남운
PPTX
모바일 Rpg 게임서버 리팩토링
PDF
[111217 아꿈사연말모임] 웹소켓과온라인게임
PDF
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
PDF
게임서버프로그래밍 #4 - 멀티스레드 프로그래밍
PDF
NET 최선단 기술에 의한 고성능 웹 애플리케이션
PPTX
테드폴허브(올챙이) PostgreSQL 디비 확장하기
PDF
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
PDF
게임서버프로그래밍 #5 - 데이터베이스 핸들링
PDF
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
PDF
PDF
PDF
PPTX
PDF
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
PDF
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
PDF
[I/O Extended 2019 Incheon] What's new in the Web
PDF
KEY
Viewers also liked
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PPTX
PDF
PPTX
PPT
PPT
영상제작의 미학적 원리와 방법 1강(1장 오리엔테이션)
PPTX
PPTX
영화연출과 게임 레벨디자인에 기반한 Vr컨텐츠 제작 장명곤
PDF
PPTX
PPTX
PDF
PPTX
Tv프로그램기획제작론.01 포맷의 새로운 분석
PPT
Similar to 잭블랙이블랙잭을한다 - 최종발표
PPTX
PDF
Gametech 2014: 모바일 게임용 PaaS/BaaS 구현 사례와 디자인 트레이드오프
PDF
PDF
PDF
임태현, 게임 서버 디자인 가이드, NDC2013
PPTX
PPT
Rhea_MMO_SNG_Convergence_Server_Architecture
PPTX
고급시스템프로그래밍 Project#2 20123222_서기원
PPTX
웹서버와 ProudNet 서버간 상호작용 가이드
PPTX
PDF
PDF
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
PDF
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
PPTX
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
PDF
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
PDF
사내스터디 발표 온라인게임서버이해 20100401
PDF
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
PDF
[NDC2017 : 박준철] Python 게임 서버 안녕하십니까 - 몬스터 슈퍼리그 게임 서버
PDF
PPTX
잭블랙이블랙잭을한다 - 최종발표 1. 2. 팀원
김명찬 - 채널서버(로직), 클라이언트
송원석 - 채널서버(로직, DB), 로그인서버
노석민 - 채널서버(네트워크), 클라이언트
게임 서버 만드는 법을 가르쳐 주신
최흥배 교수님
3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 만든 기능
채널 서버
로그인 서버
클라이언트
로그인요청
토큰발급
토큰정보 기록
DB (MySQL)
게임기록
조회
로그인
정보 조회
플레이
15. 로그인 서버
• C#_Asp.Net, Http를 이용하여 구현
• 회원 가입 , 로그인
• 현재 게임에 접속중인 유저 (중복 로그인 방지)
• 현재 가동중인 서버 리스트를 관리 (IP주소 포함)
16. 채널 서버
• C++, winsock, IOCP를 이용하여 구현
• 방 + 게임 진행
• 비어있는 방에 바로 집어넣음.
– 로비 등등 없음.
17. 18. 19. 기타
• 게임룰
– 17 soft stand
– Split : Only 1 time.
– Double down : Only when player has 2 cards.
20. 21. 서버
• 로직 쓰레드 : 1개
• 네트워크 쓰레드 :
– 워커 쓰레드 다수
– 센드 쓰레드 1
– 리슨 쓰레드 1
• 디비 쓰레드
22. 23. 24. 25. 네트워크
• 워커 쓰레드는 IOCP에 등록된 클라이언트들에게
서 받은 데이터가 있을 때마다
• 해당 데이터를 패킷으로 만들어서
RecvPacketQueue에 Push한다.
26. 서버 구조 : Logic & DB
메인
스레드
send 큐로직 처리
DB
manager
DB담당
Send
스레드
전송
DB recv 큐
DB
스레드
DB
스레드
DB
스레드
DB
스레드
전송
응답
27. 네트워크
• 센드 쓰레드는 SendPacketQueue를 주시하고 있
다가 내용물이 있다면 들어있는 패킷을 보내야 할
클라이언트에게 보낸다.
28. 29. DB
• DB 쓰레드는 DB작업큐에 내용물이 들어올 때마다
해당 작업을 처리한 후 DB작업완료큐에 넣는다.
• 로직은 DB작업완료큐에 내용물이 들어올 때마다
미뤄두었던 해당 로직을 마저 처리한다.
30. 클라이언트
• Recv 쓰레드 하나 띄워서 그냥 계속 Recv 하다
가 패킷 만들어서 메인쓰레드의 Job Queue에 넣
어줌
• 그 외 어쩌고 저쩌고 생략
31. 32. 힘들었던 점
• 멀티스레드 프로그래밍
– 의도했던 만큼 성능이 안 나오는데 이유를 몰라서 고생
– 처음 해봐서…. 공부는 많이 되었다.
• DB, ASP.NET, IOCP
– 처음 써보는 것들이 많아 노력에 비해 생산성이 많이 떨어짐
• 네트워크 게임을 처음 만들어봄
– 문제 발생 -> 로직 문제일거야 -> 형, 서버 코드 봐봐요 패킷 이
상하게 오는 것 같은데... -> 클라문제였음 -> 반복
33. 좋았던 점
• 멀티스레드 프로그래밍
– 재미있다 하하
• 실력
– 정말 많이 늘었다.
– 기본에 대한 중요성을 많이 느낌.
시스템아키텍쳐, 네트워크에서 배웠던 내용들도..
• 온라인 게임!!!
– 초고수들만 만들 수 있는 건 줄 알았는데..
34. 아쉬웠던 점
• 개발 기간 때문에 대충 타협하고 넘어간 부분들을 전
부 신경 써서 최적화하고 싶음.
• 동접자 테스트를 제대로 해보고 싶다.
• 모바일 버전으로 만들어 보고 싶다.
– Cocos2d-x를 썼으나, winsock을 쓴 데다 windows api를
여기저기 쑤셔 넣어서 포팅하려면 고생 좀 할 듯..
• 닌텐도와 잭블랙에게 라이선스를 받아
출시하고 싶다.
35.