Vote Reward 개발자 가이드
유저가 ROBLLIST에서 게임을 추천하면 자동으로 게임 내 보상을 지급하세요
작동 방식
1
유저가 추천
ROBLLIST에서 게임 추천 버튼 클릭
2
DataStore 기록
Roblox DataStore에 보상 정보 자동 저장
3
Lua SDK 감지
게임 서버가 주기적으로 미수령 보상 확인
4
보상 지급
유저가 게임 접속 시 자동 보상 지급
Step 1: API 키 발급
- Roblox Creator Hub → Open Cloud → API Keys 로 이동
- Create API Key 클릭
- Access Permissions에서 universe-datastores 선택
→ 해당 게임의 Universe 선택 → Read + Write 권한 부여 - Security에서 0.0.0.0/0 (모든 IP) 추가
- 생성된 API 키를 복사
Step 2: ROBLLIST 보상 설정
- 크리에이터 센터에서 게임 선택 → Vote Reward 설정
- 발급받은 API 키 입력
- DataStore 이름 확인 (기본값:
ROBLLIST_VoteRewards) - 보상 종류와 설명 입력 (유저에게 표시됨)
- 연결 테스트 → 저장
Step 3: Lua SDK 설치
- Roblox Studio에서 ServerScriptService에 ModuleScript 생성
- 이름을
RobllistVoteReward로 변경 - 다운로드한 SDK 코드를 붙여넣기
- 같은 위치에 Script를 만들고 아래 코드 입력:
ServerScriptService/VoteRewardHandler (Script)
-- ServerScriptService에 ModuleScript로 추가
local RobllistVoteReward = require(script.RobllistVoteReward)
-- 보상 콜백 설정
RobllistVoteReward.SetRewardCallback(function(player, reward)
-- reward.rewardType: "coin", "gem", "item", "exp", "custom"
-- reward.rewardDescription: "코인 100개" 등
-- reward.orderId: 고유 주문 ID
local leaderstats = player:FindFirstChild("leaderstats")
if not leaderstats then return false end
if reward.rewardType == "coin" then
local coins = leaderstats:FindFirstChild("Coins")
if coins then
coins.Value = coins.Value + 100
return true -- 지급 성공
end
end
return false -- 지급 실패 (다음 주기에 재시도)
end)
-- (선택) 설정 변경
RobllistVoteReward.SetConfig({
Debug = true, -- 디버그 로그
CheckInterval = 30, -- 확인 주기 (초)
})Step 4: 테스트
- Roblox Studio에서 게임 실행 (Play 테스트)
- ROBLLIST에서 해당 게임을 추천
- 게임 내에서 보상이 지급되는지 확인
- Output 창에서
[ROBLLIST]로그 확인
참고: Studio 테스트에서는 DataStore 접근이 제한될 수 있습니다. Settings → Security → Enable Studio Access to API Services를 켜주세요.
자주 묻는 질문
Q. API 키가 노출되면 어떡하나요?
API 키는 ROBLLIST 서버에만 저장되며, 프론트엔드에 노출되지 않습니다. 만약 키를 분실하면 Creator Hub에서 즉시 삭제하고 새로 발급하세요.
Q. 유저가 보상을 못 받았다고 하면?
SDK는 보상 지급에 실패하면 다음 주기에 자동으로 재시도합니다. 유저가 게임에 재접속하면 미수령 보상이 자동 지급됩니다.
Q. DataStore 이름을 바꿔도 되나요?
네, ROBLLIST 설정과 Lua SDK의 DataStore 이름이 동일하면 됩니다.