예제 게임 가이드

BackEndHero

BackendHero는 게임을 개발할 때 도움이 될 수 있도록 뒤끝에서 제공하는 예제게임입니다.
므쮸 컴퍼니에서 게임을 제작하였고, 뒤끝 SDK를 사용하여 서버기능을 구현하였습니다. 관련 소스코드는 모두 오픈소스로 공개됩니다.
BackEndHero는 Unity 2018.2.20f1Backend-3.8.3 .NET 3버전을 기준으로 개발되었습니다.

라이센스

마켓 링크

소스코드

유니티 패키지 파일

스크린샷

BackEndHero 스크린샷

포함된 뒤끝베이스 기능

BackEndHero는 아래의 뒤끝베이스 기능들을 포함하고 있습니다.
사용된 뒤끝 기능은 뒤끝의 모든 기능이 아닌, 뒤끝 기능의 일부이며 추후 BackEndHero 예제게임에 추가될 수 있습니다.
뒤끝베이스 관련 기능들은 Assets/Sources/Scripts/BackEndServerManager.csAssets/Sources/Scripts/BackEndUIManager.cs 를 주로 참고하시면 됩니다.

버전관리

  • 게임 버전 관리

게임 유저 관리

  • 커스텀 회원가입
  • GPGS 페더레이션 회원가입
  • 뒤끝 토큰을 이용하여 로그인
  • 닉네임 설정/변경

게임 정보 관리

  • 유저 점수를 서버로 업데이트/다운로드
  • 구매 내역을 서버로 업데이트/다운로드

공지사항

  • 공지사항 불러오기

랭킹

  • 1 ~ 10위까지의 랭킹 및 점수 불러오기
  • 유저의 랭킹 및 점수 불러오기

푸시설정

  • 안드로이드, iOS 푸시설정

게임 캐시 관리

  • 영수증 검증

로그

  • 최고점수를 서버에 업데이트 할 때 서버에 로그 기록
  • 유저가 광고제거 아이템을 구매할 때 서버에 로그 기록

포함된 뒤끝챗 기능

BackEndHero는 아래의 뒤끝챗 기능들이 포함되어 있습니다.
사용된 뒤끝 기능은 뒤끝의 모든 기능이 아닌, 뒤끝 기능의 일부이며 추후 BackEndHero 예제게임에 추가될 수 있습니다.
뒤끝베이스 관련 기능들은 Assets/Sources/Scripts/BackEndChatManager.csAssets/Sources/Scripts/BackEndUIManager.cs 를 주로 참고하시면 됩니다.

채팅서버에 접속/접속종료

  • 채팅서버 상태 확인
  • 활성화 되어있는 일반채널 리스트 받아오기
  • 일반 채널에 접속
  • 일반 채널에서 나가기

메시지 송신

  • 채팅 메시지 송신
  • 특정 유저에게 귓속말 송신
  • 특정 유저 차단/차단해제
  • 특정 유저 신고

채팅 핸들러 설정

  • 입장 핸들러 설정
    • 유저의 입장
    • 다른 유저의 입장
  • 퇴장 핸들러 설정
    • 유저의 퇴장
    • 다른 유저의 퇴장
  • 채팅 핸들러 설정
    • 메시지 수신
  • 귓속말 핸들러 설정
    • 귓속말 수신
  • 오류 핸들러 설정

채팅 추가 기능 설정

  • 필터링 유무 설정
  • 필터링 메시지 설정
  • 도배방지 메시지 설정
  • 자동접속 종료 메시지 설정

같은 채널에 참여한 유저 정보 관리

  • 세션정보
  • 닉네임

예제게임 실행 방법

처음 소스코드를 내려받으면 에러가 발생하여 게임을 실행할 수 없습니다.
몇가지 설정을 해주셔야 정상적으로 실행이 가능합니다.

1. 상단의 깃허브 링크에서 소스코드를 다운받거나 유니티 패키지 파일을 다운받습니다.

2. 유니티에서 해당 프로젝트를 불러옵니다.

3. 해당 프로젝트에서는 TextMesh Pro를 이용하였습니다. Asset Store에서 TextMesh Pro를 다운받아 임포트합니다.

  • API UPDATE 관련 창이 뜨면 No Thanks를 클릭해줍니다.

4. Assets > Scenes의 Game을 엽니다.

5. 뒤끝 콘솔에서 새 프로젝트를 생성합니다.

  • 해당 프로젝트에서 Client App ID와 Signature Key를 발급받습니다. 해당문서를 참고하시면 됩니다.
  • 뒤끝 SDK의 경우 이미 소스코드에 포함되어 있습니다. 별도로 설치하지 않으셔도 됩니다.
  • 콘솔의 좌측 메뉴에 게임 정보 관리 > 테이블 관리에서 score 테이블과 purchase 테이블을 private 테이블로 생성합니다.
  • 콘솔의 좌측 메뉴에 랭킹 관리 > 랭킹에서 새 랭킹을 생성해줍니다. (산출기한 : 기한없음, 랭킹항목 : score, score, 정렬 기준 : 내림차순)
    생성된 랭킹을 클릭하여 상단의 uuid를 복사합니다.
    해당 uuid를 유니티의 하이라커에서 BackEnd Server Manager 객체를 클릭하고,
    우측 인스펙터 패널에서 Back End Server Manager 스크립트에 Rank Uuid에 입력합니다.
  • 랭킹 생성 시 score 컬럼을 선택할 수 없는 경우 게임을 플레이하여 게임정보를 업데이트한 뒤, 랭킹을 생성합니다.
  • 콘솔의 좌측 메뉴에 뒤끝챗을 선택해 뒤끝챗을 활성합니다.

6. 5번 항목에서 발급받은 Client App ID와 Signature Key를 The Backend > Edit Setting에 입력합니다.

7. 실행 시 Debug.Log가 작동하지 않을 수 있습니다.

  • Debug.Log가 작동하지 않을 시 File > Build Settings에서 Player Settings를 클릭하고, Other Settings > Scripting Define Symbols
    ENABLE_LOG를 입력하시면 됩니다.

8. InAppPurchase 관련 기능에서 오류가 발생할 수 있습니다.

  • Sevices 탭에서 새 프로젝트를 생성하고, In-App Purchasing 항목을 ON 시켜준 후 프로젝트를 재시작하면 오류가 제거됩니다.

작동하지 않는 기능

예제게임 프로젝트를 실행하면 GPGS 회원가입 기능, 푸시 기능, 구매 관련 기능, 광고 기능이 정상적으로 작동하지 않습니다.
해당 기능은 구글 및 애플 인증과 유니티 광고 ID가 노출되는 문제가 있어 소스코드만 공개하고 관련 ID는 모두 제거하였습니다.
상단의 표시한 구글 Play Store 및 애플 App Store에서 앱을 다운받아 해당 기능을 테스트 해볼 수 있습니다.
또한 해당 기능은 아래 문서를 참고하셔서 구글 및 애플의 인증을 받으면 개발자분들이 직접 테스트를 해볼 수 있습니다.