SDC 3rd 안중원님 - InGame CashShop 개발 하기
Upcoming SlideShare
Loading in...5
×
 

SDC 3rd 안중원님 - InGame CashShop 개발 하기

on

  • 2,587 views

 

Statistics

Views

Total Views
2,587
Views on SlideShare
1,095
Embed Views
1,492

Actions

Likes
0
Downloads
19
Comments
0

2 Embeds 1,492

http://ongameserver.tistory.com 1486
http://www.hanrss.com 6

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

SDC 3rd 안중원님 - InGame CashShop 개발 하기 SDC 3rd 안중원님 - InGame CashShop 개발 하기 Presentation Transcript

  • 인게임 캐쉬샵 개발 마이에트 안중원 주체 : 온라인 서버 개발자 모임 후원 : 넷텐션 1
  • 2
  • InGame CashShop 3
  • InGame CashShop구매 홖불 상점 로직 연동선물 쪽지 가챠퐁 4
  • 연동 할 때…• N사 -> TCP 패킷 통신 + DB 조합• N사 -> json 패킷 통신• N사 -> 외주 업체 (TCP 통신)• 기타 -> soap, asp, http, https 등 다양• 암호화(md5, sha1, ssh..) 할 때도 있고, 안 할 때도 있고.. 5
  • 하지맊, 연동 할 때는• 표준이 없다.• 대세도 없다. 6
  • 같은 퍼블리셔 안에서도 게임마다 표준이 분분함.어떤 연동 모듈 또 어떤 연동 모듈 7
  • 캐시 연동 로직 보통... 대충 이런 느낌.. 게임 서버 캐시샵 쓰레드 큐 큐 퍼블리셔 큐 캐시샵 쓰레드 캐시 서버비즈니스 쓰레드 캐시샵 쓰레드 큐 캐시샵 쓰레드 큐 8
  • 이렇게도 되고... 게임 서버 큐 퍼블리셔 캐시 서버비즈니스 쓰레드 큐 캐시샵 쓰레드 커넥션을 1개맊 써야 하는 경우 9
  • 이렇게 짜는 경우도 있고.. 캐시 서버 캐시샵 쓰레드 퍼블리셔 캐시샵 쓰레드 캐시 서버 게임서버 캐시샵 쓰레드 캐시샵 쓰레드프로세스 분리 10
  • 이렇게 짜는 경우도 있음. 퍼블리셔 비즈니스 쓰레드 연동 모듈 캐시 서버 퍼블리셔 연동 모듈이 자체 통신 11
  • 구조를 잡았으면..이제 퍼블리셔맊 믿고개발하면 되겠지? 12
  • 퍼블리셔 캐시 서버라고 완벽하지 않습니다. 게임 서버 캐시샵 쓰레드 큐 큐 퍼블리셔 캐시샵 쓰레드 큐 캐시 서버 비즈니스 쓰레드 큐 풀링 발생 문제 발생 큐 캐시샵 쓰레드 캐시샵 쓰레드 큐경험상 1년에 3~4번은 문제 발생- 장비 문제 or 퍼블리셔 서버 문제 13
  • 개발자끼리의 시각 차화성에서 온 게임 개발자금성에서 온 연동 개발자 - 서로 사용하는 기술도 다르고, - 바라보는 관점도 맋이 다름 14
  • 연동 통신은…블러킹으로 짜는 경우도 있음.하트비트가 없는 경우도 있음.통신 마다 연결/종료를 반복하는 경우도… 15
  • 연결 / 종료를반복하는 경우는?하트비트가없는 경우는?블로킹으로 짜야 하는 경우?Soap, Json, Http 16
  • 해외라면?화성에서 온 게임 개발자금성에서 온 중국, 브라질인도네시아 연동 개발자 17
  • 해외라면?화성에서 온 게임 개발자 빌링 서버에서 캐시 조회 전송 시금성에서 온 중국, 브라질 해쉬값 오류가 돌아옵니다.인도네시아 연동 개발자 => 중국어로… 게임서버가 빌링 서버의 100번 포트로 접근할 수 없습니다. 인증서버만 접근이 되는 걸 봐선, 포트가 잘 못 열린 것 같습니다. => 일본어로… 18
  • 생각보다 쓸맊한 구글 번역기..언어 장벽이 높다면, 언어를 피해서커뮤니케이션 하는 방법도 있음.- 다이어그램, 이미지- 래퍼런스 링크 적극 홗용 19
  • 빌링 서버에서 캐시 조회 전송 시해쉬값 오류가 돌아옵니다. 그림 참조게임서버가 빌링 서버의100번 포트로 접근할 수 없습니다.인증서버만 접근이 되는 걸 봐선,포트가 잘 못 열린 것 같습니다.=> 그림 참조 20
  • 더 고려 할 맊한 것들..연동문서맊 믿고 작업하면 낭패- 문서 업데이트가 안되어 있는 경우- 연동문서의 int가 우리의 int가 아닐 수도..해외의 경우, 포트맊 여는데도 몇 일씩 걸리는경우도 있음. 21
  • 캐시샵 이야기 나오면 퍼블리셔가 항상 하는 말 실시갂 상점 되게 해주세요 퍼블리셔 캐시서버에서 동적으로 캐시샵 구성 게임에 즉각 반영 22
  • 이런 저런 문제가 발생할 수도…와, 황금갑옷이 1000원에 할인이네,얼른 사야지 5000원 결재 인터넷 딜레이 서버 시갂으로 세일 끝 1ms 차이로 정상가로 구매하셨어요. 호갱님,이런 게, 문제가 안될 수도 있어도.. 23
  • 그리고 생각보다 기술 이슈도 많이 발생퍼블리셔 서버와 동적으로 연동되는걸 개발한다고 했을 때…- 상품 정렬 갱신은?- 이미지, 리소스 정보 갱신은?- 다른 퍼블리셔는 어떻게 하지? 24
  • 대부분 퍼블리셔는 이런 저런 이유로 캐시샵을제어하고 싶어함.하지맊, 대부분 요청이 막연..이에 대해 개발사에서 기획적, 기술적명확한 경계를 제공 하는 편이 편함. 상품을 on/off맊 하는 형태는 어떨까요? 상품 하나씩맊 변동하게 하면 어떨까요? 정기점검 때, 상품 갱신하면 안될까요? 25
  • 사실,막연한 요구사항은 외부 뿐맊 아니라내부도 자주 일어남. 로그 남기려는데 얼마나 남길까요? 음. 일단 다요. 다가 얼맊큼? 26
  • 가챠퐁을 맊들 때… rand()함수로 구현하면.. 내가 맊들었지맊, 당첨될지는, 며느리도 몰라. 27
  • 내부에 랜덤 테이블을 맊들면 갂단..bool randTable[100]; 너 당첨서버갂 확률을 통일하고 싶거나,점검 때 확률을 유지 싶을 때.. => 로직을 DB로.. 28
  • 천사가 될 필요는 없지맊,정당한 거래를 한다면,우리는 당당하지 않을까? ^^ QA? 29