메이플스토리 가지고 놀기

요즘 메이플스토리(이하 ‘메이플’)를 재밌게 하고 있기 때문에.. 궁금해서 메이플로 여러가지를 해봤습니다.

게임핵 별로 관심 없기에 패스하고..
몇가지 알아냈던걸 위주로 정리하려고 합니다.

Maplestory API

메이플은 인게임 혹은, 메이플 핸즈 앱에서 사용하기 위해 SOAP API를 제공하고 있습니다.

관련 문의 내용

안녕하세요.
문의주신 URL은 인게임에 제공되는 기능 중 웹으로 구현된서비스를 제공하고 있는 API입니다. (말씀하신 길드게시판 기능 포함)
길드 기능 등이 포함되어 있어 별도로 숨김이나 차단을 하지는 않았고모든 용사님들이 접근할 수 있도록 URL은 오픈되어 있긴 있는데요.
안타깝게도 자세한 역할이나 사용방법은 별도로인게임 내 데이터와 연관되어 있기에 안내가 어려운 점 양해해주시기 바랍니다.
감사합니다… 이만 물러가볼게욥

위 API 목록 중에서는 쓸만한게 별로 없긴 합니다. 몇가지만 정리해보자면..

1. GetCharacterInfoByAccountID

AccountID (int)를 보내면 해당 ID의 대표 캐릭터 정보를 얻을 수 있습니다.

2. GetInspectionInfo

게임점검이 있을 경우 점검 내용, 점검 시간 등의 정보를 알려줍니다.
메이플 핸즈에서도 게임점검 중에 핸즈 앱 사용을 할 수 없도록 하기 위해 사용하고 있습니다.

3. GuildNewBoard 관련

인게임 길드 게시판에서 사용하는 API 입니다.
다만, strEncInfo 라는 토큰 같은게 필요하며, 이 값은 재사용 되기에, 게임에 접속하여 직접 값을 확인해봐야합니다.

대표캐릭터 데이터 분석

2,607,390 개의 대표 캐릭터 정보를 기반으로 그래프를 아무거나 그려봤습니다.

대표 캐릭터 레벨 분포

역시나 예상처럼 10렙 단위로 높은걸 볼 수 있었습니다.

대표 캐릭터 레벨별 인기도 평균치

250렙때 주는 (구)만렙 의자 때문인지, 250 이후부터는 높지만, 중간중간 평균치가 낮은건 250 이상 유저 수가 너무 적어서 그런것 같네요.

대표 캐릭터 닉네임 길이 분포

레어한 2글자 닉네임은 역시 적고, 4글자인 닉네임이 많았습니다.
(2글자로 가능한 닉네임 경우의수가 적으니 너무나도 당연한)

인게임 경매장 데이터

메이플은 경매장 API를 제공하고 있지 않습니다. 또한, 시세 탭은 최근 100개의 정보만 제공하기에, 거래가 많은 품목의 경우 시세가 어떻게 흘러가고 있는지 알기 어렵습니다.

옆동네 게임 -던- 은 API를 아주 잘 제공해줘서 이런 사이트도 나와있는데..

메이플은 경매장 API를 제공하기에는 아직 경매장 렉을 보면 퍼포먼스 이슈가 많은것 같기도 합니다.

그래서 일단은, 주기적으로 경매장 시세탭 정보를 들고와서 DB에 저장해보기로 했습니다.

경매장 대시보드

MySQL에 그냥 데이터를 넣고.. 경매장과 최대한 비슷하게 웹 페이지를 한번 만들어 봤습니다. (돋움 11pt 의 향현, CSS 으악)
만들면서 datatables 라는걸 사용해봤는데 table 정렬 기능 만들기 귀찮을때 편할 것 같았습니다.

이후에는 대시보드에 쓰일 그래프를 어떻게 하면 날먹해서 그릴 수 있을까.. 싶어서 여러 툴들을 찾아봤습니다.

후보군은 총 4개 정도였는데, 이번에는 무료면서 이쁜 metabase를 사용해보기로 했습니다.

  1. https://chartio.com
  2. https://redash.io
  3. https://www.metabase.com
  4. https://github.com/apache/incubator-superset

metabasedocker로도 배포가 되고 있어서 설치가 매우 쉬웠습니다.

$ docker run -d -p 3000:3000 --name metabase metabase/metabase

툴이 DB에 직접 접속을 하고 filter, group by기능을 이용해서 원하는 데이터를 잘 정제한 다음 대시보드에서 볼 수 있게 visualize 하기 쉬웠습니다.

그렇게 완성된 대시보드의 모습

주문의 흔적 아이템은 일요일마다 이벤트때문에 수요가 급증 하는 템인 만큼 0시 부터 1시까지 1시간동안 11,863,310 장이나 거래 되는 모습을 보여줬습니다.

Maplestory 공식홈페이지 정보

메이플 공식 홈페이지에서는 게임 캐릭터 정보를 장비/인벤토리 정보까지 외부인이 조회 할 수 있도록 설정할 수 있습니다.

위 정보를 이용해서, 이 사이트 처럼 DPM 상승을 위해 어느 아이템을 강화하는것이 효율적인지 등, 분석을 진행하는 사이트 제작도 가능합니다.


마치며..

역시 데이터 분석 하는건 재밌습니다. :)

Share