Unity 게임을 위한 백엔드

플레이어 계정, 리더보드, 원격 구성, 클라우드 저장, 일일 보상까지 — 하나의 Unity SDK와 하나의 대시보드로 몇 분 만에 준비됩니다.

플레이어 1,000명까지 Free 플랜으로. 신용카드가 필요 없습니다.

모든 엔진을 위한 하나의 백엔드

재시작해도 유지되는 즉시 게스트 로그인을 제공하고, 이후 안전한 웹 페이지에서 이메일이나 Google 계정에 연결할 수 있습니다. 진행 상황도 그대로 이어집니다.

플레이어로그인 방식coins
NovaGoogle1,240
Kaito이메일860
Luna게스트410
RakaGoogle1,975
Mira게스트95
POST/v1/auth/guest
{ "ok": true, "auth_method": "guest", "player": { "player_id": "player_3f9c…", "display_name": "Guest 4821" } }

엔진에 몇 줄이면 충분합니다

플레이어 로그인, 점수 등록, 실시간 구성 읽기까지. 모든 호출은 예외를 던지는 대신 결과를 반환합니다.

Unity
Unity 2021.3 이상용 C# SDK로, async와 코루틴, Starter 씬을 제공합니다.
Godot
Godot 4.2 이상용 GDScript 애드온으로, 오토로드와 에디터 내 설정을 지원합니다.
Web / JavaScript
JavaScript 파일 하나로 HTML5 게임, 웹사이트, Node.js를 지원합니다.
REST API
그 밖의 엔진이나 서버에서는 일반 HTTPS와 JSON으로 사용할 수 있습니다.
using MajacloudSdk;
using UnityEngine;

public class GameStart : MonoBehaviour
{
    private async void Start()
    {
        // Restores the saved session or creates a guest
        var signIn = await Majacloud.Auth.SignInAnonymouslyAsync();
        if (!signIn.Ok)
        {
            Debug.LogWarning(signIn.Error.Message);
            return;
        }
        Debug.Log("Hello " + signIn.Value.DisplayName);

        await Majacloud.Leaderboards.SubmitScoreAsync("coins", 120);
        int damage = Majacloud.RemoteConfig.GetInt("enemy_damage", 25);
    }
}

라이브 게임에 필요한 모든 것

각 서비스는 독립적으로 동작하며, 에디터부터 WebGL과 모바일 빌드까지 같은 SDK 호출로 사용할 수 있습니다.

업데이트 없이 게임을 바꾸세요

모든 변경 사항은 버전으로 관리되고 서명됩니다. 클릭 한 번으로 어떤 값이든 롤백할 수 있으며, 게임은 다음에 구성을 가져올 때 이를 반영합니다.

원격 구성
원격 구성
라이브 버전 14 RSA-SHA256
키유형값
enemy_damagenumber30
player_speednumber4.5
double_xp_weekendbooleantrue
event_bannerstringLunar festival: 2× coins!
shopjson{"sale": 0.2}
enemy_damage 25 → 30복원

모든 플레이어를 파악하세요

재시작해도 유지되는 즉시 게스트 로그인을 제공하고, 이후 안전한 웹 페이지에서 이메일이나 Google 계정에 연결할 수 있습니다. 진행 상황도 그대로 이어집니다.

플레이어
플레이어로그인 방식
NovaGoogle
Kaito이메일
Luna게스트
RakaGoogle
Mira게스트
Nova
player_3f9c…
지갑
coins1,240
gems15
문서
progressr12
settingsr3

클라우드 저장

직렬화 가능한 모든 객체를 플레이어별로 리비전과 함께 저장하므로, 두 기기가 모르는 사이에 서로의 데이터를 덮어쓰지 않습니다.

클라우드 저장
Phone
PUT/v1/cloud/progress
{ "revision": 12, "data": { "level": 9 } }
200"revision": 13
Tablet
PUT/v1/cloud/progress
{ "revision": 12, "data": { "level": 8 } }
409revision_mismatch · current_revision 13

실제 요청으로 디버깅

일별 요청량과 오류는 물론, 모든 요청의 상태, 지연 시간, 요청 ID까지 확인할 수 있습니다.

로그
요청량
7일
요청상태지연 시간
POST/v1/leaderboards/coins/scores20034 ms
GET/v1/config30412 ms
PUT/v1/cloud/progress40921 ms
POST/v1/rewards/claim20019 ms
POST/v1/auth/refresh20018 ms

처음부터 첫 요청까지

  1. 프로젝트 만들기

    가입하고 프로젝트를 만든 다음 프로젝트 ID와 클라이언트 키를 준비해 두세요. Starter 콘텐츠는 자동으로 추가됩니다.

  2. Unity SDK 임포트

    .unitypackage를 임포트하고 Tools ▸ Majacloud ▸ Setup을 열어 키를 붙여넣은 다음 연결을 테스트하세요.

  3. Play 누르기

    Starter 씬이 로그인, 점수 등록, 진행 상황 저장, 보상 수령, 구성 읽기를 모두 보여 줍니다. 필요한 부분만 복사해 사용하세요.

Unity를 사용하지 않으시나요? 같은 백엔드를 다음에서도 사용할 수 있습니다: Godot, Web SDK.

1,240Space Runner
Coins매주 초기화
1Nova12,480
2Kaito12,290
3Luna12,010
4Raka11,840
5Mira11,620
일일 보상+50 받기

기본적으로 안전합니다

게임 백엔드에서 흔히 발생하는 문제를 대신 처리해 드립니다.

  • 시크릿 키는 해시로 저장되고 한 번만 표시됩니다. 공개 클라이언트 키는 로그인한 플레이어를 대신해서만 동작합니다.
  • 수명이 짧은 액세스 토큰, 사용할 때마다 교체되는 리프레시 토큰, 재사용 탐지.
  • 원격 구성은 RSA-SHA256으로 서명되며, 사용 전에 기기에서 검증됩니다.
  • 점수, 보상, 지갑은 서버에서 검증하며, 클라이언트를 신뢰하지 않습니다.
  • 모든 프로젝트에 속도 제한, 일일 할당량, 요청 ID가 포함된 요청별 로그를 제공합니다.
GET/v1/config200
{
  "ok": true,
  "version": 14,
  "configs": [
    { "key": "enemy_damage", "type": "number", "value": "30" },
    { "key": "double_xp_weekend", "type": "boolean", "value": "true" }
  ],
  "checksum": "9c41f0…e27b",
  "signature": "Kq3vR8yJ…Wm0=",
  "signature_algorithm": "rsa-sha256",
  "signing_key_id": "config-v1"
}

간단한 월간 요금제

Midtrans를 통해 QRIS, 전자지갑, 계좌 이체, 카드로 루피아 결제. 자동 결제 없이 원할 때 갱신하세요.

Free

소규모 게임 출시에 필요한 모든 것.

₩0 / 월

 

  • 4,000 API 요청 / 일
  • 1,000 플레이어 계정
  • 1 프로젝트
  • 1 프로젝트당 리더보드
  • 3 원격 구성 키
  • 32 MB 클라우드 저장 공간
무료로 시작

Starter

커뮤니티가 형성된 게임이 성장할 수 있는 여유.

≈ ₩2,460 / 월

루피아 기준 Rp29.000 청구

  • 10,000 API 요청 / 일
  • 10,000 플레이어 계정
  • 3 프로젝트
  • 3 프로젝트당 리더보드
  • 10 원격 구성 키
  • 256 MB 클라우드 저장 공간
Starter 선택

Max

트래픽이 많은 대규모 게임을 위한 최대 용량.

≈ ₩25,340 / 월

루피아 기준 Rp299.000 청구

  • 무제한 API 요청 / 일
  • 무제한 플레이어 계정
  • 25 프로젝트
  • 30 프로젝트당 리더보드
  • 1000 원격 구성 키
  • 10 GB 클라우드 저장 공간
Max 선택

한도는 계정 단위로 적용됩니다. 한도에 도달하면 API가 명확한 plan_limit 오류를 반환하며, 데이터는 삭제되지 않습니다. KRW 표시 가격은 대략적인 금액입니다. 결제는 Midtrans를 통해 인도네시아 루피아(IDR)로 청구되며, 최종 환율은 이용하시는 은행이나 전자지갑에서 정합니다.

자주 묻는 질문

어떤 Unity 버전을 지원하나요?

Unity 6을 포함한 Unity 2021.3 LTS 이상을 지원합니다. SDK는 서드파티 의존성이 없으며 Built-in, URP, HDRP 파이프라인에서 모두 작동합니다.

WebGL과 모바일에서도 작동하나요?

네. SDK는 스레드를 사용하지 않으므로 WebGL, Android, iOS에서 비동기 호출이 작동합니다. 모든 비동기 메서드에는 코루틴 버전도 있습니다.

Godot 또는 웹사이트에서도 사용할 수 있나요?

네. Unity가 주력 SDK이며, Godot 4 애드온과 HTML5 게임, 웹사이트, Node.js 서버용 의존성 없는 JavaScript SDK도 제공합니다. 모두 같은 REST API를 사용하므로 다른 엔진에서도 직접 호출할 수 있습니다.

플레이어가 오프라인이면 어떻게 되나요?

원격 구성은 검증된 로컬 캐시로 계속 작동하고, 게스트 세션은 다음 실행 시 복원되며, 모든 호출은 예외를 던지는 대신 오류 코드가 담긴 결과를 반환합니다.

플랜 한도에 도달하면 어떻게 되나요?

새 항목은 plan_limit 오류와 함께 거부되며, 게임에서 이 오류를 표시할 수 있습니다. 기존 플레이어와 데이터는 그대로 유지되며, 업그레이드하면 즉시 한도가 늘어납니다.

결제는 어떻게 하나요?

플랜을 선택하고 Midtrans를 통해 한 달 이용료를 결제합니다. 같은 플랜을 다시 결제하면 한 달이 추가됩니다. 기간이 끝나기 전에 이메일로 알림을 보내 드립니다.

플레이어 데이터를 조회하거나 삭제할 수 있나요?

네. 대시보드에서 모든 플레이어의 점수, 저장 데이터, 지갑을 확인하고 원하는 항목을 삭제할 수 있습니다. 프로젝트를 삭제하면 해당 프로젝트의 모든 데이터가 제거됩니다.

지금 바로 게임에 온라인 기능을 추가하세요

무료로 시작할 수 있습니다. 몇 분이면 첫 요청을 보낼 수 있습니다.